May 26, 2018, 10:19:27 PM

Author Topic: NBT-MWO Automation Milestone Status  (Read 47229 times)

0 Members and 1 Guest are viewing this topic.

Offline Xavier

  • NBT Administrator
  • *
  • Posts: 1208
  • Karma: 22
    • View Profile
  • Unit: NBT
NBT-MWO Automation Milestone Status
« on: June 09, 2014, 08:15:39 PM »
With a basic architecture in place we can start making real progress towards a functional league automation.   

The first milestone will be basic automation mechanics (unit, resource and battle management), intended to provide a base platform on which (a) to build future functionality, and (b) to run a pre-league tournament, which will also serve as a beta-test of the initial milestone functionality.

The features that will be included in the first milestone:

FeatureDescriptionDatabaseServerClient
User Account RegistrationUsers can register and activate their accountFinishedFinishedFinished
User ManagementAdmin and Unit Leader league/unit membershipFinishedInProgressInProgress
Unit ManagementAdmin add/delete/edit league units, Unit Leader edit unit profileFinishedFinishedFinished
Unit SignupUsers can request open unit slotsFinishedFinishedFinished
Planet ManagementAdmin assign/manage league planetsInProgressInProgressInProgress
Online StarmapView/query public and private planetary informationFinishedFinishedFinished
Forces ManagementAdmin manage which forces (mechs, etc.) are availableInProgressInProgressInProgress
Fleet/Jumpship ManagementAdmin manage jumpship type/availability, Unit Leader purchase/manage jumpships, manage fleetsNotStartedNotStartedNotStarted
Attack/Battle SystemUnit Leader launch/log battles, Admin manage battle limits and can edit/log battlesNotStartedNotStartedNotStarted
Economy/Accounting/Market ManagementUnit funds issuing, forces purchasingNotStartedNotStartedNotStarted
Factory ManagementAdmin manage factory availability/assignment/setup, unit capabilities TBDNotStartedNotStartedNotStarted

"Database" refers to schema and stored-routine work that resides in the database; "Server" refers to work that resides in the NBT REST API; "Client" refers to work that resides in the browser (HTML, Javascript, CSS, etc).

I will update this table weekly as items are completed; valid status is NotStarted, InProgress, Finished. Expect to see database- and server-side items completed in advance of client-side items. At a future date we will set up the automation system on the server and start letting people poke around and try to break stuff, make suggestions, etc.
« Last Edit: August 06, 2014, 10:26:15 PM by Xavier »

Offline Derv

  • NBT Administrator
  • *
  • Posts: 458
  • Karma: 3
    • View Profile
  • Unit: NBT
Re: NBT-MWO Automation Milestone Status
« Reply #1 on: June 11, 2014, 07:43:16 PM »
Lookin' good guys  8)
GRANDIOSE DELUSIONS

Offline Kwea

  • Cadet
  • *
  • Posts: 1
  • Karma: 0
    • View Profile
  • Unit: Headhunters of Davion
Re: NBT-MWO Automation Milestone Status
« Reply #2 on: June 13, 2014, 06:13:28 PM »
We are looking forward to playing it!

Offline (CSA)Fehyd

  • Cadet
  • *
  • Posts: 11
  • Karma: 0
    • View Profile
    • The Adder's Den
  • Unit: Clan Star Adder
Re: NBT-MWO Automation Milestone Status
« Reply #3 on: June 14, 2014, 03:02:09 AM »
Hola Xavier,

As I am sure you are aware the MW community cannot wait to try out the new automation.  Thank you for all of the effort, hard work and time you and the other ADMIN are putting in to make NBT-MWO a reality <S> ;)
Honor and Skill,

Oathmaster Fehyd
Adder Command Keshik "The Light of Command"
(CSA) Clan Star Adder
http://clanstaradder.enjin.com
-----------------
NBTI:CO Clan Star Adder / Clan Jade Falcon
NBTII:CO Wolf Clan
NBTIV-M:CO Wolf Clan / Clan Star Adder

