codexus

LD12

Getting Ready

Hey guys,

It’s been a while since I participated in one of these but this time I’ll be there. Now I need to get ready as it’s been a long time since I did any game programming.

Once again, I’ll be using C++ and OpenGL to make a 3D game. This time I want to include some things I haven’t done in a LD before like using shaders for per pixel lighting instead of the default OpenGL lighting like in my previous games. So I need to make a few tests in the next days to make sure I remember how that stuff works.

I also need to see if I still know how to do everything to produce the 3D content quickly. Last time I used ZBrush and Cinema 4D and was able to model/texture/animate simple creatures quickly and export the results in a very simple text based format. So I’m going to do basically the same.

I think it’s going to be a great week-end.

Let’s start the coding!

So it has begun! The theme was among my favorites as it’s an open theme. Lots of games can be made with a tower theme.

I have an idea of what kind of game I’d like to make. The gameplay details are still fuzzy but I have enough to get started so now that the caffeine is slowly starting to work I’ll start the coding.

I’m not using a fancy pre-made engine library so I have to do the boring stuff again. I hope I don’t waste the whole day just to display some 3D objects, so that I can start working on the interesting parts. It’s annoying to have to code stuff like texture loading or a timer in every compo but at least we’re not using the insane “mechanical cat” rules where you weren’t even allowed to look at code you had written before the competition (apparently the poor people competing in PyWeek still have to do that). I remember losing hours because of that stupid rule during the making of my Lightstream48 and Ring48 games.

Tags: log

Not a game

The middle point has passed and I still have nothing playable. Doing 3D from scratch, combined with bad preparation are making my progress really slow. Will I be able to finish a game?

Tomorrow I’ll have to focus on gameplay at all cost.


Tags: log, screenshot

My final game

Here it is!!

Download (3.2MB)

I forgot to to add it on the screen but F1 brings the help screen.

EDIT: I’m still trying to resolve some dll dependencies, it doesn’t work on all machines currently.

EDIT2: Solved! the zip has been updated.

EDIT3: YouTube video available (also available as a higher quality avi (7.2MB)

EDIT4: I forgot to include the source code when i made my release (shame on me)

Tags: final

Timelapse video

My webcam timelapse video is available on youtube. I’m not posting the screenshots only one as it’s really boring.

A few tips for people testing my game:

Use the C key to test the alternate camera style (it’s very hard to play with it but it’s nice). EDIT: Also even in normal camera mode you use the END key to place the camera temporarily behind our blobby hero and view what lies ahead.

On the second level, you just have to get rid of the creature guarding the jump point. They always move in your direction so maybe you can trick it.

If everything else fails, use the cheat code: ctrl-shift-J makes a huge jump so you can skip levels or just have fun.

Tags: LD #12 - The Tower - 2008, timelapse

Post Mortem

Here is my post mortem entry. It’s a bit long so click the read more thingie to view it.

Tools used:

Platform: Win32 (XP Home SP3)

Libraries: OpenGL, GLEW (to handle OpenGL extensions), SDL (for initialization and keyboard/mouse input) and DevIL (for image loading)

Tools: Visual C++ Express 2005, Cinema 4D (with a custom export plugin) and Photoshop CS2

The many things that went wrong:

  • Rustiness: The last time I finished a LD48 game was more than 3 years ago (with 2 additional very unmotivated attempts in the next year that I gave up quickly) and since then I have done no game development, some work related OpenGL though but not recently. So I was really rusty!
  • Lack of preparation: Aware of the aforementioned rustiness, I knew I should prepare myself but I didn’t do much. I didn’t try to code a warm-up game, I barely tested that my previous entry still compiled and concluded that I had the libraries I needed installed and that was all.
  • Doing everything from scratch: I spent the first day just to get the graphics working. I really need to have a kind of library to avoid going through that again. I want to have fun making a game not write a Vector class or an object loader. And I gave in to temptation and got one or two tricky but boring things from my previous entry (only very basic stuff though like the timer class to get a good quality timer on windows since SDL_GetTicks sucks, I think I’m still OK with the compo rules considering some people use engine and physics libraries)
  • Export plugin not ready: During the compo I couldn’t find a compiled version of my Cinema 4D export plug-in. And it wasn’t compiling anymore due to changes in the application’s SDK. Fortunately I was able to solve those problems relatively quickly but I should really have tested it before the competition.
  • Visual C++ bugs: I was really surprised because I had never had any problems with it before but it kept bugging and I had to quit VC++, reopen it and then I had to put back all the windows in their place again. How annoying.
  • Things I wasted time on: I wasted a lot of time on adding fog to my shader and getting it to look just right before finally deciding it didn’t look good. Also I wasted time doing the Mario64-style camera which didn’t turn out quite alright and is not activated by default in the final game.
  • No time for animated characters: My biggest disappointment. It doesn’t take a lot of time, in my previous entry Lightstream48, I had made some cool characters in just a few hours and I wanted to do the same.
  • No sounds: I had Propellerhead Reason ready to make a small music and my microphone connected to sample a few noises but I didn’t have the time.
  • Not enough gameplay elements: I had lots of ideas to make a more interesting game but instead had to try to make levels with only a few of them implemented. So most of the levels are based on jumping skills rather than puzzles like I originally wanted.
  • Bugs: There are lots of little bugs in the gameplay like you can walk off the border of the map in some places and jumping isn’t implemented correctly so sometimes it’s difficult to control the character.

The gray area of things OK

  • Is C++ the right language for a LD? I used to be quite happy with it, but this time I was annoyed by the extra typing it requires. Header files are such an annoyance. Maybe I should try an alternative next time?
  • Time management: I worked a total of about 32 hours. That’s a bit below what I could have done. My plan was to start at 8am on Saturday morning, I slept past 10 and watched the Olympics. But it could have been worse.
  • A bit slow on slow PCs: The minimum requirements for this game are a bit higher, but considering that some years have passed since my previous game that’s normal. Off course it’s mostly slow because it’s badly coded but still… it’s time to upgrade people! 😉

The few things that went right:

  • Per-pixel lighting: it looks real nice so I’m happy about that.
  • More 3-dimensional gameplay: In my previous games it was really only 2D gameplay with 3D graphics so that’s an improvement.
  • Save points: I’m really glad I included them, it was tempting to code some other gameplay elements and leave that for later but without them the game would have been too hard.

Conclusion

I’m not entirely satisfied. I wish I could have had more time to finish my game. Now what I want to do is start a library with all the basic stuff I need for a LD48 game and publish it soon enough so that next time I can use that for my game and be able to concentrate on gameplay and content.

Tags: LD #12 - The Tower - 2008, post-mortem

LD17

All done for now!

islands48_final 2010-04-26 04-09-35-64

OK, I’ve finished uploading all the platform builds and the source, fixed a critical bug and now I’m all done!

So I’ve managed to finish a playable entry. I’m surprised! I wasted so many hours on Saturday because I had no idea. Finally I started making art assets without having a clear idea of what I was going to make. By Sunday I had not written a single line of code. Sunday afternoon was spent tinkering with Unity and trying some physics based controls that didn’t work. So 7 hours before the deadline I still had no gameplay and wasn’t sure what it would be.

In the end the gameplay is very minimalistic, just some platformer controls and that’s it. I hope it can still be enjoyable for a few minutes. I was even able to add sound effects (thanks to sfxr) and also made a kind of “music” (I hope it’s not too annoying).

That’s it for now. I have recorded a timelapse but I’ll take care of that later.

Tags: final

Timelapse of laziness

05312

A lot of nothing going on in my timelapse I was quite lazy this week-end… v___v

Tags: timelapse

Comments

pythong
26. Apr 2010 · 15:46 UTC
hahaha awesome. at least you had the time to watch One Piece. Still, that’s the one from last week, isn’t it ^^?

One of each, seriously?

I thought I’d try this MiniLD for a change but I’m not sure what to do with the special rule. It sounds interesting at first but it can also be very annoying.

Let’s see how one could get around it:

  • Make crap or minimalistic graphics. Unfortunately it’s the most obvious choice. It’s easy to get lots of different objects if you don’t spend more than a few minutes on each one.
  • Procedural generation. Each snowflake may be unique, but really they all look the same. I don’t like games that rely on generated content too much. It’s the human touch that makes things interesting, the procedurally generated stuff is just more of the same.
  • Avoid the problem entirely, choose a game genre that doesn’t rely on repetition of content. Adventure games or visual novels don’t have a lot of use for multiple copies of the same object. That’s also why they are heavily dependent on content and really hard to complete in a week-end.
  • Find an awesome gameplay idea. One that will satisfy the constraint and fit with the theme and be an original never played before gameplay.

So, since the last option isn’t going to happen just because I want it to. I’m left with some unsatisfactory choices…

Comments

bluescrn
17. Jul 2010 · 10:38 UTC
The constraint on it’s own might have been interesting… but yeah, when combined with the theme(s), isn’t it more-or-less saying ‘make a fishing game with as many different fish as possible’?
stqn
17. Jul 2010 · 10:50 UTC
I must say this special rule wasted the first 3 hours of my day. And I came to the conclusion that I should try to make a text-based game.

LD18

Let’s make some awesome games!

OK, this is my totally unnecessary and needlessly detailed declaration of war!

Leader of the Great Army of One: His Laziness General Codexus

Weapons:

  • Engine: Unity Pro 2.6
  • 3D: Modo 302 / Cinema 4D R10 / ZBrush 4 / Vue 8.5 Infinite
  • 2D: Photoshop CS5 Extended / Filter Forge 2
  • Sound: Reason 4 / Record 1.5 / Audition 1.5 / SFXR
  • PC: i5 750 / 4GB / GeForce 8800 GTS
  • OS: Windows 7 Ultimate x64
  • Misc Gadgets: Wacom Intuos 3 tablet, Roland ED PC-300 midi keyboard, Xbox 360 gamepad
  • Food: probably some chips and pizza

Previous achievements:

i maed gam3z w1th n0 z0mb1es

i maed gam3z w1th n0 z0mb1es

Tags: declaration, montage, tools

0

This entry was posted on Thursday, August 19th, 2010 at 7:32 am and is filed under LD #18 - Enemies as Weapons - 2010. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Desk Photo

It’s mandatory. (seriously, post yours too)

that's where the magic happens

that's where the magic happens

Tags: deskphoto

Strategy

“No battle plan ever survives the first contact with the enemy” – Helmuth von Moltke the Elder

(actually he said “No plan of operations extends with certainty beyond the first encounter with the enemy’s main strength” but in German and that doesn’t sound as cool and nobody cares what a 19th century German general said anyway)

My strategy:

  • Decide what kind of game I’ll be making before the compo starts, then adapt as needed for the theme. (I must avoid repeating what I did last LD when I still didn’t know if I was making a racing game or a platformer 7-8 hours before the end)
  • Focus on implementing gameplay first. Get the game to a point where it’s fun before anything else.
  • Don’t waste time on micro-details. Just move on, it’s OK if it’s not perfect.
  • Add sound and music early. I usually wait until the very last hour to get started on those. That’s not a good idea!
  • And obviously “Keep It Simple, Stupid!”, last time I wasted time thinking about a full adventure game I couldn’t do in 3 months.

Comments

20. Aug 2010 · 12:10 UTC
Some sound strategy here. Not certain about the ‘what sort of game I’m making’ though. Do you mean the genre, or do you intend to already have gameplay and goals in mind?

First Screenshot

Not a lot to show for the first day, but I only got started on this idea 5-6 hours ago. Most of the first day was lost due to a lack of energy. So the goal of the game will be to destroy the robots by dodging their attacks and arranging a situation where they’ll shoot each others.

it's a robot not a dalek ;p

it's a robot not a dalek ;p

Tags: screenshot

LD19

PIZZA TIME :D

This is not really going to help me finish my game in time…

Tags: foodphoto

LD21

My advice

I don’t think there is a single best method to do the Ludum Dare. I’m no expert and you may agree or disagree with my ideas but I’ve finished an entry for 9 different main LDs since LD #1. I’ve also failed many times and learned from those as well. :)

Get übermotivated

Making a game in 48 hours is hard. There will be times when you feel discouraged by your lack of progress, skills or inspiration. If you’re going to finish a game this weekend, you need to make that your #1 priority. Don’t start the LD without knowing that no matter what, you’ll make a game this weekend. Maybe a very shitty game if things don’t go your way, maybe an awesome game, but a game no matter what. Don’t have any doubt about it and it won’t be a problem.

The excitement here and on IRC before the compo is a great way to build up that motivation, but be careful that once the compo is started it can work against you when others seem to be advancing their game more quickly.

Be prepared

There won’t be that much time for installing new software and learning how to use it. Do that now and be prepared.

Make sure to test all your tools before the compo. At the very least verify that you can run your software. Do you know where you put that dongle or original CD? Did you make any hardware change that could cause a problem with software activation (that happened to me with ZBrush once, their customer support fixed the problem… the next Monday).

If possible make a mini test game. At the very least, test your pipeline. Can you get those sprites to load? Can you export your 3D character and load it in the engine?

If you’re making a game from scratch without an existing engine, I suggest writing a conversion tool or plugin that will convert files to an extremely simple format that can be loaded directly. No need to waste precious LD time writing an .obj loader or whatever.

Get the ball rolling

So you may expect that once the theme is announced you’ll sit in silent meditation for a while and get the most amazing idea. Well, if that happens good for you. But for me it has never been that easy.

So just get started anyway. What? Without an idea? That’s right. The longer you wait, the harder it is to come up with an idea that you will like.

Have a few generic ideas ready before the compo and get started on one. Or just create a sphere, apply physics to it and literally get the ball rolling 😉 Once you’re working on something it’s a lot easier to have ideas than if you just sit staring at a blank page. And if after a few hours you think of something different and have to restart again, that’s ok. It’s a lot better than doing nothing and still not have an idea. You can probably reuse a lot of the code and assets anyway.

Your final idea can also come much later. For LD #5 I started making a dungeon crawler type of game. 28 hours into the compo, I accidentally used a glRotate instead of a glTranslate. I thought the result looked cool and ended up making a racing game on a ring shaped track. I would never have had that idea without that happy accident.

LD #5 first prototype and final game

Get rid of the placeholder graphics

Nothing kills motivation like a game about rectangles colliding with triangles. Placeholders have their use but for the magic to happen, to feel like you’re really making a game you need graphics sooner than later.

Sometimes I like to start with a bunch of generic graphics that I will be able to use no matter what my game ends up being. You don’t need perfectly polished graphics, avoid that at all cost. You just get diminished returns quickly but you need enough for it to feel like a game. Then if you have extra time at the end (that won’t happen) you can go back and improve them. The main character, if that concept applies to your game, is vital. If you have it, everything else can be placeholders. At least, you’ll have some life on the screen.

Don’t sleep all day

Yes, you need sleep. The competition is 48 hours long so don’t even think about not sleeping. But be careful about turning off the alarm clock. It’s easy to sleep too much which not only wastes productive time that you will regret not having near the end of the 48 hours, but it can also make you sleepy and unproductive. Personally I think sleeping about 6-7 hours a night is best during the LD but you may be fine with less or need more.

Just don’t be lazy. You’re going to regret any time you waste on other things. For the weekend, make your game your absolute priority. You can watch your favorite tv series the next week but you’ll regret a long time not being able to add that one thing that would have made your game so much better.

Have fun!

In the end, win or lose, it’s just a game! The important thing is to enjoy the Ludum Dare and doing something you wouldn’t do normally: create a whole game in a weekend!

Tags: advice, tips

LD22

Alone in the LD

 

OK so the theme is “Alone” (you probably know that).

So here are my thoughts after 1 hour of waking up/brainstorming:

  • Survival horror, rather obvious but it’s still my #1 idea. It might be a lot of fun to create. I can make ZBrush zombies and monsters which I love to do 😀  But a decent 3D environment takes a lot of time and I’ll probably end up with a not very polished game (as usual).
  • SETI. Find out if you’re alone in the universe. Nice but what would the gameplay be like? All I can think of is rather simulationy and GUI heavy which is not my style. (or shmup, now that you’ve found life, exterminate it! :D)
  • “Home alone” themed tower defense. Might be fun
  • Dating sim / visual novel. 😀 But I don’t have the right skill set for that (my drawings are horrible)

So I guess I’ll get started on the survival horror to avoid getting stuck doing nothing.

Fruit loops!

Breakfast of champions

 

Tags: foodphoto, ideas

Not alone after all

Braaaaaains!

So I finally have my zombie all rigged and ready for animations. I lost a lot of time in Topogun doing the low-res version from the ZBrush high-res sculpt. It was the first time I used Topogun and it was a really slow process :/ Also I had some problems with the Rigify auto-rigging thing in Blender, I’m not sure what happened but last LD it worked right away. Unfortunately I have not used it since then and I must have done something wrong this time. All sorted now but I’m far from having a game done. It already looks like I’ll have to do the jam instead of the compo.

 

 

Tags: screenshot, zombie

Comments

Notch
18. Dec 2011 · 02:20 UTC
Wow, that is a great looking zombie!