klik99

LD 39

Ready to go

IMG_9162.JPG

First Ludum Dare in 9 years (last was LD12) and my has it grown... Last time I tried super hard mode and did the compo writing almost everything from scratch (except for a physics engine and SDL for cross platform.) This time I want to focus more on the game and so I'm using Unity. Still feels like cheating though...

Is there and IRC/slack chat where people hang out?

Concept

I'm going to try something probably way more difficult than I ought to - a multiplayer game. I've been interested in the io games lately - multiplayer arena games where people join and leave at anytime. There are so many great emergent moments that arise when playing with complete strangers.

They often center around collecting a shared resource in a common area and fighting in various ways over that resource. The best ones have a push/pull relationship with progress. The larger you get, the bigger target you are - so you get a good game experience right out of the gate and the difficulty ramps up naturally as you progress.

It took me a while to think how this could work with the theme of 'running out of power' - running out of power implies to me some kind of defensive mechanic, and I was trying to imagine somehow hoarding your energy and protecting it with traps, but couldn't think of a way to make it relatively simple to grok through playing. What benefit would the player have to hoard? I thought maybe you have a limit to how much you could hold, but then what happens when you progress higher? Does your limit increase?

The key insight I had to simplify it is to use the 'power' you collect to convert into another resource, which you can use to build new things. Having to put the power into a machine that mines another resource gives you incentive to leave your 'cave' to collect power, return to charge the machines, and build traps to protect them.

I have no idea if this will work, but it'll be fun to give it a shot.

Engine finished!

So I went into this LD deciding to focus on game play instead of building out some fun tech.

But... I just can't help myself.

I've ended up making a super lightweight entity-component system (not a 'pure' system like the one described on t=machine but an object based one like unity/unreal) in typescript with pixi wrapped in a react app. Components are loaded async onto the actor, so you can instantly load and manipulate an actor even if assets aren't done loading yet. I'll probably make the async even more robust by requiring event driven interaction with components, which will pave the way really nicely for the network component.

Even if I don't get my game finished, this is a very cool base for doing 2d webgl games.

Feel free to check it out here (as of writing this is appropriate as boilerplate, but very barebones) https://github.com/abeck99/sunhunter

In a Jam now

I'm going to have to switch to the jam - - too much wasted time on things like getting hot reloading working (over 3 hours!).

This is my first time making a game in javascript, and there are so many gotchas about working with it. I suppose the same is true about C/C++ but at least I KNOW what those gotchas are. One big plus - putting your settings on the window and using dev console in chrome to tweak without having to make a UI!

Right now I'm working on the 2d physics - everything is a box and I'm just partitioning space into bins.

The dynamic level loading is working (the map stretches on infinitely). Things are starting to feel good, and it works well with serializing state so it should be a small step to push it across the network.