Offline TyGeR

  • Cadet
  • *
  • Posts: 2
  • Karma: 0
    • View Profile
    • http://clanstaradder.enjin.com
  • Unit: Clan Star Adder
Re: NBT-MWO Automation Milestone Status
« Reply #4 on: June 14, 2014, 07:33:54 PM »
CSA can't wait to get going in NBT.  Anything our clan can do to help feel free to ask!

Offline Xavier

  • NBT Administrator
  • *
  • Posts: 1208
  • Karma: 22
    • View Profile
  • Unit: NBT
Re: NBT-MWO Automation Milestone Status
« Reply #5 on: June 15, 2014, 11:52:41 PM »
Update - 15 Jun 2014

* Unit management nearly done (client mostly in place with view/update, still need unit addition/deletion)
* Once unit management is done, moving on to user management
* Once user management is done, can move onto planet management (and will peek at the work involved in doing a WebGL-based starmap, as opposed to the current PHP/GD-based starmap)
* Time this past week limited due to R/L issues

Offline (CSA)Fehyd

  • Cadet
  • *
  • Posts: 11
  • Karma: 0
    • View Profile
    • The Adder's Den
  • Unit: Clan Star Adder
Re: NBT-MWO Automation Milestone Status
« Reply #6 on: June 19, 2014, 02:10:22 PM »
Update - 15 Jun 2014

* Unit management nearly done (client mostly in place with view/update, still need unit addition/deletion)
* Once unit management is done, moving on to user management
* Once user management is done, can move onto planet management (and will peek at the work involved in doing a WebGL-based starmap, as opposed to the current PHP/GD-based starmap)
* Time this past week limited due to R/L issues

Thanks for the update Xavier <S>
Honor and Skill,

Oathmaster Fehyd
Adder Command Keshik "The Light of Command"
(CSA) Clan Star Adder
http://clanstaradder.enjin.com
-----------------
NBTI:CO Clan Star Adder / Clan Jade Falcon
NBTII:CO Wolf Clan
NBTIV-M:CO Wolf Clan / Clan Star Adder

Offline Xavier

  • NBT Administrator
  • *
  • Posts: 1208
  • Karma: 22
    • View Profile
  • Unit: NBT
Re: NBT-MWO Automation Milestone Status
« Reply #7 on: June 24, 2014, 10:07:42 AM »
Update - 24 June 2014

As you can see, Unit Management is done from all angles. Why did it take so long?

When I had started the client portion I basically hardcoded everything on the client for unit management. As I started working on user management, and started essentially duplicating the code I had used for unit management, it became clear that in the long run, it would pay off to factor out as much general code as possible. So I used the unit management client code to create a generic "editable table" "class" ("class" in quotes because you can't really have Java/C++-style classes in Javascript) that can be reused for any tabular type of data (and when it comes down to it, most of the data in NBT is tabular). This should speed up many of the other remaining steps, but it did take about a week to code and debug.

So now I put that to the test with user management, and assuming it goes as well as I hope, I'll get a start on planet management this week as well.

When those three are done I will put up a dev (alpha) site to let the development team see it, start making suggestions, try to break it, etc., while working on the starmap. After the starmap is ready and dev team modifications are incorporated, I'll put up a "staging" (beta, if you will) site with public access and everyone can start beating on it.

It will be important to understand that no one should for any reason expect that the "beta" site is "done" -- that state will be achieved when all of those statuses in the top post go green. I merely want to be able to exercise the systems, as early as possible, in an uncontrolled environment, so I can fix problems before we go live. Barring any additional assistance with coding, I still expect it to be ~3 months or so before all of those statuses go green and the league can be considered "done".
« Last Edit: June 24, 2014, 10:17:25 AM by Xavier »

Offline ShadowWolf Kell

  • Cadet
  • *
  • Posts: 4
  • Karma: 0
    • View Profile
  • Unit: Clan Star Adder
Re: NBT-MWO Automation Milestone Status
« Reply #8 on: June 26, 2014, 01:11:21 PM »
Thanks for all your work on getting NBT back on it's feet!

  :D

Offline Xavier

  • NBT Administrator
  • *
  • Posts: 1208
  • Karma: 22
    • View Profile
  • Unit: NBT
Re: NBT-MWO Automation Milestone Status
« Reply #9 on: July 01, 2014, 07:07:16 PM »
So while the user management still shows two parts "InProgress", it's generally done, except for the user registration part (sending the email, confirming the registration, etc).

I've begun working on the planet management, as well as the starmap. It occurs to me that when I was a unit leader in NBT4/M, I spent gobs of time poring over the starmap, and generally speaking, most everything I needed to do involved that thing in one way or another. As a result, I intend to put the starmap at the front of the bulk of unit member/leader interaction with the automation.

The starmap, by the way, will be implemented using WebGL. What does this mean for users? Nothing unusual...assuming you are using a recent browser version. Chrome 31? Check. Firefox 29? Golden. IE11? Perfecto. IE6, or Chrome 17, or Firefox 3.x? Sorry, you need to get a browser from this decade. I have no plans to implement versions of the starmap for legacy browsers, as all of these options are free and widely available. (FWIW, I am developing the starmap using Chrome 35 on Ubuntu).

Why WebGL? It pushes all of the processing onto the client and off of the server (once the data is transferred, that is). One of the things that always chapped my a@@ trying to use the current starmap was trying to navigate the thing. For 2003, it was genius (in case you are interested, the map tiles were dynamically-generated PNG data, using PHP and the GD extensions), but in 2014, it is unnecessarily clumsy and inefficient. Navigation will be faster, simpler and more intuitive, and we will be able to implement features enabling easier use of the automation in general (for instance, launching battles) using only the starmap, but as mentioned, you will have to let go of your old browser to use it.

(Incidentally, one of the design intentions of exposing the automation strictly as a REST API was so that anyone could bolt whatever frontend they like on it, so if someone doesn't like the WebGL starmap, they will always be able to roll their own).

I expect to be working all this week on the starmap.

Offline Dark DeLaurel

  • Cadet
  • *
  • Posts: 11
  • Karma: 0
    • View Profile
    • Clan Hell's Horses
  • Unit: Clan Hell's Horses
Re: NBT-MWO Automation Milestone Status
« Reply #10 on: July 01, 2014, 08:52:52 PM »
The starmap, by the way, will be implemented using WebGL. What does this mean for users? Nothing unusual...assuming you are using a recent browser version. Chrome 31? Check. Firefox 29? Golden. IE11? Perfecto. IE6, or Chrome 17, or Firefox 3.x? Sorry, you need to get a browser from this decade. I have no plans to implement versions of the starmap for legacy browsers, as all of these options are free and widely available.

I love it! Thanks for all the hard work Xavier!

Offline Xavier

  • NBT Administrator
  • *
  • Posts: 1208
  • Karma: 22
    • View Profile
  • Unit: NBT
Re: NBT-MWO Automation Milestone Status
« Reply #11 on: July 09, 2014, 11:03:49 PM »
So after some fun times with WebGL, matrices and text, I've got the starmap to the point where (a) the planets are all drawn, (b) in the right places, (c) with the right colors from the database, (d) with their names (within certain zoom limits), and most importantly, (e) at good frame rates.

The two main issues I was wrangling were matrices (I went back and forth between trying to do it with perspective and orthographic projection matrices, and in the end, ortho won out due to simplicity).

Text turned out to be more interesting a challenge than I had anticipated. In OpenGL, you have the utility libraries which can draw text for you. In WebGL (which is a derivative of OpenGL ES 2), you don't. What I ended up doing was drawing text in a <div> overlaying the WebGL canvas, and positioning the text properly (with some nifty zoom compensation) using CSS styling. It works surprisingly well, and with some very basic viewport clipping (not drawing text outside the borders of the canvas), runs much faster than I thought it would (on my Ubuntu 12.04 desktop, which is a Core i7 (Nehalem) box with a GeForce a couple of years old, and running Chrome 35. The map can be zoomed and panned.

The rest of this week I intend to add planet "picking" and detail display, and as a stretch goal, region selection with rubberbanding. I'll also get ready to put what I have so far, on the dev server for the rest of the dev team to play with, break, comment upon and make suggestions/requests.

I'll also start posting screens of the bits that are worth posting, and hopefully within the next few weeks, we should be able to put up an alpha that is accessible to everyone, so that you can all get in on the comments, criticism and suggestions. ;)

As I mentioned before, I intend for the starmap to be the primary interface to the automation, at least from the unit leader perspective; figuring where to move things, who you can attack, how to get there, and actually launching battles, are where unit leaders spend the majority of the time in the automation (the rest is mostly spent either logging battles or scheduling them, with the remainder of that spent figuring out how/where to buy more forces with which to fight battles). There obviously are other data better suited for alternate forms of presentation (such as battle calendars and unit listings), but a lot of automation time is spent in the starmap, so I want to make it as useful and intuitive as possible.

Offline PeRRaKo

  • Cadet
  • *
  • Posts: 9
  • Karma: 0
    • View Profile
    • 17th Recon
  • Unit: 17th Recon Regiment
Re: NBT-MWO Automation Milestone Status
« Reply #12 on: July 10, 2014, 05:03:42 AM »
Good to hear that things are progressing nicely, great job!

Looking forward to that alpha testing :)
PeRRaKo
17th Recon Regiment
AKA Camacho's Caballeros
www.17threcon.com
----------------------------------------------
Former:
XO Camacho's Caballeros | NBT-Mercs
XO Castillian Alliance | NBT-HC
CO Castillian Alliance | NBT-C

Offline Kay Wolf

  • Cadet
  • *
  • Posts: 23
  • Karma: 0
    • View Profile
    • Armageddon Unlimited Mercenary Combat Command
  • Unit: Armageddon Unlimited
Re: NBT-MWO Automation Milestone Status
« Reply #13 on: July 10, 2014, 09:08:33 AM »
I read all of that, and it sounds amazing.  Thank you for all of the time you've spent putting it together; it sounds like a daunting task, at least.  One thing I saw was that you intend for the star map to be the primary entry to the remainder of the automation, correct?  So, does that mean when a Unit Commander logs in, the planet their forces primarily reside on will be in the center of the display?  If a unit has multiple worlds under attack or defense at one time, will the map zoom to the extents of the worlds covered, so the Commander can easily select one of those worlds to deal with, and then a re-center button to allow us to return to the original view?  I LOVE the idea of the starmap being the primary entry to the rest of the automation, and I'm no stranger to scrolling and zooming out and in with the maps we've had in the past, but I think, if it could be done, this bit of functionality would be doubly amazing.

Now, let me go find where I might be able to put my unit logo on my posting, hehe.  Ahh, nevermind, it would have to go where my Machine Gun Papa Smurf is.

Offline Xavier

  • NBT Administrator
  • *
  • Posts: 1208
  • Karma: 22
    • View Profile
  • Unit: NBT
Re: NBT-MWO Automation Milestone Status
« Reply #14 on: July 10, 2014, 09:24:21 AM »
I read all of that, and it sounds amazing.  Thank you for all of the time you've spent putting it together; it sounds like a daunting task, at least.  One thing I saw was that you intend for the star map to be the primary entry to the remainder of the automation, correct?  So, does that mean when a Unit Commander logs in, the planet their forces primarily reside on will be in the center of the display?  If a unit has multiple worlds under attack or defense at one time, will the map zoom to the extents of the worlds covered, so the Commander can easily select one of those worlds to deal with, and then a re-center button to allow us to return to the original view?

Those sound like good ideas, and should be straightforward to implement with the orthographic camera. Thanks! :)

Quote
I LOVE the idea of the starmap being the primary entry to the rest of the automation, and I'm no stranger to scrolling and zooming out and in with the maps we've had in the past, but I think, if it could be done, this bit of functionality would be doubly amazing.

Yes, it's this sort of enhanced interaction I am talking about. The old starmap was nice but it was somewhat limited.