We use milestones to track large achievements of development. Our GitHub Projects page tracks the individual tasks in our active milestone(s). The milestones are defined below.
Purple - indicates the milestone is completed.
Green - indicates the milestone is in progress.
Yellow - indicates the milestone is on GitHub but NOT in progress yet.
White - indicates the milestone is only be theorized at this point and will be elaborated on in the future as we get closer to it.
Reminder that our milestones are synced with our release versioning for easy tracking, link below.
(We will add GitHub links to the name of the milestones in the list below as they get added to GitHub.)
0.0 - Rework
The rework is the first primary milestone. Its goal is to rework the structure (underlying aspects) of the game (such as networking, tilemaps, character movement, etc.), harmonize contributor guidelines and workflows, and porting over necessary systems.
It doesn't need to be 100% fool-proof because we are very early in development and the UIs will be reworked in depth in the future to look nicer and be consistent.
Port Remaining Secondary Systems. None of these will be a "piece of cake" but they shouldn't be rocket science either. The systems are already made, they just need to be ported over and any new issues resolved.
Add basic SFX & anims:
Fixes for the Rework major milestone.
0.1 - Minimal Viable Product (MVP)
The MVP is the goal to achieve a basic demo-like product to showcase a glimpse of our future game. It should include basic health & combat, crafting & construction, clothing, and shuttles.
Basic Health
Basic Combat
Clothing
Basic clothing system. The belt cannot be put on if the player is not wearing a jumpsuit, and the jumpsuit cannot be removed until the belt is removed first.
Basic Crafting
Basic Construction
Basic construction should be somewhat easy i would think. Its something we have had in the past so maybe could use that as reference, also we have in-game tilemap editor so basically it would just be 'hide the editor from non-admins and add some tool interactions similar to that on the develop branch'
Additional Roles
I agree its not vital but I kinda see these helping with showcasing basic systems. If we have basic health, may as well add a room and clothing and role for it. Bartender represents basic substances, security represents basic combat, assistant represents basic item crafting, engineer is basic construction, captain can 'call the shuttle' to end the round.
Finalize MVP
0.2 - Alpha: Expand The Basics
When we really start to expand systems, add interactions, new content etc..
Basic NPCs
Expand Interactions & Containers
Expand Gamemode & Rounds
Expand Gamemodes:
Expand & Fix Tilemaps
Expand Health & Combat
Expand Health:
Expand Combat:
Expand Crafting & Construction
Expand Item crafting:
Harmonize Clothing & Character Movement
Clothing:
Character Movement:
Polish Gamemodes & Roles
Polish Gamemodes:
Polish Roles:
Expand Lobbies, Menus, Settings
0.3 - Alpha: More Systems
Now adding less core but still crucial systems, and expanding previous systems.
The releasenaming is defined by gamestate.major.minor.hotfix
In which the rules are:
Game State
Refers to the overall state of the game. 0.x.x.x version indicates the game is still in a alpha/beta/pre-complete phase. Once we have reached a point where we have ported over most of the systems and content from ss13, and feel satisfied, we can then move to 1.x.x.x and beyond with new content.
Major
Refers to large milestone. Major milestones are large changes that may span numerous months and PRs.
An example of a major milestone would be several new systems or reworked systems that together make up a large change in how the game feels. Milestones will have their version number in their name. e.g. "0.2 - Milestone Name".
Minor
Refers to small milestones. Minor milestones are usually a single large system or a collection of smaller changes.
An example might be a rework to the health system, or a collection of new content for a couple recently added systems.
Hotfix
Refers to quick fixes post a major or minor release. An example would be a critical bug that was undetected until after release and needs to be quickly fixed.
Any example might be a bug that prevents players from joining and needs to be updated in a release ASAP instead of waiting for the next minor release.
Automated Releases
Soon we will move to automated releases much like many of the SS13 servers and such. First they will likely start off as monthly releases but after we gain a lot of momentum we will eventually move to nightly releases.
These will be registered as hotfix releases. Devs will still be able to push manual releases at anytime for hotfixes as well.