deps

LD15

Morning!

Good morning everyone, and good luck to those who are in this competition!

I was planning to get to sleep early, but I was awake until 3am, only 2 hours before the start of the competition. 😛

And after only 3 hours of sleep I was up again, Christer Fuglesang, Swedens very own astronaut, was about to be blasted into space, for the second time, and I couldn’t miss that. :) Went to bed shortly afterwards but couldn’t get back to sleep. So I started to code on my little entry.

It’s been two hours of coding and drawing now. I decided I wanted to code my entry in Ruby, my favourite language. I’m usign the Gosu module for graphics and sound. I haven’t used it in the past, except for quickly trying it out, so I’m a bit slow since I have to look everything up. But I finally have a scrolling background and a guy riding a bike wearing a tophat and a monocle!

My entry is called Mr Monocle And His Marvelous Madcap Underground Race

In it, you are Mr Monocle and you are riding a bike in an underground cavern. I’m planning to throw in some rubies for the player to collect and some bats and mining carts and whatnot.

And for breakfast I had two sandwitches, an energy drink and a cup of tea. A timelapse movie is recording this while we speak.

Now to figure out how to attach images to these journals…

Tags: food

Mr Monocle

Collision detectioncode against the cavern walls is awful, but it will have to do for now.

It’s now possible to collect gold nuggets. Now to change the cavern generation code to spawn them dynamically. Score is awarded when the players collects them.

Now to get a snack and wake up my wife. I think the cats are hungry too.

Mr Monocle – Sneak Preview

Got a first screenshot of my game for you. Please excuse the programmer arts. 😛

Mr Monocle - Madcap race

Comments

29. Aug 2009 · 08:21 UTC
Fuck yeah, penny-farthing mans.

Yawn, end of day 1

Been coding for almost 18 hours. (with breaks of various sizes, but none too long)

Game is progressing well. I now have a player, and he can shoot. And there is enemies, and some of them shoot. And player can pick up stuff, and the player can die in different ways. And the player can win the game. And there is a highscore list. And stuff.

The plan tomorrow is to create an intro, a you-won-the-game-outro, credits, make pretty graphics (can’t get much worse anyway), fix the music so it doesn’t sound like crap (it’s generated on the fly by the computer, and it doesn’t do a good job). I have a TODO list here somewhere between the windows, but I’m too tired to check if I forgot to mention something. 😛

Here is a picture of Mr Monocle riding his penny-farthing on some railway tracks, and an Evil Gnome shooting at him. And there is also a ruby. Collect it to get $500.

Picture 4

Tags: LD #15 - Caverns - 2009, Mr Monocle, penny-farthing

I’m getting there…

Not that many hours left of the competition now…

Here is a recent screenshot of my little entry, Mr Monocle And His Marvelous Madcap Underground Race:

Picture 5

I got everything I planned implemented. Main menu, highscore, game over screen, items, enemies, a gentleman with a monocle on a penny-farthing, death, explosions, procedural generated music, sound effects.

What I need to do now is to playtest it a lot, fix all bugs I can find, finetune it, balance it, and, with some luck, at least try to redraw the sprites. I have had it on the TODO list since yesterday and I keep pushing it aside… 😛

Tags: LD #15 - Caverns - 2009, Mr Monocle

Mr Monocle – The Post mortem

I’m “done”

“Done” as in, some stuff left to do, but I give up. The game is playable and submitted. People can play it. I will release a Windows version tomorrow-ish. (The XP laptop is asleep and I don’t want to wake it up and start downloading files)

So… I went to sleep on a friday after a long evening of Call of Cthulhu RPG playing with my wife and brother in law. Got to bed about 3am. Up again a few hours later and started to code on my entry around 7am, 2 hours after start. (local time, but you all knew that)

After some quick thinking with a tired brain, I decided my entry shold contain a monocle wearing gentleman on a penny-farthing. The penny-farthing should fly and the player should press and hold space to make it fly higher, and release the button to fly lower. Kind of like all those flash games nobody plays.

But when the first version of the map code was up and running I decided that he should ride the penny-farthing on the ground instead, so the game was transformed to some sort of top-down racing game. And the rest is pretty much history. I didn’t really have a big todo list from the start. I had a few ideas and everything else was thought up, and included, on the fly.

It was an interesting experience for me. I have never done a game in Ruby before. And I have never used Gosu, the game programming library that powers my entry. It turned out pretty well, I think. I really like Ruby because it makes most things pretty easy to do. Gosu was also very easy to use, and I will continue to use it in the future.

What Went Right:

