Please enable JavaScript.
Coggle requires JavaScript to display documents.
DemolitionX Jam [Project Process Planning] - Coggle Diagram
DemolitionX Jam
[Project Process Planning]
Game Design
TODO:
The entire game design
(The most important part of the project)
~ Sounds:
Menu music
Menu screen transitions
Background soundtrack
Game start
Game end (& time running out)
VP sound effects
Environment sound effects
Voice-over for events during the match
Voice-over for game story/intro sequence
Graphics & Models & Levels:
3D models of vehicles: at least 5 cars, possibly some bonus vehicles
Modular, must support the specification of our VehiclePhysics script
(Communicate with MV Nihal for details, there isn't a public specification yet)
Relatively low-poly to allow high mobile performance, optional high-quality variants
Arena levels (at least 1)
Large enough to host both small and large matches (100 cars)
Ramps, props, hazard events that can destroy cars
Must prevent cars from easily getting stuck
Supporting cinematic effects, template animations like cars entering the arena
[Wireframe mockups, sketches, color palette, textures, images]
UI screen transitions including menu
UI interaction, animation transitions
HUD visualization of vehicle status, and also the player/match status
[responsive design, versions for PC and Phone]
UI for match lifecycle events, like displaying the player scores, winner...
Display of hovering tooltips/names/status for objects/players
(needs further design discussions to choose the best approach)
Touch-screen controls, various alternatives to choose from menu
Vehicle customization options:
Modular/parametrized components (incl. colors/vinyls)
Garage scene, and it's integration with components:
VP, Lobby, Player Storage (local/remote)
Intro sequence video, advertisement video materials and artwork
Development
VehiclePhysics:
Black-box, no specifications
of extensibility or maintainability
Wheel colliders, frictions etc. (likely different than Tork)
Collision system (only trigger collision once, calculating score/dmg)
Score system
Component detaching & deforming on impact, displaying damage
Single-player gameplay, simple vehicle AI (can be used as Bot in MP), later ml-agents AI
Option to host a local server, and to connect to a custom server IP - private matches only, no DB users
Menu and UI scripts:
Login screen
Car lobby screen, user account settings
Gameplay transitions
Multiplayer
Mirror framework
NetworkPlayer: syncing health/score, displaying events...
NetworkVehiclePhysics:
Collision synchronization
Connection issue handling using realistic car physics
Actively syncing inputs/transform, resolving conflicts, anti-cheat
Game Match Loop: timer & events & constraints for the single arena match, started and managed by server after matchmaking
Back-end
DB with users and their data
Currently SQLite hosted by Mirror Server
[Task assigned by Shrek
=> requires further reporting]
[May be implemented as a RESTful Java Spring App]
Player profile & customization & account progress & items/consumables
DevOps
CI/CD using GitHub Actions and making Release
Deploying new version of the server
Automated tests per commit, executing linter rules
Require finding a proper server hosting for development purposes
~Meta~
Every aspect has a pipeline:
Specify as a game design idea
Brainstorming (mechanics, dynamics, aeasthetics)
Concept candidate idea (what should be in the game)
Plan of implementation (decide on code logic, libraries...)
3b. [Blocker: unable to form a plan]
Quick prototype, MVP (committed to repository)
4b. [Blocker: unable to implement]
Prototype accepted, game design matches
Implemented using scalable architecture
Solution reviewed & approved by 3+ members
Code reviewed with perfect understanding
by 2+ core project contributors
Solution tested and integrated w/ other modules
Covered by automated tests
Internally documented for new contributors
Exposed as an individual open-source module
Done
~~ Every [code] task will have a current status (Asana?)
Front-end portal
Web page that integrates back-end (user login, registration, score, leaderboard)
Deployed in cloud
Fan page - news, mailing list, logo, project roadmap...
Developer-facing page, open source initiative - transparent code, collaboration
Motivating new players who have any experience to join the team for two-way benefits
(including bonuses in-game, or a percentage promise from project earnings over some interval)
Matchmaking, Server Rooms (list, create join), Match configuration
Game Loop client-sided & communication with server-sided parts
~ Business:
Currently no [reward structure] plans that I know of.
The project is open-source (Apache), so there's no downside for any contributors; you keep everything you help with, and even more.
We don't have any members experienced in marketing, accounting, or shipping games and predicting costs/profits, so we can't afford random expenses just yet; this may easily change in the future.
Other than officially being a contributor, we of course plan to adequately reward any help in the future depending on its impact; if you aren't experienced enough to be productive, any activity should at least help you power-level your skills until you are.
~ Process status
(I'm (scsc) ready to enable Agile once we have basic multi-player, backend, UI, and DevOp, in a stable state, and once there is ANY game deisgn plan written, so that we can predict and assign tasks - every sprint would have a user story and so on)
~ Texts (i18n & l10n), simply extracted as strings and using a format like JSON to enable translations (community-driven with rewards for contributors)
~[Game Design] Meta ~ Pipeline (first idea, not final)~
Design goal -> Specific design choices to resolve any ambiguity -> Looking for missing points -> Listing all individual features -> Abstracting and enumerating all development targets -> Preparing user stories -> Creating backlog of Asana tasks for every sprint