Make My Day...
M.C. Play Testers
The Wiki Bar
- Jun 20, 2014
Major Command Roadmap
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 1STAGE 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
- Detangle and isolate the various components - in progress
- Place each component in to it's own separate container - in progress
- Create new code so MajCom can run from these new containers
- Get a new server to have a clean start - completed
- Configure the new server to run all of MajorCommand's containers - starting
- Migrate all the separate containers to the new server
- Test the new site, and test again
- Switch the live site from the old server to the new one (may require downtime)
- Decommission the old server
STAGE 2STAGE 2 is where you will start seeing improvements and changes as players. These fixes and improvements will be the most visible.
Please note that even if something in STAGE 2 is marked completed, it can not deployed until STAGE 1 is fully done.
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.
Section 1 is the game engine. It is basically the everything to do with the game.
# The new game engine
- Fix the assorted bugs and issues that have been identified
- fix zero troop bug - completed
- fix why some games won't load - starting - (temp fix, post games here - broken games)
- Fix assorted issues with the new engine
- properly contain the services
- collect error messages using an analysis system
- Improve the stability of the database tables
- Discontinue user service (TBD)
- Make the engine stateless (TBD)
- Extract the engine mechanics code
- Implement RabbitMQ
- Implement the scoring system (requires RabbitMQ) - in progress
- Implement the medals system
- Implement the tournaments
- Implement diplomacy
- Implement email/turn notifications for players - starting
- Set up conditional access for users based on
- membership status
- games/maps/settings - played/won
- Replay past games at the action granularity level (TBD)
- Implement engine statistics gathering
Section 2 is the map section. This is only about uploading and creating new maps.
# New map management
- 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
Section 3 is the website. This is about the look, feel, and functionality of the website.
# UI (User interface)
- Find someone with frontend HTML5/CSS3/PHP skills to work on the UI
- Fix current issues in the gameplay area
- very long list of issues and improvements
- Rework the site interface
- Bring the UI to a common visual standard across all pages
I hope this give everyone an idea of where we are, and where we're going. This is will be updated whenever something changes.