HeyChinaski

LD23

Can’t wait

This will by my first Ludum Dare.  I’m in the UK and debating whether to wait up and find out the theme at 2AM or go to sleep now and be fresh, rested and ready to start tomorrow.

I’ll probably be using Scala or Java and Java2D as it’s what I’m most familiar with, despite perhaps not being the greatest toolset for making games.  Either way I’m super excited to get started.

Progress

I have a concept and although I’ve not got as far through with the implementation as I’d hoped I thought I’d share my progress.

I have a dude whose flight through space you can control with the wsad keys.  He also aims where your mouse cursor is (although doesn’t shoot yet).  I need to work on adding the core feature of the game next; the part that actually meets the “tiny world” theme.

 

Demo here:  http://heychinaski.com/ld23/game.html (click to focus the applet)

Code here: https://github.com/tom-martin/LudumDare23

 

Day one over

That’s it for today.  I have other commitments until tomorrow morning.  Things are going pretty well, if a little slowly.  You can see from the screenshots the idea is to build a “Tiny world” by collecting space rocks and throwing them together (you have to start with the red one in the middle).  I’m not sure if I’ll get everything done that I want to tomorrow so I may have to scale back my ambitions a bit.

 

Source: https://github.com/tom-martin/LudumDare23

Demo: http://heychinaski.com/ld23/game.html

Finished!

Whew.  That went pretty close.  My internet connection died too so I’m writing this post by tethering to my phone.  I called the game “Astro Gardener”.  I got a lot more done than I expected, (even sound!) but there are a few small things missing/wrong.  The spaceman’s rocket doesn’t leave a trail, I wanted to add trees and power ups, the aliens are too aggressive and there are a few performance issues.  Still I’m pretty happy with it.  It was fun to build and I think it’s pretty fun to play too.

It will perform better if you download and run the jar file rather than play in the applet. Another reason to download is that the aliens are pretty mean so it plays better in full screen as you can see them coming earlier.

Instructions:
Use w,s,a and d to move around. Use the left mouse button to shoot and throw things. The red rock (follow the red arrow) is your seed rock. Throw other rocks at it to create your planet. You can get rocks by destroying meteors (follow the brown arrow). Be careful not to let any meteors hit your planet when it is small as it will break apart. Once a planet is finished you can start another one. A planet is finished by adding five clouds to it. Clouds are added by finding ice blocks (follow the blue arrows, they are only available once your planet is a certain size) and throwing them at your planet. Clouds will cause grass to grow which will earn you more points. The is no end game so the aim is just to get a high score.

Submission: http://www.ludumdare.com/compo/ludum-dare-23/?action=preview&uid=11211

Source: https://github.com/tom-martin/LudumDare23

Web: http://heychinaski.com/ld23/game.html

Download http://heychinaski.com/ld23/game.jar

LD25

First status update

I’ve managed to get a platformer engine cobbled together using Java2D and some code from my last entry (LD23).  Here’s a timelapse of all I’ve done so far:

Status update 2

Here’s some more progress:

So far there’s a simple platformer mechanic and some very crude graphics.  The player plays as a ghost and the aim will be for him to avoid the tourists that are roaming around the old mansion that he haunts.

Status Update 3

ld25screen

I totally redid the graphics (when I should be working on the gameplay mechanics!) and I’m much happier with the way they look.  I halved the resolution of the sprites, it seems you can create satisfactory looking graphics in less time and more easily with a lower resolution.  I also got the key mechanism for dying coded.  As I mentioned previously you’re a ghost in a haunted mansion and if a tourist manages to take a picture of you then it’s game over.  You can avoid this by “hiding” and turning into background scenery (currently a clock, a pot plant or a coat stand) or by jumping over them.

 

TODO:

Allow the ghost to turn the tables and chase the tourists out!

Create different levels

Sound

Music?

More sprites?

BUT FIRST: Sleep, it’s nearly 2am!

Tourist Trap is complete.

ld25screen4

 

Finished!  With a little under an hour to spare.  I got most of what I wanted to get done.  Sound effects, some more sprites (including a goat!) and even some music. I would have like to be able to add a little more visual polish, perhaps some more tiling around the edges of the platforms and some more levels but I don’t think I’d ever have had time for that.  Because there are so few levels the learning curve seems a little steep (the last level is a toughie), it’s difficult to judge these things when you’ve been play-testing them over and over again though.

