RSS
 

Archive for the ‘LudumDare’ Category

Lava and Level 2

01 May

Got the leve logic done, and finished level 2, complete with lava pits and the Orb of the Sun!

9 hours to go and millions of things still to make (and a WoW raid in the meantime)… So I got about 4 hours of real work ahead of me… :\

Task list:

  • Framework working
  • Loading a level data (from a DDS image)
  • Rendering the level (3d generated from the level data)
  • Drawing the character
  • Rendering character
  • Design levels/items so I know what to implement
  • Spawn points
  • Bind spawn points to scripting events
  • Draw “old man” and do speech system (seems like a polish thing, but it’s kind of important…)
  • Give and take objects to the player (through scripting)
  • Spawn creatures and give them rudimentary AI (also through scripts)
  • Draw and animate imps
  • Wand of Unsummoning
  • End of level (portal thing)
  • Main menu
  • Title screen
  • Game over screen (?)
  • Sound
  • Music
  • Level 1
  • Level 2
  • Level 3
  • Level 4
  • Level 5
  • Load/Save
  • ….
 

Items, AI, death and HUD

01 May

Done loads of stuff since I woke up 4 hours ago or so… Not so much as I actually needed to finish this like I’d like, but good nevertheless…

Got the item system working (scripted), and implemented the first item (the Wand of Unsummoning)… All its behavior is script driven, which is quite nice. It fires bolts of magic that unsummon the evil rabbits.

Also finished the rabbit AI (just wander and chase the player if it gets too close). Player can now be hit by the rabbits and die:

Most of the gameplay code is done, still need the flow code (main menu to level, level to another level) and win situation (getting to the end of the area), besides music and sound… So, a whole lot of work still ahead!

Task list:

  • Framework working
  • Loading a level data (from a DDS image)
  • Rendering the level (3d generated from the level data)
  • Drawing the character
  • Rendering character
  • Design levels/items so I know what to implement
  • Spawn points
  • Bind spawn points to scripting events
  • Draw “old man” and do speech system (seems like a polish thing, but it’s kind of important…)
  • Give and take objects to the player (through scripting)
  • Spawn creatures and give them rudimentary AI (also through scripts)
  • Draw and animate imps
  • Wand of Unsummoning
  • End of level (portal thing)
  • Main menu
  • Title screen
  • Game over screen (?)
  • Sound
  • Music
  • Level 1
  • Level 2
  • Level 3
  • Level 4
  • Level 5
  • Load/Save
  • ….
 

Unholy Rabbits!

30 Apr

Dinner was great:

And after, well, I started by drawing some imps, but the end result was that they looked more like hell-rabbits than imps, so I decided to change the story…

They have a particle system to be more hellish…

Anyway, they already wander around (they don’t give chase yet), and all is script driven (which is quite nice)…

Anyway, I’m calling it for today… 24 hours still to go, and I have most of the actual game to make (including the object management, etc). Anyway, I should be able to finish this one, at least enough for the compo…

Task list:

  • Framework working
  • Loading a level data (from a DDS image)
  • Rendering the level (3d generated from the level data)
  • Drawing the character
  • Rendering character
  • Design levels/items so I know what to implement
  • Spawn points
  • Bind spawn points to scripting events
  • Draw “old man” and do speech system (seems like a polish thing, but it’s kind of important…)
  • Give and take objects to the player (through scripting)
  • Spawn creatures and give them rudimentary AI (also through scripts)
  • Draw and animate imps
  • Wand of Unsummoning
  • ….
 

Speech system

30 Apr

And the speech system is in-place… Was a bitch getting right: getting the projected position of the 3d position of the speaker so I could write the text there, center the text, script binds, etc…

Was hard making it visible in all circumstances aswell… Finished writing the text twice, one in black and offset and then in the normal color… Worked quite well…

This is finally shaping up, although it’s not even close to being a game… Next step is probably to draw and animate the imps, making them spawn in their proper positions and giving them AI… Probably will call it then…

Task list:

Task list:

  • Framework working
  • Loading a level data (from a DDS image)
  • Rendering the level (3d generated from the level data)
  • Drawing the character
  • Rendering character
  • Design levels/items so I know what to implement
  • Spawn points
  • Bind spawn points to scripting events
  • Draw “old man” and do speech system (seems like a polish thing, but it’s kind of important…)
  • Give and take objects to the player (through scripting)
  • Spawn creatures and give them rudimentary AI (also through scripts)
  • Draw and animate imps
  • ….
 

Old man…

30 Apr

This last hours don’t show much improvement visually:

But below the hood, I’ve done tons of stuff, mainly a Lua-based scripting system capable of driving cutscenes and other game events! Really proud of it, since it can really makes the code cleaner and handling of the lifespan of objects easier…

The old man in the screenshot appears in a cloud of smoke and will give the object needed for the current level… Just need to add the talking component, which shouldn’t be too hard…

Problem is that I’m running short on time (30 hours to go, but I won’t work that whole time, since I have to rest a bit for work next week… )…

Task list:

  • Framework working
  • Loading a level data (from a DDS image)
  • Rendering the level (3d generated from the level data)
  • Drawing the character
  • Rendering character
  • Design levels/items so I know what to implement
  • Spawn points
  • Bind spawn points to scripting events
  • Draw “old man” and do speech system (seems like a polish thing, but it’s kind of important…)
  • Give and take objects to the player (through scripting)
  • Spawn creatures and give them rudimentary AI (also through scripts)
  • ….
 

Got a character!

30 Apr

This has been slow going, but on the bright side, my character doesn’t look like total puke (just like semi-puke)! 🙂

After a great lunch, courtesy of my awesome wife:

got the character moving through the level, with collision detection (my old nemesis… I always get stuck on this and end up with ugly code!)… Even have a small shadow on his feet (helps the visuals, not looking like he’s floating)… The ground texture now seems terrible, so I probably need to work on that (think I just need to tweak the contrast a bit)…

Now I need to take a step back and think what I want to do with the game from here on… Current task list:

  • Framework working
  • Loading a level data (from a DDS image)
  • Rendering the level (3d generated from the level data)
  • Drawing the character
  • Rendering character
  • Design levels/items so I know what to implement
  • Spawn points
  • Bind spawn points to scripting events
  • Draw “old man” and do speech system (seems like a polish thing, but it’s kind of important…)
  • Give and take objects to the player (through scripting)
  • Spawn creatures and give them rudimentary AI (also through scripts)
  • ….
 

Level loading and rendering…

30 Apr

This is not going too well, loads of small things in the 3d system going wrong (why do I insist on trying 3d for this!!!!)… this one ended up just being a small problem in the redundant renderstates checking (was initializing the value with the wrong number)…

Anyway, I can now load a level from a DDS file:

And create level geometry… already had the idea of having just one huge level (works well with my idea) so I already prepared this so it has some clustering done (NxN blocks per mesh, so I can do culling easily)…

Also added texturing so this doesn’t look so ugly… Only use one texture for the whole level, but it has a kind of atlas that I can setup easily:

My graphic skills suck so badly…

I’m having 3d billboard as “characters” in the game, so no modelling is required…

So, my current task list is:

  • Framework working
  • Loading a level data (from a DDS image)
  • Rendering the level (3d generated from the level data)
  • Drawing the character
  • Rendering character
  • Design levels/items so I know what to implement
  • ….

Now I need to get a story going, so I know what to draw as a main character…

 

Ready to start…

30 Apr

Hey all! So the theme was kind of unexpected (“It’s dangerous to go alone… Take this!”), although it won with a big margin!

Saw the theme at 3am (local time) and after discussing it with my wife, she gave me a good idea and I just built on that… On my game, the player will have an item given at the start that modifies in some way the “game world” and he has to pass through the level using it… The cool thing is the item has usually a “bad thing” associated with it, so it really makes the level more dangerous, not less! Should be able to pull this off…

Desk shot: 

Alread loads of cool stuff lying around… Task list:

  • Framework working
  • Loading a level data (from a DDS image)
  • Rendering the level (3d generated from the level data)
  • Drawing the character
  • Rendering character
  • Design levels/items so I know what to implement
  • ….
 

Ludum Dare results are in…

08 Sep