The game runs smooth, even on this macbook with a intel graphics card. I knew before that Ruby isn’t the fastest language around, and I have heard bad stuff about its garbage collection, and how it can make games stutter and lag. I’m not sure I noticed it. At times things was behaving a bit bad, but I had a timelapse movie in the making at the same time and I believe it caused most of the poor performance. I also had a bucket full of apps open at the same time, so I’m not ready to blame Ruby and its GC just yet.

Not sure what else to write. It got done. That is something that went right.

What Went Wrong:

Well, where do I start? Entities and their controllers? I used a new approach for me when it comes to game programming. I followed a short tutorial on how to use Gosu and Ruby. And it used a Model View Controller layout for the game. “Fine”, I though. I already use that when I code in Ruby on Rails, so I’m not a stranger to that. But I made a poor implemention of it. An entity in my game has a model. The model describes what it is and what stats it has. (position on screen, image to show, velocity, etc). Every model needs a controller. The controller tells the model what to do. But I keep these in separate lists. Luckily, no bugs turned up making this fall appart. But instead of having two lists I should have only had one with models in it. And each model should be responsible to know where its controller is. Instead of updating the controllers I should update the models, which in turn updates their controllers. Or vice versa. Not both. That made a mess out of things.

I’m not happy with the map! For some strange reason I though it would be a good idea to store the map as a long list of strings. Each string could look something like this: “3;9;3” which means, 3 solid tiles, 9 empty ones, then three solid again. This would save a lot of space and be a nice thing. Making a pillar in the moddle of the column would look like this: “3;4;1;4;3” (3 solids, 4 empty, 1 solid, 4 empty, 3 solids)
But… WHY? What was I affraid of? Why do I need to save space? It only made things much more complex during rendering and collision detection. And when I realised that, half the compo was over! Too late to change now, just keep going! This of course makes things a bit more complex when it comes to detect what’s to the left and right of a tile. Notice in the game that the stalagmites, or whatever they are called, only shows below and above a column of tiles, and never on the sides? I didn’t even try to write code to allow me to check the sides, thinking it would slow down the game a lot. Next time, don’t diss the good old tilemaps!

Music! I’m not good at making it, and it turns out neither is the computer. The result you hear is at least a lot better than my first attempt! cfxr is a nice tool to make sound effects with (I love 8-bit sounds).  However, my attempts of making musical instruments in it failed in an epic way! So maybe it doesn’t sounds good, but be glad I rewrote it and switched to some samples I found online.

Difficulty; have you played the game yet? Enough said! :)

Collision detection — I’m doing it wrong! It got better during the second day of the compo. It was a rewrite I had to do! It’s far from perfect and I don’t like the code, but it works. Kind off. Please ignore that you sometimes goes through a piece of the wall before you die. Use it to your advantage instead. Sometimes your should be dead, but isn’t. :)

And finally, how things usually turns out in my code. I have heard that globals are Bad(tm). Avoid them like the plague, they say. And I do. Stuff is passed from and to the classes and stuff. But sometimes class A doesn’t know about B, and it would be silly if it did, but it must, otherwise I can’t do C. So I hack it in. Now A know B and C is done. But then C needs to know about A, so I have to make a short cut here. And then one there. And before I know it, it’s a mess! And today I found out that I had 3 methods that pretty much did the same thing. Did a quick code refactoring, but I felt silly. The rest of the code is ugly too. But it was written in under 48 hours so I shouldn’t complain.

Closing Words:

I had a lot of fun! I will do it again! I have done similar things in the past (game-in-a-day, and my own Im-bored-will-code-game-in-12-hours private compos), and really enjoys it. I hope you like my entry. Thank you for reading my rant.

Link to entry: here

Tags: LD #15 - Caverns - 2009, Mr Monocle, post-mortem

LD17

I’m in!

Ok, I’m in. And I’m hungover. This will be interesting.

Day 1 wasted

Woke up with a nasty hangover. Brainstormed some ideas for my entry and started to work. 12 hours later I have decided to throw it all away. I’m stuck! Starting from scratch, as soon as I can get an interesting idea.

Here’s some pictures:

Tea time!

Tea time!

Breakfast

Breakfast

Cookies and buns!

Cookies and buns!

Tags: foodphoto

LD18

I’m in

Been fiddling around with my weapon of choice today: ruby.

I’m going to use the Gosu framework, and will alter today refresh my memory of Ippa’s Chingu framework and decide if I should go with that one. It got a lot of cool stuff in it. I might just go with Gosu for that cosy OMIGOSH-I-HAVE-TO-CODE-IT-ALL-MYSELF-AND-IM-ALMOST-OUT-OF-TIME-feeling.

