HuvaaKoodia

HuvaaKoodia #138

Joined 10 months ago

Bio

Entries

Latest posts

HuvaaKoodia

Despite the rough start managed to pull everything together in the end.
Once again had an hour for music and something came out! Brilliant.

Try it here

Tough week coming up. Reviewing Alakajam entries on the side won't hurt, right?

HuvaaKoodia

Lazy bones me, got to work late on an overly complicated design and had to scrap it…

Restart yielding some results. Will keep the interactivity extremely simple, more time for graphics and audio.

HuvaaKoodia

My second project as an independent interactive-digital-media developer is out and has been for a week.

Try the demo here!

Haven't been able to take part in Kajams due to work, work, work. The Artificial Intelligence one would have been fun, but alas. At least I had time to play through the entries now.

Looking forward to the 3rd Alakajam! Not skipping it for any reason.

HuvaaKoodia

My first project as an independent interactive-digital-media developer is finished.

is a pausable real-time light-tactics single-player competition.

Try the WebGL demo

Here



Cheers!
PS. Project 2 has begun!

HuvaaKoodia

Couldn't quite work as much today, but eventually everything important got in. More polish and tweaking sure could have been a benefit, but right now I don't really care.

Do give it a look if spaceships in space fighting a space war sounds like your kind of thing.

HuvaaKoodia

Briefing and debriefing prose are in. Also tweaked the numbers quite a bit.

Music and testing. That's the last two tasks. I don't think I need a menu for this one.
A name is needed though, I'm not that great at coming up with those. Tomorrow will tell the tale of that then.

HuvaaKoodia

As the title states progress was made and here's the report.

Music, a bit of tutorializing and some tweaking are needed. Other than that this here deal is pretty much done there already.

HuvaaKoodia

Started late. Spent yesterday evening and this morning thinking about the theme and finally, reluctantly at first, settled on an idea. An idea I've had for a while, but never got around to it. Might as well now. See if you can figure it out from the picture.

Unlike in cookie-cutter, streamlined, scifi-strategy competitions and simulations; here light speed in the vacuum, the universal speed limit, plays a big role. You sitting at the iron throne on Tisias will receive information from the other systems after a delay. The same goes for commanding your ships outside of the capitol system. Each order will take years to even get to the fleet!

Now will you excuse me, I have to get the ships actually moving…

HuvaaKoodia

Hello you, I’m HuvaaKoodia; we might have exchanged words in the past! Didn’t have time for Kajam last time (and probably not this time either unfortunately) due to putting together my plan for this year. In short, I’m going independent (Exciting times!) making multiple 2 month solo project from scratch. Mostly for fun, maybe for profit?

Here's the devlog at TigSource for the first project.

Just so that this doesn’t become all about self promotion, I’d be interested in hearing your opinions on interactive digital media. I’ve tried to explain it here the best I can, yet the only way to see if it sticks is to throw it at people. Written from a developer angle, keep that in mind.

Cheers.

HuvaaKoodia

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.

The generator

1. Create a room database

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)

2. Create a 5x5 grid

A multidimentional int array, nothing else is needed.

3. Set one of the corners as the goal

Just pick a random corner. No safeguards here.

4. Find a valid path from the center to the goal using random walk

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)

5. Add a valid sequence of rooms to the path

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.

6. Add random rooms to other positions.

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!

Conclusion

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.