This has been heavily updated with a new approach - will aim to get that validated at the upcoming meeting.
2.0 wouldn't be a sequel or anything like that, it is simply another release. Think Firefox/Chrome release approach - could be several major releases in a year, although I somewhat doubt that level of speed since we're still all-volunteer!
On a somewhat related note Launcher v2.0 might correspond with game alpha or beta when module tracking / auto downloading gets ready
Onwards to the edited Alpha MoSCoW with the WOULD section actually being what could wait till Beta (but of course would be great in Alpha if it happens)
MUST
Architecture
Rough goal dates: Alpha by September could be a neat way to celebrate our 3rd birthday, but may be a tad ambitious. Beta sometime next year.
- ALPHA definition = Game is relatively stable from the user's perspective. Most breaking or visually jarring changes that have a user impact should be out of the way when we declare ourselves in Alpha. No guarantee against world-breaking changes still
- BETA definition = Game is relatively stable even from a developer's perspective. Architecture is solid and any breaking back-end changes should be out of the way. Most expected modding functionality in place. Best effort in avoiding further world-breaking changes.
2.0 wouldn't be a sequel or anything like that, it is simply another release. Think Firefox/Chrome release approach - could be several major releases in a year, although I somewhat doubt that level of speed since we're still all-volunteer!
On a somewhat related note Launcher v2.0 might correspond with game alpha or beta when module tracking / auto downloading gets ready
Onwards to the edited Alpha MoSCoW with the WOULD section actually being what could wait till Beta (but of course would be great in Alpha if it happens)
MUST
Architecture
Major breaking changesVertical chunks - in good shapeWorld Gen rework, since we need trees working again after vertical chunks. In progress.Will include some work on updating the AnotherWorld module
Higher level GameType/Mod support
- Headless server improvements
- More command line / config file setup support (seed, modules, world type, etc - some currently working via Gradle)
- We've got a permissions system now, could use a file for declaring admins etc (and/or whitelist)
Ability to load existing worlds
Squish world persistence bugs (not everything is saving right)
- More command line / config file setup support (seed, modules, world type, etc - some currently working via Gradle)
Further work on the asset system to remove AssetType and allow new asset types to be added by modules
@Immortius is working on gestalt-assets-core now
- Camera as a component
- Modules config framework
- Sending events to prefabs
In-game saving / auto-saving / graceful world state in case of crash
- More mature AI system (@synopia is working on a 2.0 of Behavior Trees)
- Behavior trees more usable by mere mortals
- @Florian got a new node working to path around deer idly. Maybe we just need a guide?
- Proper flow from high level goals ("Start a colony") through intermediate targets (gather x, y, and z to be ready) to minimal steps (like BT nodes)
- Some sort of neutral creature brain (like for animals) - started
- Behavior trees more usable by mere mortals
- At least one replayable game type stable - work on others can continue but go stable with beta
- Light & Shadow (needs minimal "competition" element, such as combat + custom terrain gen like the dueling Cities + minor mechanics like painting terrain / flowers)
- JoshariasSurvival (mostly ready, big tech tree)
- Throughout the Ages (is mostly ready - option to add some sort of adversary, like hostile creatures?)
- Master of Oreon (hibernating)
- Metal Renegates (still concept stage with one neat model)
- Versioning & releasing of modules
- Most the footwork has been done here. Very close!
Applet working again (almost there!)- Publishing game download automatically to GitHub
- Gooey v2.0 - integration with Jenkins and GitHub for easier module maintenance
- Better forum organizing (fully implement thread prefixes, for instance)
- Partially done, mainly need to go over existing threads and classify
- Better graphics options in-game
- Some have been done. More requested in #1144
Improved override functionality + verify fully functional (we may already be there).Need to add good examples and doc- Sort out key binding conflicts better (might be same as the MUST on module config)
Proper music director system + official sound track in-game - see #1091, need a volunteer and an incubatorAdjust (most) existing world generators to work with new world gen framework (not necessarily taking advantage of the new arbitrary world height yet)- Documentation. Insert appropriate priority joke here
- More tutorials
- Got initial world gen and inventory/interaction tutorials!
Floating player name tags in multiplayer
- Actual player model for multi (beyond the monkey head)
- Updated block picker (tabbed!) for free-style (getting close)
- Translation framework ? See also the separate thread
- Weblate is now in place for the Launcher, so good progress
- Initial work for using it for the game menu is also set up
- Billboard rendering via BillboardComponent + System.
- Block rework, both on the definition end to be more like prefabs and a review of how they are handled in game (maybe some optimisation).
TeraMath (changing math libraries is a breaking change) - might be done by the time you read this, PR awaiting merge
- Liquids as non-blocks
- Multi-world support
- Prefab improvements around inlining sub-prefabs
- Support for blocks that have different shape/appearance/collision depending on immediately surrounding blocks.
- Support for procedural block textures via tile slot reservation and addition
Mode ZeroDistro Iota setup / packaging / mod tracking site (big separate topic)- Working Distros in Jenkins, need to support in Launcher and improve further
- Sort out supporting / optional module dependencies / enhancements
- Enhance world generators to take advantage of arbitrary height / world surface calculations / other new world gen framework features
- Would be great to get the few features back that we lost in Perlin with the facet refactor
- Code package naming review (not user visible so could wait till Beta - sooner is better though)
- Gestalt (splitting engine into more libraries)
- One done, one in progress, ? more
- Saved world versioning (for offering a way to convert worlds past breaking changes)
- Server console (beyond players being able to use the in-game console - a prompt for the headless server, or at least a capture of CTRL-C to force a graceful shutdown)
- Simple server security (whitelist? Even if you could easily spoof one it's a start)
- Permissions are in place. No whitelist yet and kickUser crashes the server
- Monitoring tools
- Server browser / server stat discovery
- General polish
Last edited: