I made a simple room based level generator for Infested Zone. It is heavily inspired by the generator in Spelunky.
Here's how it ticks.
In the handy dandy CSV format. The first line designates the type of the room, which sides it contain doors (openings) on and if it can be rotated or not.
Room Base 1 1 0 0 r
w,w,w,w,.,.,w,w,w,w
w,l,w,w,.,.,w,w,l,w
w,w,.,.,.,.,.,.,w,w
w,w,.,.,.,.,.,.,w,w
w,w,.,.,.,.,.,.,.,.
w,w,.,.,.,.,.,.,.,.
w,w,.,.,.,.,.,.,w,w
w,w,.,.,.,.,.,.,w,w
w,l,w,w,w,w,w,w,l,w
w,w,w,w,w,w,w,w,w,w
Extremely easy to setup in LibreOffice Calc with conditional formatting,
Likewise easy to implement in Unity. Just read the file and split lines with comma as the separator.
(I'm not going to bore you with code)
A multidimentional int array, nothing else is needed.
Just pick a random corner. No safeguards here.
Random walk: pick a random direction, keep track of positions already visited, back up if surrounded by walls or visited positions, stop if goal reached otherwise repeat. A recursive function works well here.
This results in all sorts of paths. At worst the whole grid is filled, but usually gives a pretty straight forward path. The random walk can be skewed towards the goal position by weighting the direction choosing part (I'm not doing this as you can see in the gif below)
Making sure the doors match. Other than that the rooms are completely random. This is where earmarking each room with its doors comes to great use.
The randomization can be weighted or otherwise limited here if the results looks silly. Rooms with less doors seem to work pretty well as they don't mess too much with the path.
Done deal!
The room database is the saving grace here. No need to worry about invalid connections or silly shapes as the rooms are authored by a human designer. Rotating them adds a surprising about of variation too and the FOV system hides the grid like shape of the level pretty well.
My game Endless Assault submitted.
Not as juicy as i was hoping, but had fun making it and I learned a bit more about unity's lighting and particle effets so overall ok.
I had grand plans for 1st Kajam: https://alakajam.com/post/235/a-la-kajam.
How did it turn out? Well, I managed to get a game out, and there is some polish to it, but nowhere near to what I had in mind.
It seems working on a game for a month or so is much harder than working on a game for just a weekend.
It was a pleasant experience anyhow, so no regrets.
I've been distracted by some other games. My attention span for making games isn't very long, so I lost interest in the project for the Kajam pretty fast. ._.
Distraction #1(making a pokemon game from the ground up):
Distraction #2(messing around with perlin noise):
https://twitter.com/DaFluffyPotato/status/928466402633232386
Distraction #3(making an online co-op shooter roguelike):
https://twitter.com/DaFluffyPotato/status/929481927756861440
I don't think these long game jams are a good idea for me, I switch projects constantly, so it's hard for me to actually care about a single project for that long. There have only been 3 games I've made that I never lost interest in developing for more than a month, and I've been making games for 4 years. 48 hour game jams are perfect for me though! ^-^
I'm looking forward to the next Alakajam! and I'll probably see some of you during Ludum Dare #40.
This is where I stopped on the project(also in my last post):
Finished early. Sure enough could spend more time on polish, but other projects are awaiting so better cut it here.
Here's the repo for the metaball effect.
Audio is more or less in at the moment; I've only started on graphics. Should be able to hack something passable together this week.
EDIT:
Just finished the first and second levels. There will be an actual enemy in the third level though.
(older post)
Now that I've finished my level editor, I've started working on the actual game! ^-^
I needed a break from my main projects and there were a few ideas in the back of my head I've been wanting to try out. Here's the result so far (needlessly big gif, after the jump.)
Exploring some cool tech:
Coming along. Not put much effort into graphics yet as you can see.
The last few days have been quite productive! I've been joined by @YO0oo0OY on sound design, who already sent cool assets. With particles, screenshakes, short flashes and tight sounds, the game already feels rather juicy!
I still have to finish the art (enemies are still red squares…), once this is done I will mostly have to make the rooms more varied and interesting, while addressing performance issues (for now the whole maze is generated on launch instead of being streamed). Not mentioning the twist ending I'd like to do…
I'm keeping a GIF album updated as I work, and here is the latest entry:
I just finished shaders. They look a bit ugly, but I'll change a few things to make it look better. :P
The player will be the main light source in the actual game. The spores(being shot) will also light the way. The in-level lights will be pretty rare, but I think I'll adjust their light range to be larger.