ld25screen5

 

 

The music is pretty simple and appropriately dirgey for a game with a ghost protagonist. It was my first time making music for a video game as well as using FamiTracker. Despite it’s simplicity and irritating repetitiveness (you can toggle the music with ‘M’) I’m pretty happy with it.

ld25screen7

ld25screen6

I would have also liked to have more varied mechanics in the game, different types of tourists with differing behaviours. Perhaps some switches that open doors. Again this would have been quite ambitious for the time limit.

PS: Now with added goat :) (Check out the hunting trophy)

1goat6

LD26

Can’t Wait

11211-shot0 (1)

Astro Gardener, my LD23 entry.

I’m super keen to get started on LD 26, it’ll be my third entry.  Not quite eager enough to stay up past 3am to discover the theme though.  I guess I’ll find out when I wake up tomorrow and get straight to coding.  I’ll be using Java to build the game and a small library I cobbled together from code in previous entries

11211-shot0

Tourist Trap, my LD 25 entry.

The library consists of a handful of classes to support development of  simple 2d games using Java2D with rudimentary collision management and playing of sound/music.  Of course if I come up with a game idea that the library can’t support I’ll have to ditch it and code everything from scratch. I think it unlikely I’ll be quite so ambitious.   I’ll be coding in eclipse (in Windows), probably using paint.net for graphics plus bfxr for sound and SunVox for music if I get around to it.

My LD 26 entry!

 

Progress

Man I hate it when people complain about the theme but I have to admit, out of the shortlist, this was my least favourite.  I’ve decided to go with a top down driving sim with minimalist graphics.  I’m having a terrible time getting satisfactory physics on the cars (I was aware that this is very tricky but I had no idea it would be this tough).

 

Here’s a timelapse of my progress so far:

http://youtu.be/0SWeT6GqFbE

 

Anyone know how to embed a Youtube video? I thought it could be done by just pasting the link …

Change of direction

I couldn’t get satisfactory car physics together.  I was looking like I’d have to spend the rest of the weekend hacking on it or switch to using a physics library to do it (which would take most of the weekend to learn).  I’ve decided to switch to something far less ambitious.  A side scrolling shooter.

 

The bad guys that you have to shoot are “The minimalisers” and have turned part of the universe into a horrible, minimal line drawing.  You have to push back this “minimalisation” by shooting them down.

screen

 

 

It’s a shame that I couldn’t get the driving game working, I suppose I need to learn more about that stuff some other time if I ever want to use the techniques in a Ludum Dare.  I’m happy that I’ll get something finished by the end of the weekend now though.

Not much to report

screen263

That is to say, I’ve definitely been productive but I’ve lost track of what’s been done.  I’ve definitely added some more enemies, the ship is nicer to control now too.  Oh yeah, and you can die now too!

tridude

New Bad guy

More timelapse.

Pilot & Command is Finished!

Title screen

Title screen

I still need to have one or two final test playthroughs in case there’re any final little bugs but I’m pretty pleased with everything.  I got most of what I wanted done and I think the game is pretty fun to play.  It’s short enough to play through in 5-10 minutes and yet does get challenging towards the end.  It’s possible I’ve made it too hard as I’m so well practised at it from testing.  I often make that mistake.

Boss.

Boss.

pilotcommandscreen

There were a few things I didn’t get around too, although these really amount to polish.  Animation of the ship when moving up and down and a few simple frames of animation per enemy would have made a huge difference to the feel of the game.  Additionally parallax scrolling on the backgrounds, which I found way too tough due to the way I’d implemented the motion of the ship, would have been awesome as well.  I split up the background tiles in anticipation of achieving parallax but it was too fiddly to get in in the last minute.  It would also have been great to have something that aided the player (such as ground tanks) that could only fire when not affected by the Minimalisation.

pilotcommandscreen2

 

 

You’ll need to have Java to play it

Download the JAR file (recommended)

Play the applet (Performs poorly)

Checkout the source

 

 

LD27

A long day

screen

I decided to go with a different technology than my usual Java2D applet game.  I was tired of the performance and sound issues that would always appear at the last minute.

I spent most of the time today trying to implement a platform game using Panda3D but I couldn’t get satisfactory results from the collision utilities.  The camera and the player would jitter all over the place.  The player wouldn’t slide off the platforms nicely, whatever combination of solids I tried.  Perhaps I should have spent more time with the engine before this weekend.  At the very least I could have learned that what I’m trying to achieve isn’t feasible.

Having wasted half the day on Panda3D I switched to javascript and canvas.  This comes with its own issues of course.  Pixel art looks awful when scaled and there doesn’t seem to be a way of avoiding the interpolation that takes place short of prescaling all images.  So I’m using larger vector based graphics drawn in Inkscape and exported as pngs.  You can see the results above.

I am a little behind but I have a working mechanic, working collision, a conceit that fits the theme and I’m fairly happy with the graphics I’ve clumsily cobbled together so far. :)

 

 

Finished

screen1

It’s called “Professor Power and Powerbot”.

I’ve been a bit less communal this time I’m afraid.  Few blog posts, no screen capture and less reading of other peoples posts than usual.  Sorry about that, will make up for it when it comes to rating!

I’m pretty happy with this entry :)  It contains a lot more polish than my previous entries and it’s nice to get away from the pixel art motif I usually end up with.  It seems to chug a bit on a Mac but otherwise it runs fairly well.

It’s all written in Javascript using the canvas element.  I used Sublime Text 2 for editing, Chrome for debugging, Inkscape for graphics, bfxr for sound and Sunvox for the music.  Sunvox was awesome, I hope no one is too annoyed at my clunky music (you can turn it off in the game).

screen2

I made a level editor this time.  It’s one of those things that you think will consume more time to build than it will save but in this case it worked great.  I think it helped with design immensely.

editor

There’s some really tricky and (I hope fun) gameplay in there.  Whilst I’m not a huge fan of HTML/javascript etc. it was great for quickly hacking together the editor.

screen3

Anyway here’s my entry

Here’s the source

And here’s the game.

 

LD28

First post

A little late I’m afraid.  Here’s a screenshot:

 

screen1

The art is pretty poor and the gameplay is really simple.  It’s multiplayer though so it would be awesome if people could jump on and help me test it real quick:

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

Arrow keys and spacebar.  The aim is to shoot each other with the bullet (white square). There’s only one of them.   Aiming is automatic.

I’m using:

Javascript/canvas for the front end.

node for the backend

Sublime text for editing

Inkscape for graphics.

 

Comments

Novodantis
14. Dec 2013 · 21:04 UTC
This is really rather cool!
14. Dec 2013 · 21:08 UTC
Thanks for your help guys! Things I’ve learned:

Progress

I’ve mostly been tweaking the graphics:

This is what it looked like hours ago:

screen1

And now:

screen2

I’ve gone with a gladiator theme.  I’m pretty happy with it.  It’s multiplayer so I’d really appreciate some help testing if anyone has a second:

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

Arrow keys to move, spacebar to shoot (if you have the sword).  Aiming is automatic.

Thanks!

 

Comments

Niqle
15. Dec 2013 · 01:21 UTC
I see a gladiator but nothing else appears to be happening? The graphics are certainly an improvement though.
VoxPlacitum
15. Dec 2013 · 01:22 UTC
Fun. I would put some kind of time limit on holding the sword, just to prevent a halt in gameplay, but the game is sweet. Nice work.
15. Dec 2013 · 01:24 UTC
Thanks guys.
drludos
15. Dec 2013 · 02:07 UTC
Very nice idea and cool graphics!
towerfacehead
15. Dec 2013 · 02:13 UTC
Pretty cool, just played a little bit. Also I think the sword is too hard to dodge, unless of course it’s supposed to be a sure hit. In which case its working perfectly.

Bots

I added some AI players for when there are no other humans online.  The challenge was making them beatable.  I think it’s fairly well balanced

screen3

As always, I could do with some help playtesting:

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.

 

Comments

Johnman
15. Dec 2013 · 13:43 UTC
The challenge is solid. I had trouble identifying which roman dude I was though.

A Crowd. A Shield!

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 :)

Singulus

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