Bring it on, sons of a dog with a female persuation!

Yay, LD48! And nr 18 no less!

I will stream my fiddlings here: http://www.livestream.com/depstv

And I’m called deps81 on twitter if you would like to see my mad tabling as the deadline closes in.

Good luck everyone else!

BREAK!

On a break now. So far I have a moveable player character and a scrolling background. After the break I will fiddle some more with the background and add the first of 4-5 planned enemies.

The game will be a beat-em-up, and you can throw the corpses at other enemies. You can beat them by hand, but throwing smaller enemies on larger enemies will be much easier, if not the only way. We’ll see. But that’s how I treat this theme. Kill the smaller ones and use them to beat the crap out of the larger ones.

Oh, and thanks for voting down Double Zombie Rainbow… Don’t think you will get away that easy! I going to use that theme as well! Take THAT! 😛

And I’m streaming here if someone’s interested: http://livestream.com/depstv

Here’s what I had for breakfast this morning:

LD48 breakfast with my wife

Dinner have been eaten!

*throat sounds*Awesome dinner have been had!

Game is progressing well! Player can walk around and punch zombies right in the face. Once they’re on the ground, player can pick them up and hurl them at another zombie. This is how the player beats enemies of higher difficulty.

And I spend waaay to much time on tweaking blood and gore… 😛

CAKE!

CAKE!!!I ate it, and it was good!

Now to add health to the player. And then player death. And after that a simple main menu so I can restart easily if I accidently die.

Day 2 dawns

BreakfastBreakfast with a black beauty. She’s eyening my bacon, but it’s all mine!

a bit less than 19 hours left now. I had an awesome progress last night and I hope I can keep it up today. But there’s quite a few bits and pieces that I need to do. For example, I need to change the graphics! It’s awful! It has a bit low priority, but still. And I need to add a third enemy. And I need to add the boss fight at the end. And I need sounds! And I need music(?) and I need to add something more to the game. At the moment you walk up to the first zombie, punch him silly, pick him up, hurl at second zombie, repeat until highscore is beaten. One of the last things I did last night was to change it so the zombies wakes up if they’re still on the ground or being carried, but it wasn’t enough to make the game more challenging.

I will spend some time to try and do what GBGames are doing with that cork board. I need to plan. Once I have a plan I will try and be awesome!

LUNCH!

149723690-4bfa9670ead9cb0695328ad40bcac797.4c710330-scaledTime to ead food stuff! It’s mainly leftovers from yesterday, and a couple of sandwiches.

Progress is relatively good. Refactored the throwing code so it’s now a bit more generic. And now I also have boxes! I will change it so zombies can throw stuff as well, in an atempt to increase difficulty.

Screen shot 2010-08-22 at 12.52.27I also tried to do some Agile inspired stuff, like what GBGames does… I, uhm, have a bunch of “stickers” on the screen. I add some when I get an idea or see something that needs to be fixed, and I remove stickers that’s fixed/implemented. I could do this with a pencil and some paper, but this feels much more Agile, even if one could discuss that. 😛

I’m still streaming at livestream.com/depstv is anyone wants to take a look. It can be a bit laggy because I’m doing 101 things on this little macbook. It holds up amusingly well.

I <3 my macbook.

Phew!

I lost count of how much time I spent on changing the player graphics into this:

Screen shot 2010-08-22 at 19.48.26

That’s me. Fully animated (4 frames), and there’s also a walk animation, a walk while carrying stuff animation, and a knock-some-teeth-out animation. 15 frames in total I believe. At least a couple of hours have been lost in this. 😛

And I have (counting…) 10 frames left to do for the zombies. Me again, but with much sillier poses. 😛

Comments

ippa
22. Aug 2010 · 16:47 UTC
O .. M .. G .. :)
24. Aug 2010 · 13:34 UTC
Hey, I want to put this on PC Gamer’s coverdisc. Email me saying you’ll let me:

LD21

F*ck El Dorado, Let’s get the hell outta here!!1

Now that the place is up and running I can announce that I’m entering this compo.

I started my entry when it was about 18-19 hours left and progress have been nice. Player can move the wagon left and right, and also jump. The object of the game so far is to avoid the spears thrown by the native americans.

HALP!

Player now takes damage. Will add a huge explosion when the player dies, because we all know that wagons explode violently when they die. It’s just the law of the jungle or something.

LD22

I’m in!

I will enter Lududm Dare 22 and I will use Unity, Blender and Gimp.