RE-SS3D / SS3D

Space Station 3D, another remake of SS13, but with an extra D.
https://ss3d.space/
252 stars 139 forks source link

Proposed Playtest Procedure #891

Closed LittleKachowski closed 1 year ago

LittleKachowski commented 2 years ago

Introduction

Recently there was discussion about how we should go about creating functional builds of SS3D. In terms of testing and the merging of game mechanics, I think it's extremely important to start small and incrementally expand the game from there, focusing solely on the absolute necessities first. It is important to note that these early builds of the game SHOULD NOT be freely downloadable to the public as a beta test. These are for developers/artists/select people to stress test the game and make sure it functions properly before we can even call it a game. Allowing anybody to play the game during early phases will inevitably have people judge it before it's done, which can harm interest and support for the game.

Below is MY proposed approach to integrating the game mechanics. I do not wish to speak with authority over CentCom, however I hope I can at least provide some advice in an attempt to make the implementation process more efficient and effective.

Phase 1: Utmost Essentials

This should be the very first playable build of the game that exists. The bare essentials of the core gameplay loop need to be present here:

The number one thing that needs to be 100% finished is the ability for the round to both start and end itself based on certain factors. The playtesters should be able to authentically join the game through a client and not through Unity playtest functions. The round also needs to be able to end via escape shuttle. The shuttle itself doesn't need to be fleshed out, but the mechanics of calling it, arriving, departing, and docking need to correctly end the round. For testing purposes, the time it takes for each of these to happen can be reduced to a couple seconds. This will allow developers to immediately start accommodating anything in SS13 that has to do with joining the round and ending it. Latejoin doesn't require an arrival shuttle, they can just spawn in the station.

The station itself doesn't need ANY decoration or functioning parts. It can be a small room with a button and maybe some tools for fun. The button would be the shuttle call button. Pressing it again would recall it. There would be no authentication or access, it just calls the shuttle.

Nobody in this phase would have a role, and there would be no antagonists. This would merely serve as proof that our game has start and end states, and everything can flood in from there.

Phase 2: Antagonist Functionality and Objectives

This stage of game testing would do the following things:

This phase cements the second most important part about SS13, the antagonists. While technically things like health and construction are more core to SS13, getting the antagonist functionality done first allows us to simultaneously monitor how antagonists interact with those systems from a gameplay perspective.

To correctly test that traitor objectives work, we need to prove that it can choose from a list of possible items and correctly track whether the traitor has stolen it. We can test this by having 5 or so possible items that the game can choose from, and the traitor is given three to steal. When all are stolen when the round ends, and the objectives are marked as completed, we will know that we have functioning traitor objectives. This gives SS3D an attainable win condition and proves that the core gameplay loop is now complete.

There are still no other roles as they are not needed, and the station is still essentially one room.

Phase 3: Health and Combat

This is where the time between builds would become increasingly substantial as the workload increases.

After the previous phases have been completed, we should work on merging health and combat. These likely cannot be added at the same time, but they should be the next steps. Before working on Phase 4, the following should be completed:

Health systems being implemented first allows weapons, medicine, body functions, and other systems to be efficiently worked on. We can test their effects on the body and adjust them accordingly. Combat can be balanced and adjusted based on the input from playtesters. Health and Combat are the two most exceptional systems in SS13, and as such I feel it's extremely necessary to get it right before all else.

There are STILL no roles, because again they aren't needed for testing at this stage. We can have weapons and medicines for testers to grab freely based on what testers are doing. Game balance, flow, and RP are still not the focus, so we don't have to worry about implementing access, jobs, or security.

Phase 4: Construction and Atmospherics

After Health and Combat, the last two major systems to be added would have to be Construction and Atmospherics. Construction is a thoroughly complex system, which will require extensive testing and adjustments. We'll need to test the performance of a player having half-built constructions on every tile of the station, as well as fixing any exploits that can be abused. We could also potentially implement destructive explosions in this phase to test how the station reacts to damage, and also how well repairing a spaced room works. I'm currently unsure if we should also implement a method of power production, or if power should be infinite at this stage.

Atmospherics needs to be assured that all of the corresponding effects the various gasses have on the body and environment are working properly. Plasma needs to be ignitable, NO2 needs to incapacitate people, low Oxygen needs to suffocate people, etc. I'm not extremely well versed on Atmospherics, so I trust that someone else would better know how to test Atmos.

Phases 5 to ??: TBD

This is where we're just about done with the major components of SS3D's mechanics. From here, developers and artists can begin independently working on SS13 polish and minor systems, expanding the game as they go. Chemistry/Bartending, Cooking, Virology, Genetics, Cargo, Mining, and Security can be easily tested and iterated now that the background elements have been put in place. Player Inventory, UI, and Storage can be finalized and polished at this stage. This may be a great time to finally allow the public to play the game. It's very possible that at this stage, SS3D could explode in popularity and even have populated servers before the game is done.

Final Thoughts

As I'm not a contributor by any substantial degree, I encourage developers and artists to deconstruct and iterate on my outline to better suit the true nature of SS3D's development. I'm sure you guys would know about it more than I would. All I want to do today is to have the initiative to finally put forth a plan for making SS3D a playable game.

Given where we are in development, and the way I outlined my procedure, I think it's actually possible for us to begin work on Phase 1 extremely soon. Once we can do that, we'll be well on our way to creating something incredible.

waffielz commented 2 years ago

how are you planning to do ship movement?

LittleKachowski commented 2 years ago

Prior to Phase 5, it won’t and will simply teleport and become part of the station much like current SS13.

On Tue, Apr 5, 2022 at 7:09 PM Waffielz @.***> wrote:

how are you planning to do ship movement?

— Reply to this email directly, view it on GitHub https://github.com/RE-SS3D/SS3D/issues/891#issuecomment-1089555629, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVUZVG4FCDZRHIYQMLD3R53VDTI45ANCNFSM5SD5Y7NA . You are receiving this because you authored the thread.Message ID: @.***>

cosmiccoincidence commented 1 year ago

(Adding this here because I'm removing from official documentation but don't want to lose it.)

Old roadmap to a playable round of SS3D (Traitor Gamemode)

Step 1 [Redesign] v0.3.96

Step 2 [Primary Systems] v0.3.97

Step 3 [Secondary Systems] v0.3.98

Step 4 [Conent] v0.3.99

Step 5 [Pre-Alpha] v0.4.00

cosmiccoincidence commented 1 year ago

We have updated our MVP roadmap here; and since most of the discussion relating to this subject has been done on Discord, I'm going to close this issue.