Ludum Dare 33
Coming August 21st-24th!

Ludum Dare 32 Results
See the winners!

About HeyChinaski (twitter: @HeyChinaski)

Entries

 
Ludum Dare 32
 
Ludum Dare 30
 
Ludum Dare 29
 
Ludum Dare 28
 
Ludum Dare 27
 
Ludum Dare 26
 
Ludum Dare 25
 
Ludum Dare 23

HeyChinaski's Trophies

Hacker Newser
Awarded by udo
on August 29, 2013
The 7-Way Tie Award
Awarded by JesterBLUE
on January 9, 2013

HeyChinaski's Archive

Zombie Splash City Post Mortem

Posted by (twitter: @HeyChinaski)
Monday, April 20th, 2015 5:57 pm

Another Ludum Dare, another game.  Zombie Splash City is my first fully 3D game and I’m pretty happy with it.  To conduct this post mortem I’ll start with:

What I felt went well:

:) three.js+Javascript

For the most part three.js is real easy to use and an awesome library.  I’ve been using it for some time now so it was easy to get stuff working quickly.  I’m starting to really enjoy coding in Javascript too.  It’s not my favourite language but I find it’s dynamic nature makes it easy to put in those last minute hacks necessary during a game jam. The only gripe I have is that I forgot that mousemove events in  Chrome and Firefox still (it’s 2015!) work differently so my game doesn’t work in FF.

:) Visual style

The blocky, pixelated aesthetic maybe cliche but I’m really happy with what I acheived. It underscored a rule  of thumb I’ve learned from doing LDs.  Keep things simple and stylized with limiting constraints such as low res, low poly, simple colors etc. You’ll find that not only are assets quick to make when time is short but if you get it right they may even have some charm to them.

:) Gameplay

I’m mostly happy with the gameplay.  The central mechanic is strong and fun (although perhaps not perfectly balanced, more on that later).  The addition of the antidote came later but it really improved the game. I feel the end game where you’re healing the zombies is really satisfying and, once you’ve healed enough to be safe, feels like a reward for your hard work.

The way that the buildings fade out so as not to obscure the action is nice.  It’s a technique I’ve been using in another game I’m working on and it’s pretty cool.

:) Coding

 

The code itself is awful but I used, created and stumbled on some techniques I’m proud of.  The fading out of the buildings I mentioned is one.  The random generation of the buildings uncovered a core mechanic, the claustrophobia of the alleyways in between, particularly when you absolutely have to venture down them to find an antidote.  Not having time/motivation to work on a HUD based in HTML or a 2d Canvas uncovered the idea of putting the player’s health, pressure and antidote above his head.   I think I actually prefer this to a HUD (although it may take some time for a player to figure out what each of them mean).

You’ll notice that every so often the zombies fade out. It sucks that the player sees this but it means I could reuse zombies to continue the onslaught of new zombies as you moved around the level.  While there are only ever 100 zombies in the game I think it often feels like a lot more.

Now what didn’t go so well:

:( Time Wasting while thinking of an idea

I spent a lot of time (hours) at the start trying to come up with a better idea than this one but it didn’t come.  I didn’t really like the theme much and felt uninspired.  However after it was obvious nothing better was coming along I should have just stuck with the idea I had.

 

 

:( Time Wasting on asset creation and toolchain

goodDudebadDudeI initially tried to create much more ambitious 3D models that were less stylistic and more realistic/technically accomplished.  This was a bad idea for two reasons.  Firstly I am not a 3D modeller, neither do I aspire to be or practice becoming one.  Not only did it take me a long time to model, rig and animate a more human-shaped character in Blender but it looked terrible on top of that.  Add to that the fact that I’d done no preparation on how to export animated, textured models from Blender to a three.js project and the whole endeavour was a big waste of time.  This also meant that I gave up trying to import even my crude stylized models and ended up plotting all the vertices in all the models (including UVs!) by hand in the code. This was incredibly time consuming (although incredibly fun at first).  I need to remember to both be more modest with my graphical ambitions next time (particularly if I’m creating in 3D) and to better prepare with regards to my toolchain.

:( Polish and balancing

I quite like the way the game is balanced although I don’t think it’s quite right for most people.  The water gun could be more effective and therefore more satisfying to use.  It’s difficult to avoid making it too overpowered though. A friend suggested making it have more range but have the pressure last for less time.  This may have worked but some have suggested the pressure is already too shortlived.

I would have loved to include music in the game but didn’t have time. Creating halfway decent music quickly is a skill I need to practice.  Some of the sounds in the game are the first time are the first time I’ve ventured from just using bfxr and recording my own voice in Audacity.  Some of them have a certain charm but others are muffled, partly because I rushed this process at the end of the 48 hours and partly because I’m am terrible at enunciating.

I would also have loved to have spent more time on the procedural generation of the city. I wanted to include cars, fire hydrants, lamp posts, real pavements and a sane road layout. A main driver for choosing this idea was to have explored this kind of stuff more.  Unfortunately this was probably ambitious even without all the time I wasted.  Happily though the shonky random layouts I came up with generated the alleyways I mention previously :).

Thanks for reading

So in conclusion a lot has been learned, some poured into this game and some hopefully I can take into the other games and game jams.  If you’ve read this far congratulations on your patience. I figure most LD post mortems are only read once by the original author (if that!). What are you doing here? Go Play Zombie Splash City!

 

11211-shot1-1429492494.jpg-eq-900-500

Zombie Splash City

Posted by (twitter: @HeyChinaski)
Sunday, April 19th, 2015 8:51 pm

Zombie Splash City is finished.  Play it here.  You play as a street cleaner who is the only one to escape infection during a zombie outbreak.   You must find the antidote whilst repelling zombies with your high pressure water gun.  Once you’ve found the antidote you can heal the city’s populace.

Made using three.js, Sublime Text, Gimp, Audacity and bfxr.  Enjoy :)

“Water”

Posted by (twitter: @HeyChinaski)
Saturday, April 18th, 2015 4:40 pm

Now you can spray water at the zombies. I’m thinking the water in the gun/hose will be a limited but replenishable resource.

Made a start

Posted by (twitter: @HeyChinaski)
Saturday, April 18th, 2015 10:26 am

Going for a zombie chase game. Next step is to add the unconventional weapon.  I’m considering some kind of water gun that repels the zombies but doesn’t kill them.

I’m using three.js.

Progess

Posted by (twitter: @HeyChinaski)
Sunday, August 24th, 2014 11:09 am

Along with a scoreboard and lives I’ve now got a little ticker that tells you which planets you have rescued:

out

The spiders chase you down if you get caught in their web now:

stuck

Sometimes you can get away … :)

If you have any ideas for planet names leave them in the comments (I don’t think that would be against the rules?!)

 

Death by Giant Space Spider

Posted by (twitter: @HeyChinaski)
Sunday, August 24th, 2014 7:27 am

out

Ouch!

 

Nearly a game!

Posted by (twitter: @HeyChinaski)
Saturday, August 23rd, 2014 9:11 pm

out

Now you can shoot at the cobwebs to free the planets.

Spiders!

Posted by (twitter: @HeyChinaski)
Saturday, August 23rd, 2014 6:38 pm

out

Well, squares :) They’ll look like spiders soon …

They’re floating around connecting the planets together.

Getting stuck

Posted by (twitter: @HeyChinaski)
Saturday, August 23rd, 2014 5:14 pm

out.gif

I’m pretty much done with the collision detection.  You bounce off the planets if you hit them and you can get stuck to the “cobweb” holding the planets together.  Up next, giant space spiders 😮

Connected

Posted by (twitter: @HeyChinaski)
Saturday, August 23rd, 2014 11:11 am

out

 

Now the worlds are connected 😀

 

Still a long way to go before this resembles a game though.  Collision next (bleugh).

A start

Posted by (twitter: @HeyChinaski)
Saturday, August 23rd, 2014 9:40 am

out

My progress so far :)

I suppose it’s going to be a space game. The circles are the “connected worlds” (although they aren’t connected yet).

Tools I’m using:

  • Javascript + canvas
  • JustMath vector library
  • node-webkit (For the sake of compatibility, although there’ll probably be a browser version too)
  • Sublime Text 2

Miner Matter

Posted by (twitter: @HeyChinaski)
Sunday, April 27th, 2014 6:53 pm

I did it! I turned the simple physics concept into a game! I’m pretty happy with this one.  The pace of the game is a lot slower than I originally planned.  It’s pretty hard to have things all your own way when it comes to physics libraries.  The game is pretty fun, I think. It takes a lot of patience to keep the carts from spilling everywhere but you can’t go too slowly as there is a timer on each level.

 

titleOpt

The graphics turned out OK.  I think they’re a bit grungier than I would have liked but our hero is down a mine after all.

hoorayOpt

