mrwonko

LD20

So I’m going to participate, too.

I’ve previously had some fun with Mini Ludum Dare 23 and 24 so I’m totally in. Wait, there has been a MiniLD 25 while I wasn’t looking? Oh. *gets on mailing list*

Anyway, this time I’m prepared. Or at least I know when it’s going to happen. So that’s a good thing.

I’ve previously used SFML 1.6 and that worked out well, but I’m toying with the idea of using my (SFML based) WIP framework for this.

On the other hand it’s about time I switched to SFML 2, so maybe I should rather use that. Or I could try updating SFML in my framework, though I’d better do that before the compo starts. Which I can’t, not enough time. So I guess I’ll use SFML 2. Looking forward to that.

So long,

Mr. Wonko

So I might just use my framework…

Turns out updating my framework to work with SFML 2 wasn’t that much work after all. And I like SFML 2 so far.

So for the record: I will probably use my WIP game framework (or engine?) for my Ludum Dare entry. Amongst others, it

  • glues together SFML, PhysicsFS and Lua
  • has a console with console variables (“cvars”) and commands
  • provides a high-level input system, or will do that one day – it’s not exactly finished and I will probably not use it.

Wow, that’s not much. Well, I’m not done yet, I plan to expand it and use it on future projects. So far it’s mostly SFML in Lua. Or parts of SFML, for example it’s still lacking sfml-audio. Which, come to think about it, sounds like a somewhat serious flaw. I might add that tomorrow so I could use it, should I need to. Maybe.

So long,

Mr. Wonko

Update #1

I’ve started working on my game.

Yesterday lying in my bed I thought about games I could make and was most intrigued by non-euclidean space. Due to the lack of any better ideas I’m now using one of my ideas from yesterday, a world that uses polar coordinates. Which admittedly is not non-euclidean, just non-cartesian. I mixed those two up. Whoops.

So I started with a somewhat difficult, but very essential part, the rendering engine. I’m using a software renderer, I just hope this won’t be too demanding on the cpu in the end. It can only display “rectangles” so far, but I don’t plan to use anything more complicated. Well, I haven’t planned much anyway.

I haven’t thought about gameplay that much yet, it’s some kind of platformer obviously. I’ll need some kind of special item which you get (“Take this!”) – so far I don’t know what that will be.

I think I’ll take a break and think about it.

So long,

Mr. Wonko

Update #2

It’s a little later and I’ve done a little more.

I drew a stick figure player image and a star and put them in the game. I also have levels now, they’re loaded from text files.

Next: Physics, i.e. the platforming part.

After that: Come up with something the player gets because it’s dangerous to go alone.

So long,

Mr. Wonko

Upate #3 – Problems

So I started with the collision detection / physics engine.

Ouch.

It really makes things complicated that anything is both left and right of you on a round world. I wanted to use projection onto a line but that won’t work, at least not as easily as I had hoped. So I can’t/won’t do that.

I have two options.

  • Screw the round world and most (if not all) of the code so far, just use an ordinary cartesian coordinate system (way simpler!)
  • Use a different collision detection, e.g. “just try to move the player and see if he’ll be stuck”

I think I’ll do the latter, though doing the former might actually make things easier for me… I’m totally unsure. I’ll think about it while shaving.

So long,

Mr. Wonko

Reboot.

I think my previous game was too ambitious. In the interest of KISSing I have decided to start over, doing something simpler this time. Sticking to cartesian coordinate systems.

Now I’m where I was before – in need of an idea. I’ll just take another look at the themes that didn’t make it, maybe they’ll inspire me.

Looking good so far :)

Starting over was probably not such a bad idea. Using SFML and a cartesian coordinate system is way easier. My framework is also turning out to be quite useful, especially the CVars (customizable controls! Yay!), and Lua allows for more quick (& dirty?) coding than C++.

So as you can see I’ve got a player who can shoot. I’ve also got stars in the background. There’s some sound & music, the latter done using this trick, the former with SFXR.

So the most important part still missing are enemies. And for some reason I keep avoiding adding them, instead adding another weapon, music or something else. Oh well… This might turn out to be a very polished space flying simulator. 😀

So long,

Mr. Wonko

Finally a game!

So I think my program now deservers to be called a game.

There are now enemies, levels, health, a score and you can win and loose.

Well, there is actually just one level and just one kind of enemy so far, and the level is not final or anything, but it can no be properly played. Wohoo!

So since it is already playable now I’m pretty sure I’ll have something playable for this LD.

So long,

Mr. Wonko

LD22

Getting ready for LD22

The Search for Fun sounds like a useful title story. :-)

So here we are again – a new Ludum Dare. After procrastinating as long as possible I’ve  finally done some preparation. I’m going to be using my Renaissance Engine again – I already used it in LD20 and when I just set up a branch for LD22 (SCM is a wonderful thing) I realized I didn’t really do much work since then, although it is far from finished. Faaaaaaaar. Whatever. It’ll do.

Here in Germany it’ll be 3 am when the theme is announced – I’ll be asleep by then, being well rested is more important than starting the minute the theme is announced. The german Making Games Magazin arrived just in time for Ludum Dare, I’ll be reading that in bed, followed by sleep.

So good night (where applicable), see you tomorrow! And happy coding!

My workspace (the clean part of it, anyway)

Thoughts on the Theme

Here I am, well rested and ready to rumble.

The theme is alone – I suppose that’s the closest we could get to “it’s dangrous to go alone, take this” 😛 Much better theme though, I only had lunch and I already have multiple ideas:

  • You’re a coder who wants to be left alone so he can code for Ludum Dare but people keep bugging him
  • Something involving a dating service
  • You’re all alone and hate it, so you clone yourself
  • Some kind of evil god game where you try to separate the people

Those are settings, no game ideas, but so far I like the theme. I’ll still spend some more time figuring out what I’ll actually do.

–edit–

More ideas!

  • You’re some kind of monster who really just wants to have a friend, but everybody’s scared of you and runs away. When you try to talk, you scream unintelligibly instead. It’d be some kind of point & click adventure and your goal is to find a friend – maybe by destroying the city and building a heart out of the rubble?
  • You’re an RPG hero who’s just “beat the game” – you found the best sword, beat the boss with two hits and saved the world. Now what should you do? Any monster you encounter flees when it sees you. You’re all alone. (But seriously: what should you do? This sounds like an interesting problem, but how should it be resolved? Let’s ask the IRC!)

Comments

17. Dec 2011 · 06:28 UTC
3 was part of my original idea, 4 is part of my current idea

So I started working…

I’m still not quite sure what my game will be like, but I’ve decided to keep it simple and do something where you move a player through a 2D environment. That requires levels, ideally a level editor (it probably takes less time to code that than to manually create the levels?) and some kind of physics engine. I don’t have any physics in my Renaissance engine yet. So I started from scratch after all, using SFML and Box2D.

So far I’ve compiled Box2D (I’m always surprised when that works flawlessly on Windows), created a basic high-level architecture/hierarchy for the game objects/levels (keeping (de)serialization in mind for level editing/saving/loading), created an SFML window which can handle being resized and wrote a debug display class for the physics – I figured that’d help me debug physics better, but it’s basically not very important… I don’t even have physical objects at this point! (Besides some test objects to debug the debug drawing…)

I have no game, but I've proven that Box2D is indeed a physics engine.

Well, I suppose that’s just me doing the easy things first. And I fear I might end up having a nice level editor but no game to go with it. Oh well, we’ll see.

visible progress

It’s pretty unrewarding how you usually have little visible progress in the beginning, yet code a lot. I’m now finally at a point where you can see stuff – I have working level editing, although the only objects so far are static rectangles. Thanks to my good architecture adding more is pretty simple though. I may have the cleanest code in the compo – too bad that’s not rated.

As you can see, my focus is clearly on art (*cough*). Too bad I don’t have any Audio to go with it yet. (Will I ever?)

Twelve hours left to go – that should be enough to turn this into a game, I hope. I may make something Super Meat Boyish – if I spend enough time on the levels, the gameplay could be pretty nice. (Is the SMB Soundtrack running in the background influencing me?)

Gameplay!

I’ve added a player so my game is finally playable! I don’t think I’m going to add any art, it’d inevitably look programmer artsy, I’ll stay with this abstract style. I’ll try to add a simple particle system though so the player creates sparks when he moves, which might look kinda nice. (And it will be my first particle system, so I get to learn even more! :) )

First I’ll make the whole thing winnable though – I need a level end sensor. And a winning screen. I may add pushable physicle objects (crates etc.) since I’ve made the jump apply an opposing force as well, which currently doesn’t affect anything.

Sounds & Sparks!

The player can now die (with a sound!), plays a sound when jumping and spawning and leaves a fancy trail when he moves fast. Well… fancy… Judge for yourselves:

I’ll spend the remaining 3 hours creating levels.

My game in retrospect

So I finished my game. That’s good. What else was good? What wasn’t? Read on.

When the theme was announced, I was asleep. That’s probably good, you shouldn’t be too tired. After reading the theme, I had a couple of ideas. Those were mostly settings though, no game designs. Maybe I should’ve picked one and thought of a game around it.

So when I couldn’t really think of a game I would’ve liked to make, I just started coding with no idea where I was going. Well, that’s not completely true – I knew I wanted something 2D with Physics (at least collision etc.) so I went for SFML and Box2D. I thought I might make something where you explore a world in a top-down perspective, not encountering anyone, feeling alone.

I previously often used text editors to create levels – I knew I didn’t want that, it’s tedious and once you make enough levels, creating a level editor is faster. Ingame editing seemed like a nice thing so it was just a matter of giving all my classes Serialize/Deserialize functionality and adding an Edit Mode in which various tools can be used to edit the level. (I really shouldn’t have created a new class for each tool though, function pointers would’ve worked just as good.)

The first thing I added were rectangles and the ability to place them in the level. The first visible thing anyway. Unfortunately you have to code pretty much before you have any visible progress when starting from scratch. Visual progress motivates, so having none is kinda bad.

So when it came to gameplay I took the easy path and went for a Super Meat Boyish platformer. Not innovative or anything, but I’ve never actually done a platformer before so it at least was something new to me.

And when it came to art… oh, right, it never came to art. I have colored rectangles. Which I don’t really mind – I won’t win the best graphics award, but it allowed me to focus on what’s important to me – coding. I’m not too good at art anyway. Well, I’m okay, I suppose. Art… I’ll come back to that in a moment.

As far as sounds go – well, I slapped on some bfxr effects for good measure, and it does make the game better, but I’m lacking music. I tried recording some but neither did it turn out well nor would it have fit the game I ended up making. I also tried recording some rain. Somehow I even managed to screw that up. I wouldn’t’ve had use for it anyway though.

So what have I learned?

  • Clean code/good archticture pays off. Two hours or so prior to the deadline I decided to add movable crates and was done within about 30 minutes – without any dirty hacks. (Sure, there are a couple of bad things in my code, but for the most part I’m quite happy with it.)
  • Creating stuff that would usually be part of an engine takes a lot of time – using a premade engine is advised if I want to focus on an actual game. I don’t mind learning about the kind of coding that does into an engine though.
  • Terraria is fun, but time consuming. I did defeat the Wall of Flesh though! :)
  • After staying up until 4 am you won’t be able to sleep until 12 am – the phone will ring at least twice.
  • A level editor is useful, but creating levels is still quite some work. I might want to look into procedural generation.
  • Probably more I can’t remember right now. Wait, does that mean I didn’t learn it?
  • We need a mfxr for music.
  • We need a gfxr for graphics/art.

About that gfxr – that’s possible, isn’t it? Actually, I’m pretty sure anything humans can do can be done by computers because in the end we follow physical laws that could be programmed into a computer and should lead to the same results (yep, I’m a determinist), but is it realistically possible for us to create such a program at this point?

I’m not talking about mix & matching different torsos/legs/heads or something like that, that wouldn’t be allowed in the compo, it needs to be completely procedurally generated. I’d kinda like to try that, but I already have multiple projects which should be finished first. May look into this later, we’ll see.

I’m looking forward to the next (mini) Ludum Dare, it’s when I get most stuff done.

LD23

I’m in!

Just a small post declaring a library I might use – I just finished my Spriter loader for SFML and I may use that. (In conjunction with SFML of course.) Spriter is a promising 2D animation tool currently doing a Kickstarter. (Do you “do” a Kickstarter? Run? Have? Whatever…)

First though: Sleep. I’m basically working overtime right now, it’s 2:30AM and I should get some sleep. And I doubt waiting for and reading the theme would help with falling asleep fast.

My idea: Tiny Ludum Dare World

After thinking about the theme for a while here’s what I’ve come up with so far:

You’re the manager of Ludum Dare world, your goal is to get 1000 inhabitants within 10 years. You start with a small round planet and add buildings to it to attract game developers.

There are two resources:

  • Money is generated by donations you get on each of the 25 Ludum Dare events (don’t forget 0 and 11.5) and is used to build new buildings
  • Energy is made by generators (built for money) and required to power computers, which attract developers.

I like the general idea, but so far there’s no real challenge, is there? You should probably have to keep the developers happy lest they leave, so what does a happy developer need? Or do you have any other ideas?

So long,

Mr. Wonko

LD25

I’d like to Inform you I’m starting.

After being busy doing work for uni I have now started working on my project.

University. It’s nice. For example because recently one of the profs mentioned Inform7, which I am now trying out on this Ludum Dare project. I have a lot of learning to do, but that’s a reward in itself. If I manage to make a fun game in the process, all the better.

I’ve got a world

I’d show you a nice screenshot, but they don’t work very well on text adventures. So let’s just talk about it.

I’ve learned most of the basics of Inform, so I can now focus on the actual writing. By now I have a clear idea of what I want, which is certainly good. For obvious reasons I’m trying to keep it simple, but I might still run out of time… So far I have all of the rooms, but hardly any of the items or their logic.

So back to work!

not finishing

So it looks like I’m not finishing. Too little time, too much distraction. I’ll just upload what I have anyway, it’s playable after all.

And it’s not like I lost – I learned a new language, so it’s really a big win.