Comment on page
The progress bar of Space Station 3D.
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.)
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.
- Add testing framework, structured logging, playmode & client tests.
- Fix various basic bugs and networking issues like joining.
- Harmonize maintainer practices like asset and PR reviews.
- Document existing systems in the code (not sure what systems need this..)
- Port google docs for existing systems to gitbook (Interactions & radial menu, Rounds, Lobby/Server)
- Add new gitbook docs for existing systems (Gamemodes, sprite generation, stamina)
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.
- Add guidelines for adding UI. Use less hardcoded UI.
- Convert any current UIs to new standards.
- Fix numerous bugs
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:
- Bike horn
- Locker door?
Fixes for the Rework major milestone.
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.
- Item replacement. Used for many basic crafting tasks. ex. cutting cheese - Using a knife on a wheel of cheese replaces it with 2 half wheels, using the knife on a half wheel of cheese replaces it with a quarter wheel of cheese, doing so again replaces the quarter wheel of cheese with 3 slices of cheese.
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'
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.
- Basic UIs for gamemode - "You are the traitor!" text for starting antags.
- Basic UIs for round start - "Welcome to the Station Crew"
- Basic UIs for round end - "The shift has ended. [inset sentence describing the end of the round, like the nuke exploding or crew escaping on shuttle]. The antagonists were: [insert antagonists names and success status]."
- Add basic shuttles for ability to escape (end the round without the nuke going off). The shuttle should be called via someone using the command console.
- Proper admin controls - only admins can access the admin controls page. An example of an admin function is the in-game tilemap editor.
- Add game settings?
- Add server settings?
- Lobby chat?
When we really start to expand systems, add interactions, new content etc..
Expand Item crafting:
- Item construction. Used in more advanced crafting tasks. (Usually uses object replacement to start the process) ex. crafting a stunprod - (based on TG) Using cablecuffs on a steel rod, replaces it with a stunprod with all the internal objects disabled except the rod and wires. Using an igniter on the stunprod will delete the igniter and enable the internal igniter inside the stunprod prefab. Repeat the process but with a powercell and you now have a stunprod with all the internals enabled. The order for adding internal objects shouldn't matter if they are not dependent on one another. The cablecuffs and steel rod would need to be first in this case because they get replaced into the incomplete stunprod but the powercell and igniter are not dependent on each other so the order they get added after does not matter. Also, each internal object can be removed again using tools so you can fully disassemble your murder weapon after the crime.
Now adding less core but still crucial systems, and expanding previous systems.