I was previously thinking I'd build some assets that is export ready to drop in and use for core game mechanics. Super flexible building blocks for all my common game mechanics.
User story:.
As an indie developer, I would like to have a complete UI, character controller, npc and hostile mob behavior, inventory and player stat manager, scene manager and scene (map) set of assets for a particular game modality, so that I can drop them into my project with potentially zero conf for quick prototyping of my idea.
Gestalt character controller:
- Detects scene setup (2d, 3d, indoor, outdoor)
- Can answer for what his current config is, so as to allow existing or future components to adjust to accommodate.
Gestalt camera :
Based on scene setup and character setup, it configures itself as a first, third, or strategy camera with toggles between the three types via hotkey.
- At camera view change, fires event to all other gestalt game objects to alert them of change so that they can adjust accordingly.
All gestalt objects:
- Have zeroconf default behaviors to make this object "just work" when dropped in.
- Has a full config panel which is tweakable in editor
- Has its own internal log of internal state changes, what prompted the change, its previous state, and its new state.
- Have themeable look and feel which can be modified by me and third party assets, allowing existing art assets to be made compatible with this object.
- If a compatible asset is imported into the project, the appropriate object detects it and automatically changes to use this asset theme with one click undo and drop down selector to apply multiple options.
- When objects change their states , they fire an event to all other gestalt objects about who they are, what prompted their state change, and what the new state is.
- All logic is written in bolt 2 and is available in c# as well so that once someone puts a gestalt object into their scene, they can modify the behavior either via bolt2, code, or via the the in editor config.
We then sell bundles of objects in the asset store. A base bundle could be:
- Rpg base bundle:
- character controller for single player rpg, iso, and 2d top down visuals (developer can pick and switch between them)
- camera controller to match the character controller
- Follower controller which adjusts visual and behavior to match the character controller
- Rpg stat manager
- Rpg inventory
- Overworld scene
- three dungeons
- gestalt door
- gestalt treasure box
- Gestalt enemy spawner (regional or gauntlet style origin spawning)
- Fantasy sfx, vfx, and music selection
- 3 hostile floating mob types
- one boss type
- Rpg ultimate bundle:
- Themes which apply to all assets — each with "friendly" names such as:
- JRPG, Gen 1 = Final Fantasy
- JRPG Gen 1.5 = Chrono Trigger
- RPG MMO = WoW
- RPG 3rd = Skyrim
- RPG ISO = Dungeon Siege / Diablo
- 12 hostile mobs with optional group team dynamics
- 4 boss types with unique boss behaviors that support mob summons
- Pets, feeding, training, mounts
- Player made houses
- Player made functional blocks
- Multiplayer Network support
- Cloud save support
- Gestalt "offline" persistent player universe support
Reading online — it sounds like what the Makinom.com system is trying to do (and ork framework for rpgs):
- http://makinom.com/features/
- http://orkframework.com/features/
- it looks like they are calling what I consider "game logic" a schematic — so there is a scematic for "simple character control" that they teach a tutorial on
- they flow like I was thinking I'd make mine flow — settings up top — then do your loop logic, check for user inputs, and respond to events.
- I think this is kind of how playmaker and other scriupting engines like it wanted to behave — but without the "physical" game object attached.
- Top Down shooter toolkit (and a lot of other toolkits) also do a lot of the core game logic. The all fall under templates → systems https://assetstore.unity.com/packages/templates/systems/top-down-shooter-toolkit-tds-tk-50777
It also looks like a lot of this is what CoreGamekit is doing — and it is integrated with bolt. So I certainly should buy and eval what it does right and wrong before I build my own.
So the distinct thing that I want to offer is a drag / drop, zero config asset that, when dropped into a scene with all the pieces can zero conf itself into a working game mechanic with zero know how from the user.
But the more I think about it and the more I read up on how others have built similar systems, this is what I've come to.
To build a complex game system which works in multiple cases, is compatible with multiple moving target assets, and which is also bug free enough that non developer "beginner" game developers can use to its intended purpose, I've got to either be an uber genius, or I've got to be uber focused.
So maybe I should just sell something that is unique and fun to build in bolt + c# — such as my camera zoom mechanic:
- fps, to third person, to chase/orbit cam, to strategy cam with unit interaction and comment input based on the mode you are in.
- hotkey to switch between
- or roll the mouse