Just want to share some advice for #gamedev#indygamedev on developing your complex project using a spiral method.
So the principle is this:
1: Make a tiny game.
2: Close game loops.
3: Circle back, grow levels, add features, add variation, polish.
4: repeat 3 until you run out of time.
Okay, picture a zelda like 3rd person game with costumes, characters, monsters and six biomes each with a boss.
Start by making 1 character that can use 1 costume and 1 weapon. There is 1 enemy. 1 pick up. A spawn point, an exit door.
Make a your huge sprawling biome like... twenty meters across, tops.
Link up all your tiny, empty biomes with a spawn and an exit point, and one monster sat in between.
You are done.
Now, here is the important bit...
Now, close the game loop completely.
You start at a crappy menu.
You make a new game and name it.
Your new game has save slots.
You pick a character from a menu of 1.
You spawn in your first tiny biome.
You can save.
You have a score.
You die, you restart.
You can use exits.
This is the core game loop, my advice is close it asap.
Make a tiny empty game, but that has the loop closed. This is the centre of your spiral.
Yeah, yeah this is all the boring stuff. You wanna get into the cool shit.
Stop, make this teeny empty but complete game loop. This is the core of your spiral, and all the cool shit depends on this being solid.
Once you get the underlying structures in place, your spiral can start to grow.
Time for some level art? Cool- do a small section of one level (a vertical slice) to lock down the look and feel.
Then, do all of your levels/biomes as quickly as possible.
Now each biome has a different skydome and terrain texture.
Circle around again and get the basic structures you need done for each. Maybe do one monster for each.
Circle back around. This time add more assets, start filling out the levels.
Go around again...
By doing this you NEVER RUN OUT OF TIME to put a level/biome in... you run out of time to polish and add variation and interesting custom parts.
By using the spiral method, you ship the game in a finished form... but not as detailed and polished as you may have liked.
Strong foundations, and then working in passes from most important to least important. The spiral method.
Now I KNOW that my zelda clone needs a few cool items, weapons, monsters, some bosses, boss keys and a final boss fight to finish the game. If I can get in at least this stuff, and make it fun, the rest doesn't matter.
Past a point it is all gravy.
Make a small, complete game first. Then keep on circling around building on it and you will always have a finished, releasable game.
You can buy me a coffee if I just saved your ass. X
Oh, and that small biomes thing is important. If you are spending a tonne of your dev time just running your little character between areas... make the areas small until you are ready to pad it out.
Remember, if your basic gameplay isn't fun, no amount of costumes, monsters or tree variations you add on is gonna help one bit.
Plate > protein > vegetables> gravy > fucking... I dunno... gold leaf or special smoked sea salt or whatever...
In that order.
Now when I say "make one character with one costume and one weapon" I mean make:
Structure for character (my name, player, what mesh, what costume? What inventory? Which save file?)
Structure for inventory (list)
Structure for costume. (What's my mesh, texture, icon?)
Items:
Default noob sword
Default costume
Rupee
Boss Key 1
Characters:
Linky McLinkpants
Monster:
Skeleton
Boss:
SKELETON SCALED WAY UP
By getting your structures set up early, you just need to populate them with assets. This is where greybox comes in. Don't make amazing assets first, make quick placeholders. The art catches up to the game dev, the gamedev never waits for the art.
Now, this is also important. For each biome, use blueprints/prefab placeholders specific to that biome.
So, if I have a basic wall asset with a texture and I reuse that on all levels, I make a separate prefab for lava level wall, ice level wall, dungeon level wall...
But for now I use the same art thrown in all.
This means when I update the prefab with the new art, it propagates through my biomes updating all instances of it. But it leaves the others alone.
Again, the spiral principle applies to those wall assets. I can make one set of wall prefabs and build the whole level.
Coming back, I now replace some of those with variations. I add new door types, new door sockets, new trees, new lamps.
Slowly the biomes begin to diverge and you get sub regions forming. Upper dungeon, lower mouldy dungeon, dungeon crypt... that one bastard room with the jump scare...
And so forth.
You go from:
Boring and empty... but done
Less boring, less empty... but done
Okay, a bit empty... but done
Interesting and a bit empty... but done
Interesting and populated... and done.
Interesting, populated with some memorable custom features... and done.
Interesting, populated, memorable with little hints of lore and backstory... and done nicely.
Using a spiral method you don't get lost in all the complexity and face a daunting wall of tasks you need to "finish" the game.
You don't sink work into trivial things and run out of time on the important things.
You can reign back the scope without losing work done.
If the shit hits the fan, you can salvage what you got as long as the core stuff is covered.
There are over 100 armours in Breath of The Wild.
If there where 40, you would still have bought it.
If there where 20, you would still have bought it.
Doom eternal had around 30 types of demons each with variants.
Did I stop playing after the core loot drop mechanic shit me to tears?
Yes.
Did I see all the monsters?
Nope.
You don't need a bazillion hours of play filled with unique hand crafted assets to make players happy enough to A) buy your game B)be happy enough to recommend it and C) buy DLC and merch.
You do need a fun, polished game that isn't too repetitive.
Obey the spiral.
Hope that helps.
As always, I use this crazy thing called currency to pay a nonsensical concept called rent, where this old guy keeps the home I live in but I help him pay for it.
Okay some further advice in reply to a few comments:
Prototyping a game is different to this- get some gameplay in asap and find fhe fun. Once you have a good feel that it is the way to go, create a copy of the prototype or a clean project and build your core.
It is smarter to put in a minimum number of biomes in and subdivide those sets into sub biomes than aiming for a large amount of biomes.
My advice is you need at least 3 visual biomes to gives players a sense of progression... a beginning, middle, end.
This is a production method, your preproduction should be exploring and finding what your game is and what the priority of features and assets is.
The spiral comes in production, and helps you focus on what is fundamental, and deliver a game no matter what slippage happens.
Working with assets can also mean setting up an art pipeline where important components are made first, that can then be used to make variants.
For example, making a base human, boots, technology components, stone components, symbols iconic to the game and so forth.
A little preproduction can help identify what parts you will need, and from there you can make a library of parts to use later. Again, this can be done in a spiral, making passes of completing the base set, making some core assets with it, then going back for variation.
If you look at your schedule, it should look something like this.
Preproduction
Prototype
Pitch demo
Vertical Slice
Core loop
Core assets
Secondary gameplay features
Secondary assets
Tertiary gameplay features
Tertiary assets
Variations of assets
Polish
Core is absolutely vital. Your player ship, health pack, lasers, bombs, enemy, boss, menus.
Secondary is depth. Start with minimums- three weapon pick ups, three bosses, three core enemy types, shop.
Tertiary is detail. Ship skins, enemy visual variations, backgrounds
So Flappy Bird is an example of a purely core game.
Temple Run had secondary aspects with trap variations as you progress.
Stardew Valley is an example that went heavily into secondary and tertiary realms, with unlockable areas, hidden features, tonnes of dialogue etc
If you cannot finish making a Flappy Bird, you cannot make Stardew Valley.
Make sense?
Game development is a marathon and you cannot see the end of the track from the starting line.
Worse, the race track isn't marked.
But you MUST reach that finish line.
If you are at home, making your game my advice is this:
Once you finish prototyping and have a fun little thing going...
Close your game loop.
Put in your persistent game state stuff (there are some solid pre-made game save assets on unity store worth the money)
Put down everything you want in the game into a spreadsheet. Put an entry in for each location, weapon, item, enemy. You can be vague
ITEM Food A - apples
ITEM Food B - bread?
ITEM Food C - bin chicken?
ENEMY A (Rushy bitey thing)
ENEMY B (turret)
Now add a column for priority.
Break down your assets into importance, with 1 being core.
My advice go up in 100s
1 core
100 strongly want
200 want
300 would be nice
400 pure fap
Etc
The hundreds let you add smaller order increments later
Now you can sort your spreadsheet into passes.
If you do every task with 1 next to it, your game is a closed loop and is playable.
(Incidentally this bit alone should be great fun, feel smooth and want you to want more)
Making an ASSET LIST is a vital tool for the entire team. I have talked about it before but here is the gist.
An asset list is a spreadsheet started in preproduction with every asset in your game in as close to specific terms as you can.
It won't be exhaustive, but close.
The asset list has many uses.
1. Scope. It makes you realise just how many bloody things you need to make.
2. Scheduling. It can be used to approximate time needed and staff.
3. Strategising. Artists can plan which items need to be built first and what can reuse parts.
3b) tech artists can identify what tools are needed to make a pipeline that can produce the required assets.
4) cataloging: giving each category a code and an official name can keep everyone on track.
ITEMGUN002 | Shotgun | (link to asset folder)
If all that sounds horribly restrictive, it is and that's the point. It stops you daydreaming and over promising.
However as I said, it isn't exhaustive. Artists should have wiggle room to make a few extra assets and variations, and game designers should have room to change.
But you model that in with FAT.
You start with sketching it out
Ice level
Becomes
● Icewall (about 10?)
● Ice bridges (modular, so some caps, middle sections, have broken state DESIGNERS DO WE NEED DYNAMIC BREAKING?
● Ice blocks (snow top shader?) (Rock versions?)
It could go on steam, and you can rescue Zelda from Ganon. Done.
But on top of this we the add villagers, bosses, more enemies and of course chickens.
But the deeper we go, it becomes variations and rounds the game out.
These tutes based on the decades I have suffered through the games industry bullshit are all free, but if you are a lovely person you can treat me to a coffee (or more likely miniatures here.)
All our fantasy media focuses on stories of the strong protecting the weak, heroes seeking justice for our society, heroes being brave and self sacrificing, the power of friendship and teamwork, the horrors of dehumanisation.
Why do so many 'fans' miss the point?
Star Wars is about standing up to totalitarian authority. Choosing love over hatred.
Star Trek is about a future of peaceful collaboration across the universe. Of self betterment and understanding others not like us.
Marvel and DC heroes are literally social justice warriors. They don masks to protect people.
I used to plan out adventures meticulously, but that DOES NOT SERVE THE PLAYERS.
Prep for me is having all the pieces for an adventure ready to use with whatever the players throw at me.
Some plot ideas.
Some maps.
Some items.
Some npcs.
A list of random names, mannerisms, visual hooks and adverbs that I can use to pull stuff out of my butt
Everyone seems nuts over french toast, with vanilla, sugar and syrup. But I grey up on savoury eggy bread (it was called gy**y bread then).
Just eggs, milk and lots of salt. It's a completely different experience.
I have no idea where the association with eggy bread and travellers came from in the Southend region. Is it a Roma dish? Does it come from the Irish travellers (Pikey)?
I don't really know anything about the Roma side of my family, other than it was covered up for being socially unacceptable. I am pretty sure that attitude meant any cultural aspects were buried as well- so what little trickled down through my family traditions I have no idea.