NewSheriffInTown
Make My Day...
CentCom
Awesome Player
M.C. Play Testers
The Wiki Bar
M.C. Youtubers
- Joined
- Jun 20, 2014
- Messages
- 3,609
Major Command Roadmap
UPDATED: August 10 2023
This is the roadmap we have right now.
This roadmap is dynamic and will continually change as we progress.
Things will be added, and some things may be removed. So this should always be considered just a guideline as we move forward.
I will try to keep it as up to date as possible.
I have added a preface to each section to help explain it better.
This is the roadmap we have right now.
This roadmap is dynamic and will continually change as we progress.
Things will be added, and some things may be removed. So this should always be considered just a guideline as we move forward.
I will try to keep it as up to date as possible.
I have added a preface to each section to help explain it better.
STAGE 1 - completed
STAGE 1 is the most essential step to complete - we can not deploy anything from STAGE 2 until STAGE 1 is complete.
The current website is a bit of a tangled up mess, so in order to make changes without breaking something, we need to untangle everything, and separate the various components in to their own separate containers. Because everything is tangled up, then if we change a bit of code with one thing, it may inadvertently and unexpectedly affect something else.
It's like taking a jar of mixed jelly beans and separating all the colors in to their own container. That way if we change something with the red jelly beans, we know it won't affect the yellow ones.
# Untangle and isolate the various parts of Major Command - completed
- Detangle and isolate the various components - starting - in progress - completed
- Place each component in to it's own separate container - starting - in progress - completed
- Get a new server to have a clean start - starting - in progress - completed
- Configure the new server to run all of MajorCommand's containers - starting - in progress - completed
- Create code so MajCom can run all these new containers - starting - in progress - completed
- Migrate all the separate containers to the new server - starting - in progress - completed
- Test the new site, and test again - starting - in progress - completed
- Switch the live site from the old server to the new one (may require downtime) - starting - in progress - completed
- Decommission the old server - starting - in progress - completed
STAGE 2 - in progress
STAGE 2 is where you will start seeing improvements and changes as players. The fixes here will be the most visible.Once we have done the separation, we can work on the various parts of the code, without fear of breaking unrelated sections of code. So far there are 3 areas of code that we need to work on. MajCom is made up of a lot more than just these 3 areas, but to start with, these are the sections we will focus on first.
# The new game engine: Is basically everything to do with how the game works.
- MAJ-01: Find and hire a new developer to help with backend programming - starting - in progress - completed
- ENG-04: Implement a schema versioning mechanism with Flyway - starting - in progress - completed
- ENG-30: Engine resolution schema and gateway access methods - starting - in progress - completed
- ENG-31: Resolve the engine HTTP endpoint when proxying a request - starting - in progress - completed
- ENG-12: Update the engine details on service startup - starting - in progress - completed
- ENG-07: Engine resolution schema and engine access methods - starting - in progress - completed
- ENG-23: Create an endpoint to retrieve the rank that matching a score value - starting - in progress - completed
- ENG-18: Engine continuously restarting due to duplicate actor names - starting - in progress - completed
- ENG-25: Expose legacy score endpoint - starting - in progress - completed
- ENG-50: Separate the GameMap from the Game - starting - in progress - completed
- ENG-35: Search maps should be dynamically loaded from the database - starting - in progress
- ENG-42: Materialize the game state after each action
- ENG-44: Load game from materialized version
- ENG-43: Unload game when doesn't need to be in memory <-- This should stop the "games not loading" issue
- ENG-45: Gateway-only resolution of the game engine
- ENG-11: Implement the scoring system
- ENG-46: Replay game actions
- ENG-47: Improve error handling
- ENG-48: Improve bootstrapping code
- ENG-49: Make the engine stateless
- ENG-51: Load single copy of each map version
- ENG-40: Engine statistics
- ENG-41: The chat shouldn't be modelled as a game action
- ENG-39: Game tournaments
- ENG-38: Medals
- ENG-52: Multiple engine support
- ENG-53: Implement system health checks
- ENG-54: Game diplomacy
- ENG-55: Create a more compact game map representation
- ENG-21: Deploy the fix to the bombardments
- TEC-01: Implement email turn notifications for players
# UI Upgrade: This is about updating the UI (User interface) from the old php to modern Angular
- Find and hire a company to work on the frontend and UI - starting - in progress - completed
- Rebuild UI: beta tab, game page, login page:
- Create a mock-up of the current UI - starting - in progress - completed
- Rewrite UI in modern framework like Angular - starting - in progress
- Identify data needed to make UI functional - starting - in progress
- Create new API endpoint needed for each component using Laravel - starting - in progress
- Rebuild UI: scoreboard, profile, settings, clans, etc
- Create a mock-up of the current UI
- Rewrite UI in modern framework like Angular
- Identify data needed to make UI functional
- Create new API endpoint needed for each component using Laravel
# UI Issues: These are specific issues in the UI.
- when joining a team game, popup to choose team shows below screen - completed
- after joining any game, map thumbnail always changes to mini - completed
- when there are a lot of players in a game, the names go offscreen, names should word-wrap to a new line. - completed
- game page needs refreshing every 20 or so seconds if no action is taken - completed
- clock shows wrong time when changing tabs
- chat does not refresh when new messages appear
- remove annoying blue box appears when map if first loaded, covers clock
- show clock on game brief
- show game number on brief
- turn player's names to hyperlinks to profile page
- surrender button
- organize map troop colors
- TBC
- Implement a way to upload new maps
- Implement a way to define map settings and special features
- Implement a UI for map makers to manage their maps from the frontend
I hope this give everyone an idea of where we are, and where we're going. This is will be updated whenever something changes.
Last edited: