LD22 December 16–19, 2011

Post mortem: Volcanox

Volcanox was a lot of fun for me. Although a programmer, game development is not something I normally do. Additionally, it was also a test of the programming language MoonScript. I wanted to see if I could write a game in my own programming language.

The results, I thought, were pretty good. By the end of the competition I had something playable. I even had time to write music and insert sound effects.

If you haven’t played the game yet, you can do so here!

The Process

For this project I started with plain LÖVE. I figured I could get a foundation together. Even before the theme was announced I was pretty certain of making a platformer. It’s something I’ve never done before but I implementation ideas in my head. The first night was all writing collision detection code and movement. This was the one thing I was certain about writing, so I plowed through it. I even had time to write a map loader

I implemented an algorithm called Uniform Hash Grid, which let me subdivide my collidable objects to reduce the number of checks per frame. This worked very well, I was able to create a huge map with no impact to runtime performance. (It had a little load time though, which I think I could improve if I had more time.)

My map loader just loaded a bitmap where pixels represented collidable tiles. I did this to avoid having to use any real map editor tool. In my code I assigned colors from the map image to be actual tile sprites. This was my first map:

From there I just added gravity, and assigned a jump button and I had a working platformer.

I spent some time fooling around with ideas. I wrote a basic particle system which I later used for all the shooting effects.

The next day, after waking up I decided to tackle something I thought would be very hard, drawing sprites. I put together a simple (and awful) animated player sprite:

After that though I kind of lost sight of what I wanted to create. I had a working system, but I didn’t know what kind of game to create. I  got lazy and went out to a coffee shop with friends. I think this was unavoidable because I needed time to think. After that I decided I would have shooting and enemies so I started coding bullets. I added minor things and created a tile set. Things were looking okay but I still didn’t have a game mechanic.

On the last day the name Volcanox finally came to me. I coded up until 1 hour before the deadline adding simple game features like title screen, and winning and losing conditions. I added one enemy and wrote the AI. I had no experience writing something like that so it came out very unnatural. I decided that because the game was so simple, I would make the enemy spawning very aggressive. This actually made the game (annoyingly) hard. I expanded the map to make it huge and have lots of enemy spawners.

Here’s the final map: (yes that’s a volcano)

The last hour I rebooted into OSX and recorded some music on my keyboard, and quickly got some sound effects out of bfxr. I submitted my game at exactly 6pm.

The final submission’s source code is on GitHub.

Review of MoonScript

Part of this project for me was testing how well MoonScript would work for game development. MoonScript is a language that compiles into Lua. It’s a slimmed down syntax that adds a lot of sugar. Things like classes, list comprehensions, and a lot of other useful stuff. It works great with LOVE.

I wrote 1534 lines of MoonScript, and it compiled into 2880 lines of Lua. Pretty cool!

I heavily used the class system, and the inheritance it provides. It allowed me to quickly scaffold objects in my game. I think if I were writing Lua, a lot of time would be spent designing my object interaction. In that regard, MoonScript was an excellent tool to use.

I strongly recommend it for game development.

What went right

  • Using MoonScript
  • Using a bitmap and gimp as my map editor
  • My tools all worked well together

What went wrong

  • Didn’t test on windows, got report of people having issues after submission
  • Didn’t know what I wanted to make in the middle of the comp
  • Didn’t have any foundation code, had to focus more on getting code to do basic stuff instead of adding game features and polish.

Once again, If you haven’t played the game yet  you can do so here!

 

Tags: lua, post-mortem, postmortem, screenshot, tools

Comments

recursor
20. Dec 2011 · 19:26 UTC
Hey thanks for mentioning Moonscript. I’d never heard of it until your post, and I love Lua so I’ll definitely check it out. Now I’m off to play your game…

ZERO2 // Goals / Success / Failure

Here’s the first in my (maybe) three part series of postmortems for my game ZERO2. Of course, I’d recommend checking the game out first before reading so here’s the link:

http://www.ludumdare.com/compo/ludum-dare-22/?action=preview&uid=5821#LD48

GOALS

This is my second time participating in Ludum Dare, so coming into it I was hoping not only to simply make a game, but to outdo my previous effort. My LD21 game (NO ESCAPE [pictured below]) was fairly well received for its graphics and audio but (as many commentors noted) suffered from three main flaws:

1. ‘Not A Game’

Well, that’s a little harsh, but in some ways maybe true. I hadn’t even attempted to program anything for years going into LD21, so I decided on a concept that would require the bare minimum of coding. The result ended up feeling more like an interactive movie than a proper game, with little variation between playthroughs, and no real challenge or obstacles.

2. ’40 MB WTF?!?!’

While I was working on it the last thing on my mind was how big the .swf was going to be. Turns out it was really big – 40 MB big, which in the world of Flash games is humongous. This led to a painfully slow preloading screen. This wouldn’t be so bad if it wasn’t for this next point…

3. ‘Press Space Bar for a Minute Then it’s Over?!?’

Yup, despite all that loading time you were getting only about a minute of gameplay. And while I generally go for quality over quantity, I think it’s safe to say my game simply didn’t have enough content.

'NO ESCAPE' - My entry for LD21

SUCCESS

So, with these goals in mind, how do I think I did with my LD22 entry?

1. ‘It’s A Game This Time I Swear!’

This time I based my gameplay on the point-and-click adventure style popularized by games like Myst in the early 90’s. Although this type of game still has moments that feel a bit like ‘interactive movies’, it still definitely feels like a game. You solve (admittedly simple) puzzles, collect equipment, and have to find your way to the end. The great thing for me, is that this type of game is relatively easy to code – and I was sort of thrilled that everything worked as expected almost right off the bat.

2. ‘3 MB OHH YEAAAAHHHH’

I was SO concerned about the file size of the final .swf that I took every imaginable step to keep it down. All of the image files are as compressed as I could get them without showing too many artifacts. I also really restrained myself in terms of adding animated sequences to the game, and when I did add them I tried to be very conservative with the frame count.

3. ‘It Takes Slightly Longer Than a Minute to Beat!’

Ok, it’s still a short game, but I really busted my ass to create as many environments as I could so that the experience would have some ‘girth’ to it. I think these types of games are successful when you can really drag the player into the game world so they can feel that sense of exploration and being lost in an unknown environment. While I think this game could certainly be much longer, I think it’s long enough to get the player ‘involved’ with the world and the story.

FAILURE

While overall I think I would describe the game as a success, there are certainly ways it could be better:

1. Too Easy

Right now the game is quite simple – almost all the puzzles are solved in the same way: you need some object to proceed, find said object, proceed. I wish I could have programmed some more complicated stuff in (for example I had an idea for a ‘circuit breaker’ style minigame to get one of the elevators running) but every additional layer of complexity would have severely increased the time spent coding.

2. The Sound of Silence

While I’d like to think the environments convey a potent atmosphere with the visuals alone, the truth is that sound probably would have made the experience twice as good. In fact, I was thinking about sounds all the way through the development process – unfortunately, I just ran out of time!

3. Too Short / Not Enough Replay Value

Ok, after patting myself on the back for making it longer than my LD21 game, I still think I could do better. Part of that could be achieved through replay value. And while replay value for puzzle/adventure games is always hard to achieve, I had a pretty good idea to implement an ‘Investigation Rating’ at the end of the game so that players would potentially want to go through it again and try to examine everything in the game for a 100% rating. You know, basically achievement hunting! Of course, I’d need to add a lot more stuff to investigate…

CONCLUSION

Despite these ‘failures’ I still feel pretty good about my game, as I think overall I was able to achieve my goal of outdoing my LD21 in almost every way. The other good news is that I feel I’m in a pretty good position to expand upon and improve the game without needing to completely redo it. Whether I choose to do that or not…well, we’ll see.

I haven’t said too much about the graphics since I’ve decided to save that for another post. If you’re curious about my process though stay tuned for my next postmortem, in which I’ll do a step-by-step breakdown of the creation of a single scene.

Transdimensional Moon Rift post-mortem

So time for post-mortem is here…

This time I’ve managed to create fullscale and mostly playable game (probably best I’ve done in 4 competions I’ve attended in last two years) which is even quite fun to play, so I’m pretty happy with myself, even if I had to move to the jam and use another 12 or so hours to finish it.

It’s an oldschool style FPV dungeon crawler with a goal to find your zombie kittens and be finally alone with them (and a big bag of brains), but rotten undead pirates ninja looted your kittens and you have to take them back. I even had time to do some leveling with three skills (ninja, pirate and undead) and tune up the game (not completely happy with it, it tends to be too easy later on, but since playthrough takes about half of hour I just had no time to do more testing.)

 

What went well:

Using Unity (well mostly) instead of coding everything from scratch… after several months of using Unity fulltime I’m quite skilled with it and this time most of the things I hate about Unity wasn’t issue, since I was doing PC / Web build. And web build is one of the things I like on unity (even if there’s no linux player). (BTW web version of TDMR is just about 700 kbytes, while pc has 20  megs :/)

Drawing 2D “art” : I’ve spent just maybe two hours drawing all textures and sprites and skins for characters using tablet, Paint.Net and not giving a damn about how hurtful it will be for eyes of some more sensitive people :) I could have done something much better if I wanted… but it would took me at least day. And this way I can boast about having “style” 😀

Decision to use pirate/ninja/undead – not exactly sure how I came to this connection (I think it’s from some picture I’ve once seen, who’s the bigger boss, pirate, ninja or zombie?), but i’ve mixed it together and in the end I have a lot of enemy types… easily made by combining three (well, four if you count ghost) base types- and I used it as a base for RPG system too.

 

Adding sounds: with about hour to spare for submission I took my mike and audacity and made some sounds and “voiceovers”, quickly patched it to the code and I’m quite happy with the result. Just too bad I hadn’t time to sing some songs as background music (brains brains brains brains braaaaains, brains brains brains!)

Keeping number of game elements in check I made most of the things I wanted to have in the game with the exception of brain-o-matics for buying brains.

What went mostly ok:

Most of the coding in unity, although I’ve spent some time trying to debug few stupid bugs I made (and debugging is sadly one of the beefs I have with Unity – it works much better on WIN editor, but I’m so used to total instability on MAC and “printf” debugging that instead of firing up monodev debugger and hoping for best I’ve spent a lot of time by putting numerous Debug.Logs everywhere. Resulting code isn’t even that ugly as usually is in my speed hacks… although I still hardcoded a lot of things without using some better design – if I ever try to use TDMR as a base for some more serious dungeon, I’ll have to refactor at least half of it.

Level design Originally I wanted to have few more levels (but smaller), but in the end it’s just one and I’m quite happy with it, it reminds me good old times with Beholder and Dungeon master, so it’s definitely ok from my point of view :) I’ve originally considered doing rogue like randomly generated levels, but it’s probably good I hadn’t even attempted it.

Playtesting and tuning up RPG system – At one point I realized that I’m playing for fun, not for testing, which really gave my morale big push. Also my GF used as playtester liked it (she’s as crazy about old RPG’s as I am), so although it could use some more tuning with difficulty and some parameters, it’s ok.

Sleeping enough I’m getting too old for non stop crushes and since I’ve ended one of the worst periods in my 10 year carrier as gamedev just before the start of the LD, I decided to take it easy. But in the end I had to move to Jam and use another 12 or so hours to finish it. I think I’ve spent about 30-40 hours total working on the TDMR.

What went bad:

Theme I was really unhappy with the theme (once again)… I’ve spent some time racking my brains for ideas about using alone for something original AND fun to play, or something interesting to flex my code skills on… then I gave up. Since I’ve always wanted to make some oldschool FPS RPG (and never found enough time), I’ve decided to make it and force it somehow on the Alone theme… (from what I’ve seen from other submbissions, I wasn’t the only one using this approach – some entries don’t even try to use alone in any way).

Idea about using animated chars instead static sprites – near the end of the day one I had a stupid idea – why use simple static sprites if I’m using Unity? So I ventured to recreate my first characted (pirate ninja skeleton), put it on simple 2d mesh… then skin it and rig it to the bones. I’ve wasted a LOT of time on this, result is ugly (kinda hard with the texture I’ve started to do good mesh and skin it so it can move without serious distortion taking place), but I should have expected that – I have all the theoretical knowledge about this stuff, I wrote it from programmers point of view, but… using 3ds max for anything else then checking on some artists work, creating super simple meshes and importing/exporting here and there, is something I just don’t have much experiences… Well, I now have some, but it took me too much time, especially considering results. But at least I’ve learned / practiced something new.

 

(First sprite I’ve made before switching to animated chars… it’s static, but it looks better :/)

 

 

So… I’m mostly happy with my entry (and hope someone will play it :), about the only thing I’m sad is that I hadn’t time to implement save and load… never wanted to do it, other then maybe checkpoints on the level start, but since I had just one… Problem is that doing serialization in Unity for proper save / load is not that easy and it takes some time to do properly… time I knew I won’t have.

Anyway, I’m glad I had time to participate in LD and looking forward for another one (and Global Game Jam next month). Although it can be brutal… it’s fun :) (especially when compared to “normal” crunches on commercial stuff).

 

 

PS: going to rate some games before I start working on another game (I have three months to finish one commercial design), so if you’ve made something else then platformer (I seriously hate those), drop me a link :)

My entry page

Playable version (unity web player)

Link to my blog

My Ludum Dare Christmas Gift has arrived !

Hi All !

I just received my Ludum Dare Christmas gift ! The sender is Polm23 who doesn’t know what to send me so He looked at my LD21 submission which is Pastagus Fantasy. A crazy shoot’em up that is a tribute to Parodius and other amazing shmups. So He decided to offer me Gokujo Parodius on Super Famicom ! He also adds a weekly manga pre-publication magazine and some flyers of the mythic retro game shop the well named Super Potato.

His gift is just AWESOME ! Obviously like a lot of people here I’m a retro gamer and so a fan of Parodius games and I love receiving Japanese stuffs ! Fortunately I didn’t have this one and can’t wait any more to play it !

So once again a big thanks to Polm23 ! You are the best ! And here is a photo of what was inside the package.

Merry Christmas Everyone !

Tags: christmas, gift, parodius, pastagus, shmup

A Ducky’s Tale: Update

Well we didn’t make the deadline for the Jam, but we’re committed to finishing the project regardless. We just rushed into this thing too quickly and got in over our heads. The physics for our original idea were too complicated and everything just fell in. Here’s our latest mockup, programming starts tomorrow. If you’re interested in following our progress, check out @undergroundpixl on Twitter. We mainly focus on iOS development, but plan on participating in Ludum Dare Jams into the foreseeable future!

Desperate4luv timelapse video + postmortem

Play the game HERE.

Timelapse video:

I’ll make it short and to the point:

 

RIGHT

– I finished on time

– Interface

– Idea

– Art

 

WRONG

– I had to leave many stuff out

– No time to make music

– No time to polish

– Some problems with the software (The Games Factory NGE) (Game was supposed to be displayed scaled 2x, not in a small window. Didn’t know it wasn’t possible until I was done).

 

MISC.

I don’t think the game reflects what I intended, as the content is very limited but it may give imaginative people an idea of what I had in mind. I’ll surely keep working on this to make a proper game that’s more enjoyable.

Tags: post-mortem, postmortem, timelapse

Glow – postmortem

So first of all, thanks LudumDare, because of you I had awesome weekend. It was my first gamedev experience and it was amazing.
My game is Glow. You can download/rate it here.

I’ve tried to do my best on theme/mood. And I think I succeeded in it.
What went right: code, sound, idea, storyline
What went neither right nor wrong: art, level design
What went wrong: packaging. I though it would be easier :/
See you next LD.

The Purging – Postmortem

Not much to say here

What went right:

Simple gameplay idea
Using tools i’m familiar with
Livestreaming, there was only a few people, but they were a great motivation and stress relief

What went wrong:
Making a level editor, should have added a few more features like painting an area and auto-save
Enemies programming, should have optimized this

Timelapse:

 

Download and rate here:
http://www.ludumdare.com/compo/ludum-dare-22/?action=rate&uid=2958

 

Tags: 7Soul, easter-egg, kitten-challenge, postmortem, timelapse

Timelapse and final thoughts

Here’s my timelapse, complete with faffing around in Unity like a noob:

I wrote some thoughts about my weekend on my blog, but generally: very happy with how I managed to get to grips with Unity, and very much looking forward to using it again in future. As for the game… I hope people see where I was going with it, even if it is a little unfriendly to the player! But overall another great Ludum Dare weekend (that’s 5 now :O).

Edit: Oh yeah, the game page is over here! http://www.ludumdare.com/compo/ludum-dare-22/?action=rate&uid=1626

Tags: timelapse, unity

Couldn’t do a timelapse :/ Sorry!

As you may know (or not), I used TimeSnapper for timelapsing. However, for some reason, all these screenies cannot be used in my video editing software, because of some “missing file” issues when I select all of these. :/
Well, now at least I know that I should test my software even better. :U

Also, I was thinking if I should continue developing my game. The truth is, I want to abandon TGF2 in favor of C++. You know what that means for my game.
Well, I still have time to think about it. Not that I have a deadline now anyway 😛

And again, entry: http://www.ludumdare.com/compo/ludum-dare-22/?action=preview&uid=3133 (for those who are curious what I am talking about)

Singing Zombies Timelapse

Another day, another timelapse.

 

Unity3D, Maya, Paint.NET and FL Studio.

Post-mortem: LUDUM DARODIUS

play it here

Another LD48 over, and I got some sleep in a warm cozy bed. Which is nice, especially because at the location where I was programming the game, the heating didn’t work o.O

So let’s do a final post for this LD: I was watching many Parodius videos on youtube a few weeks ago, simply because I like the music. Also:

Gradius (original)

Parody + Gradius = Parodius (awesome game)

Ludum Dare + Parodius = Ludum Darodius 😉

What went well:

Graphics: I managed to make lots of animations in GraphicsGale (awesome program), and even though I was like laughing all the time because they looked so funny very close, I don’t regret spending so much time on them 😉

Gameplay: I wanted to make a helicopter game for a long time, and I did!

Alternative challenge: Haha, did I really have a cat in there :)?

What didn’t went well:

Theme: When the theme was announced, I made a draft. And didn’t like it. At all. Made me want to give up, because I like funny games. Kept drafting, but no. And that part alone took  4-5 hours already :/. So I scrapped it all, and scrolled through the posts on this site to get an idea. Until someone had a post with that skunk and the cat of the looney tunes, and then it made *ping* (thanks for that!). ‘Leave me alone’ rather than ‘alone’ alone. Plus, the kitten challenge kept me going

Sleep: Unbelievable, I felt like cr*p after the first night. Getting old :D? At that time I was staring at the code, unable to do anything. So I kept animating and drawing more and more sprites + making concepts for new ones.

And that’s the ranting for this time. Always a nice experience to code and code and code and code 😀

Screenshot for those who don’t make it to the boss (would be sad if you didn’t see the animation ^^). Side scrolling penises!??!? :D:D. They were supposed to look like the mountains from Super Mario

Happy voting!

Desert Adventure – Postmortem

First of all, the game:

Desert Adventure (with Kittens)

This game is a text adventure where you control a player waking up in a hostile environment.

What went horribly wrong:

  • Theme, I had like 0 idea what to do with Alone (but I can only blame myself, that’s one of the few themes I voted for in the final round).
  • I procrastinated way too much while pretending to be looking for an idea.
  • I had other things to do that weekend, which I did during the last 5 hours of LD.
  • I’ve had to rush making one third of the game’s content in one hour.

What went right:

  • Using jQueryMobile for the first time.
  • Choosing a text-adventure (time was short, 12h were already gone, so not having to create assets except using jQuery’s ThemeRoller for text/bg colors was great).
  • Adding Kittens! Kittens
  • Choosing a web-deployable framework (makes packaging 100x easier).

Although I wasn’t inspired as much as during previous LDs, I’m happy with what I came up with and I hope the final product will satisfy you, the players !

Tags: kitten-challenge, postmortem, screenshot

Timelapse: The making of Ghost Town

Covers about 20 hours of actual work, most of which spent with a warm cat on my lap.

Post-mortem coming soon!!

Edit: thanks Galman for helping with the embed!

Tags: cat, ghost town, kitty on my lap, time lapse, timelapse

Comments

20. Dec 2011 · 18:39 UTC
ok, embed failed. Edited page to include link, but it seems to be cached.

That’ll teach me not to try “preview” before posting.
20. Dec 2011 · 19:04 UTC
You look so wierd when you are moving your head.

Long Walk Home A Video Guide / Speed Run Video

After reading one of the posts on the Ludum Dare main page about creating a video of your game. I decided that it would be a great opportunity to demonstrate the game being played by myself. I hope other game developers do this with their games. It’ll give me the chance to view and understand games from the developers perspectives and perhaps get to rate games that I couldn’t otherwise play if they are windows only ( as I am on OS X)

I hope you enjoy.

 

Success!

We finished our game! Whee! Download the windows package here.

Here’s a screenshot:

Even though it does say “Game Test”, this is the final version. If you’re running on Linux and want an executable, drop a comment on the game page and I’ll submit one. The game runs fine under wine too, I got it to run under wine on my mac and Linux laptop.

Lonely Space Marshal – Postmortem

Well this was fun!!

My game is kinda lame and it need some more work. For example it needs more than one enemy ;), more levels and a background.. I was suppose to enter the compo but I ran out of time, so I aimed for the jam.

FAIL:

  • It started with the theme. I had some ideas but they were way to big for this.
  • libGDX is a good library.. But I used it in the wrong way to start with, so 4h++ work were throw away..
  • The boss was made when it was 30 mins to go, art + code. It should be a cat but I can not make good pixelart. Not with 30 mins to go! Haha..
  • Spent to much time on details. The collision detection is horrible, it works but…. and other stuff that I am ashamed of…
GOOD:
  • I submitted something !! Yes I am really happy for that even if it is lame 😉
  • Well it is not so much art but I think I can do some good pixelart. If I have time for it.
  • I ate pretty good and drank lots of water/juice
  • Took breaks and even went to a Christmas dinner with good friends.
So overall I am happy with the result even if it needs lots of improvements. Oh, and next time (yes there will be a next time) I would not make a platformer. Why do I end up doing platformers.. Let’s play lots of games, vote and enjoy Christmas everyone!! And we will meet again next year at Ludum Dare 23!!!

Peace

Tags: LSM, postmortem