I didn’t have time to add a lot of polish I would have liked:

  • A roof to the mine
  • Support struts
  • Sparks while braking
  • Other minecart trains whooshing around in the background
  • Parallax scroll
  • Any sound whatsoever

But that is always the case when I enter LD :)

endOpt

 

Here’s the submission page if you want to try it out

 

Placeholder art

Posted by (twitter: @HeyChinaski)
Sunday, April 27th, 2014 7:11 am

Spent the morning plumbing in images.  All placeholder for now.  I should really start with images from the beginning rather than just drawing primitives.7

Still need someone to drive this crazy minecart train! And something to put in the carts …

 

progOpt

I’m in

Posted by (twitter: @HeyChinaski)
Saturday, April 26th, 2014 8:52 pm

Started a bit late (about 10 hours ago) but I’m in.  I’m going for a minecart game where the aim is to traverse the bumpy mine rail road without spilling all the gems you’ve worked hard to mine.

sixOpt

I’m using Java with Java2d and JBox2d.  I’m also using engie, a small 2D engine I wrote in Java for doing LD entries.

I’ve spent most of the time so far (literally hours) optimising and tuning the physics.  If I’d imagined it would have been so time consuming I perhaps would have hacked together my own sketchy physics code, although perhaps that would have taken even longer.

Building the terrain from splines and then converting it into discrete concave polygons for JBox2D was a fun challenge.

crashOpt

I guess I’m pretty behind schedule.  There’s still no art whatsoever so I’ll have to slap something together pretty quickly tomorrow.  Then there’s actually building in a win condition and tuning the level difficulties.  First – sleep!

Singulus

Posted by (twitter: @HeyChinaski)
Monday, December 16th, 2013 3:31 pm

screen4

I didn’t make a post last night when I finished so here’s one now.  Singulus is finished and I’m pretty happy with it.

There is Only One sword and Only One shield to be shared around the gladiators.  You use the arrow keys to move and space to fire.  Aiming is automatic, it locks on to the nearest player.

Click Here to Play It and the entry is here.

The gameplay is simple but quite fun andthe graphics aren’t too bad.  The sound is pretty basic (bfxr) and I couldn’t find the motivation to make some music despite having plenty of time.  Perhaps next time if I’m better practised with the right tool I’ll feel more inclined.  It’s just always an afterthought for me during LD.

Perhaps I could have tweaked the gameplay a bit more (size of the arena, speed of the players etc.)  I’m not sure if it’s optimal as it is.  Some people complain that the sword is too hard to dodge although I have to say that is the point.  The aim should be to get another player between you and the guy with the sword or grab the shield to protect yourself.

I achieved things a few things that I’d never done before with this game:

Made a networked multiplayer game. 

I used nodejs for the server and communicated with the client via websockets.  There’re a lot of things I probably did wrong technically.  For example the network messages are very inefficient and there’s no client side simulation so when there is lag the game just freezes up.  However the result is a reasonably playable game.

There’s also no limit on the number of players.  I’m not sure how the game would play if a lot of people joined at once.  It seems like 4-6 players is about the optimal number.  Thanks so much to everyone who helped playtest the game over the weekend.  It’s hard to work solo on a multiplayer game so the few times people volunteered their time to help me test were very useful.

Made some AI well balanced and smart enough to substitute for human players.

I knew when I started that a multiplayer game would be tricky because there often wouldn’t be enough people online playing it to be enjoyable.  I didn’t think I’d be able to make bots which wouldn’t either be so smart that they were unbeatable or so dumb that they’d be a walkover.  It seems like you always get one of these extremes when building AI.  However these guys seems pretty well balanced.  It’s lucky the bots worked out because I discovered playing with less than 3 people is pretty dull.  Now the bots make sure there are always at least 3 “players” at once at all times but they log off again once there are at least 3 human players.

Here’s the link to Play It Again

 

A Crowd. A Shield!

Posted by (twitter: @HeyChinaski)
Sunday, December 15th, 2013 10:27 am

I fixed some bugs and added a crowd to watch the gladiators.  I also added (only one) shield.  As long as you hold the shield the sword can’t hurt you.

screen4

 

It’s multiplayer so you can help me playtest it here:

http://www.heychinaski.com/ld28/game.html

Move with the arrow keys, fire with the spacebar.  The aim of the game is to grab the sword (You Only Get One) before anyone else and fire it at another player.  Aiming is automatic. First person to a score of 5 wins.

Make sure to click on the canvas to give it keyboard focus … need to fix that :)

[cache: storing page]