…and “Conquest” placed 9th! This is my better mark ever. There was 172 games in the compo, so this result makes me very happy! 🙂

In specific scores:
Innovation: 12th
Fun: 19th
Theme: 4th
Graphics: 23rd
Audio: 13th
Humor: 30th
Community: 3rd
Coolness: 5th
Overall: 9th

It’s nice to see that my perception of the game (i.e. I think it’s the best I’ve ever done in these competitions) is matched by other people’s perceptions (my best placement ever)…

Apparently everyone thought the game was too slow, which I think was unavoidable (or else people wouldn’t be able to play it, with all the other interface issues I’ve seen on the game)… Balance was off aswell, but it was fully playable, polished, and had a nice concept that I will extend one of these days, when I can find the time for it (hard with my new job).

Anyway, this post comes directly from Appledoorn in the Netherlands, where the HQ of my new company is located (Divitel)… I’m starting a new job now, so I’m setting up (with my partners) the Lisbon office of Divitel, which will be a new company called Divitel Development, focused on Software Development for the telco market… I’ll also be attending the IBC, to get a better understanding of the market we’re moving into.

Hopefully, this new venture will prove better than the last ones… 😉

 

Conquest Post-Mortem

26 Aug

And another competition has gone by… Awesome fun this one…

Time for a quick postmortem of my entry, Conquest:

What Went Right

– Theme: My first impact with the theme was “I hate this one”… On retrospective, it is an awesome theme, really made me think out of the box
– Initial concept: although it took me 3 hours, I got an idea that really got me excited and thought it fit the theme
– Excitement throughout: I was excited with the game the whole time, instead of being excited for 2 or 3 hours and then losing momentum.
– Tracing: the idea to trace over the graphics made by Oryx for the Assemblee competition for the characters was great: it allowed me to save time and have something passable visually.
– Music: I was scared of leaving the music for the end, and with good reason… didn’t have much time to do it, and had to use WolframTones… Although my first tries didn’t yield anything decent, after a bit tweaking the parameters I got something that while it isn’t Mozart, it’s passable for 48 hour game music…
– Cutscenes: While not terribly interesting, I really love doing those small cutscenes, they add to the flavor and they’re fun to program (even though they took me 2 or 3 hours to get right)
– Using my LD framework instead of my engine: I was going to participate on the jam instead of the compo, but looking at the idea I had (and the fact I thought I would take 10 or 12 hours completing the game) made me go for the compo. My engine wouldn’t have given me any advantage over the framework anyway…

What went wrong

– Time managment: What I thought it was going to be a 10 hour development cycle for this kind of game turned into 28 hour… So my managment and estimation was appaling.
– Family visiting: Although I love having people over, having family visiting on the weekend took away some time I could have spend programming… thankfully my wife did most stuff by herself, leaving me with just entertaining the guests… while I wasn’t running towards my office to program a couple more lines (jeez, I sound like an addict… 🙂 )
– Bugs: Ran into some bugs after the deadline, which meant the game seems more buggy to everyone than it seems to me… :\

What went “meh”

– Thousands of ideas flowing through my mind while I programmed the game… This is a mixed blessing… I look at the game as it could be, while people will look at the game as it is… 🙂 Lots of ideas made me be excited about the game the whole time, but it also was source for some frustration, since I couldn’t put everything I was thinking off…

The game has circa 2000 lines of C++ code, and the framework about 17000 (most of it 3d related and stuff I’m not using though).

Tools used:

Code: Visual Studio 2005
APIs: DirectX 9 (Feb), FMod, Win32
Graphics: Photoshop CS4 (mostly traced from Oryx’s pack for the TIGSource Assemblee compo), 3d Studio Max 2010 (for title screen)
Sound: WolframTones (very awesome, only had 20 mins or so to play with it), Midi Converter Free (online free midi to mp3 converter)
Blogging: Zoundry Raven, Internet Explorer
Reading LD: Omea Reader
Listening music: Winamp

I’ll probably want to play around with this idea for a bit longer, add some of the ideas I’ve had during the development… Hopefully I’ll post the new version in the future, albeit I don’t know when, since I’m starting a new job next week… :\