About Frib


Ludum Dare 26
Ludum Dare 25
Ludum Dare 24
MiniLD #36
Ludum Dare 23
MiniLD 31
Ludum Dare 22
Ludum Dare 21
Ludum Dare 20

Frib's Trophies

Frib's Archive

I’m in!

Posted by
Monday, April 16th, 2012 2:52 pm

My first LD was a year ago. This will be my fourth, and I’m in!

This time I’ll be using C# with SDL.NET, rather than XNA. I wanted to try something new this time, but I don’t have the time to learn something new before this weekend, so I’ll just stick close to my comfort zone with C#, and at the same time I can learn a new way to draw stuff on the screen! πŸ˜€

And if it turns out to be easy, I might even try porting it to mono so I can get a linux version out as well.

Tools will be Visual Studio, Paint.NET, bfxr and iNudge. Frameworks will obviously be SDL.NET, and I might cook up a quick framework this week for some added basic functionality like screens, input and resource management, etc. I’ll obviously release that to the public if I do that.

Finished! Free the Internet!

Posted by
Wednesday, January 18th, 2012 7:48 pm

My SOPA themed DX:HR hacking / Uplink LAN hybrid is finished! You can find it here http://www.ludumdare.com/compo/sopajam/?action=preview&uid=3939

Hope you enjoy it!

Crawl the Dungeon – Christmas Edition!

Posted by
Sunday, December 25th, 2011 7:26 am

Only a few hours ago did I find out about these christmas changes. So I started working on mine, and here’s the result!

It also includes some gameplay changes that I worked on the day after LD22 finished. Also, the nice thing is that editing the content was very easy, but adding separate textures isn’t possible at the moment, so I had to replace the tileset with a new one. Also, I couldn’t save the old content because there’s no way to choose which you want in a level (which you can’t choose either). So there’s still lots of room for improved mod support.

But anyway, enjoy, and merry christmas!

Direct link

Link to the rate page

Crawl the Dungeon Post-Mortem

Posted by
Monday, December 19th, 2011 5:13 am

I had a lot of fun working on my entry! This has been my third of many Ludum Dares. Working on Crawl the Dungeon was a lot of fun, even though I had to scrap many wanted features because of time constraints. Anyway, here are my what-went-right’s and what-went-wrongs

What went right

7 hours before it started, I started working on a quick and simple level editor. It has helped me out immensely, even though I only have 1 actual map. There were some issues with the original release (it repainted way too often, which took a lot of time) but with a few small tweaks, that was fixed. In any case, it made changing and adding levels extremely easy.

My game content, while very basic and ugly, is completely generated from a single XML file, allowing me (or anyone, including you! Right now!) to edit different entities on the fly. Using it saves a lot of time when adding new content.

My code is decently structured, and while in the last few hours I had to do a bunch of dirty fixes, it still is relatively clean compared to my last LD games. Which is nice.

What went wrong

Time. I had to do things on sunday, subtracting about 9 hours of time. Because of that and the features I had planned, I had to scrap a lot of them and even rush a lot of simple things. Graphics are terrible placeholders, there is no sound, there’s only 1 map, no story, and regarding gameplay mechanics, I still wanted to add armor, explosive projectiles, and a bunch of other things like item shops. And the original plan was to add a party system as well. I don’t think I would’ve made all that with the extra 9 hours, but still, it would give me a lot more time to polish things up into a bigger game with more content and features.

Working on the cool content generator took a while. In the long run, it would save me a lot of time when adding new monsters, items, and stuff. But sadly, there is no long run in 48 hours :D. While it’s a very nice system, I wonder if it was worth it. But that’s hindsight, and because it’s there, I might even continue working on my game for a while longer.

Most of my graphics are 1-minute paint jobs, and it shows. πŸ˜€ I’m really sad that I didn’t add any sound or music, though. Oh well.


Awesome Ludum Dare. Sadly I didn’t use the theme in the way that I wanted because I ran out of time, but I had a lot of fun as always, and the 3 AM deadline is the best and most exciting deadline ever.

Still a long way to go

Posted by
Sunday, December 18th, 2011 10:57 am

About 8 hours left, and I still have a ton of things to do. So I’m going to scrap some planned features.

I have added an inventory, allowing you to carry and use up to 5 items. I’ve also added support for effects, which can be used in potions, or on weapons. I’ve also added the possibility of having ammo for weapons, discarding them when they’re used up.

I’m going to add loot drops and chests, and an inventory management system. After that, I’m going to add a character creation screen and maybe item shops. Finally, I’ll spend my remaining time on adding content, such as monsters, maps and more items. Oh, and I also need to create music and sounds.

Sadly that means I’m going to scrap the whole party based story concept where people die and you’re left alone. I’d rather focus on more content at the moment. Besides, technically you’re alone in the dungeon so the theme still fits, sort of. Maybe I’ll continue working on the game after the LD finishes to add more stuff. I’m happy that I kept it very modular and relatively clean code-wise, because that will help a lot in the long run.

Progress after a day

Posted by
Saturday, December 17th, 2011 5:40 pm

I’ve added fully functioning enemies, weapons and projectiles. There’s also basic AI, and a basic user interface showing which weapon you have and some other things.

But the best part is that I’ve created a fully configurable content file, allowing me (or in fact anyone) to edit everything about this game, except the textures. I can now add new monsters, give them one or more weapons to choose from, and set their level. Then I can create maps, and add spawn points for specific monster levels. That’s it! No hardcoding monsters, weapons and projectiles, it’s all in the configs. Instant mod support!

So the plan for this game was to make it party-based, and have party members be interesting with lots of dialogue, and then have them die and let everyone else (or just you when you’re alone) cry at their death. I have no idea how far I will get with that tomorrow. I only have about half a day left since I have other things to do sadly, so I’ll probably scrap that idea. Maybe I still add party members and have them be dumb and suicidal, or maybe I’ll just keep it solo as it is now, I don’t know yet. Given my schedule, I’ll probably add a crapload of content (loot, inventory, etc) and turn it into a silly dungeon crawler instead of the story based party dungeon crawler I had in mind. But we’ll see.

Working entities, projectiles and collision

Posted by
Saturday, December 17th, 2011 6:48 am

In the pastΒ  few hours I’ve made entities, a camera, projectiles and collision. So now I can kill bad guys. Yay!

I still have to add more stuff to the projectiles, like a lifespan, speed, and other options like AoE explosions on impact, and more stuff like that. Then I can create an xml file and define all the weapons and projectiles and stuff in there so I don’t have to hardcode it.

When I’ve done that, I’ll do the same for enemies. Then I’m going to add basic AI, and once I’ve done that, I can work on the party features, the maps themselves, and dialogue + events.

And if I get all of that done, then I still have to create proper graphics. So much to do! D:

Good morning!

Posted by
Saturday, December 17th, 2011 3:54 am

After 3 hours of work when the theme was announced, I got some sleep. Now I woke up, ready for more sleep. But no! I must continue my game! No more sleep for me.

The plan is to create a top-down dungeon crawl-ish game with a party, and shit hits the fan and people are dying and stuff and it’s very emotional somehow. I’ve no idea if I can get the mood right, but if not, then at least I’ll have a actiony game. I’ve currently got a simple world and camera running. Next step is to add a player character and NPCs, and a fight system. When that’s done, I’ll have to work on a dialogue system, and create some nice levels, and a lot of other stuff like the characters themselves. Lots of things to do!

Made a simple map editor this evening

Posted by
Friday, December 16th, 2011 5:14 pm

So I had nothing to do a few hours ago and I wanted to do something productive for this LD. One of the tools I’m still lacking is a simple tile editor without some fancy useless output system. I wanted something quick that outputs a csv with the index of each tile. So I made it. I don’t know if I’ll use it (depends on if I want a tile based game, of course), but at least the option is there!

It’s very basic. You load an image file as the tileset, and enter a few parameters for the map width/height and the tile width/height. Then you can paint stuff and be happy. When you’re done, you can save it and it outputs a comma separated file with integers based on the index of the tile in the tileset. You can also load existing maps made this way. You can pan and zoom as well, and change the parameters and tileset with an existing map.

It hasn’t been tested extensively and could crash, but for me it’s good enough. If anyone wants it as well, let me know and I’ll host it somewhere + source (I made it in WPF, so windows only I’m afraid), but know that there are ‘better’ map editors out there. I just needed something that makes maps which are quick and simple to implement in-game, and this is the answer to that, I hope. If you need this as well, then let me know!

Now I gotta think of something for the remaining 2 hours πŸ˜€

edit: Here it is! Feel free to break it


I’m partly in!

Posted by
Sunday, December 11th, 2011 1:37 pm

This will be my third LD and as usual it will be awesome. While I’ll be busy for a while on sunday, I’m still in! It means I’ll have less time to do more awesome things.

I’ll probably be using C#/XNA, Paint.NET for super fancy high quality graphics, bfxr for super fancy high quality diverse sounds, and probably audiotool/inudge for super awesome musics and stuff.

Abstraball postmortem

Posted by
Tuesday, August 23rd, 2011 10:15 am

When I saw the theme list on the final day of voting, I was rooting for one of the stealthy themes. They didn’t make it, but escape allowed me to work this idea I had for the past week into a game. I wanted to try and create a top-down game with true line of sight. The end result is Abstraball, a game with true line of sight, so I guess I succeeded with that. But it could’ve been so much better if I changed some things at the start.

Day 1

I did my usual routine for making an XNA game. Create a simple screen system, a world class, entities, and fix up drawing things. This time around I wanted to use polygons instead of using the spritebatch, and I wanted to make variable sized geometry rather than tiles. So I worked on that. The camera would be orthographic instead of perspective, and not being limited to square tiles would mean I could make simple big geometry for large portions, and resort to more complex (read: diagonal walls!) shapes when I wanted fancy things. After doing that, I worked on the shadow effect. First I made the area next to and behind you black. Then I added the effect on geometry. And that’s when I should’ve made a different decision. An orthographic view with ‘shadows’ like that is practically the same as a perspective view with pillars reaching to infinity, but without the texture support, and the without ability to easily prioritize what should be drawn. At first I didn’t realize that, but now I do, and I definitely would’ve done it differently if I had known at that point.

Anyway, I continued with that, thinking I could make it look better later on. I started working on the map. I had the ability to make any shape I want, to make any complex level I wanted. But I had no level editor, and placing things by hand was a pain. So I resorted to creating a bitmap, and importing/parsing that. So at this point I had fancy, unstructured polygons shaped as square tiles, without the benefits of a tile grid. That was mistake #2. I should’ve made it tiled, then I could index things more easily and efficiently, and also easily make a bit more diversity with other shaped walls. But I didn’t. Pathing the world was tiled, but they didn’t support each other. I also had to make some optimizations so unnecessary geometry wouldn’t be added.

Day 2

At this point I started to realize the mistakes I made during day 1. I lost some motivation, but kept on going anyway. I worked on the AI, and after a few hours I got a nice and robust AI system that got the job done very nicely. But again, I had optimization issues because of the way I built the world. So I had to cut on a few things to make it playable. Pathfinding was just bad, and occasionally it would take a second to calculate a path. Line of sight calculations were bad as well, and many other things were bad too. But I worked around most of them. Next to those things, I added the footstep sounds, and the positioning for it. So by now I sort of had a playable game. I named it abstraball because I knew I couldn’t fix the graphics, so maybe coining it as an abstract game would help.

With about 8 hours left I started talking to a friend. He playtested my game and gave a bunch of tips for features and gameplay changes. I added difficulty modes, tweaked the AI, added a compass, the energy bar, fixed a few glitches, added the plague bearer mode, and did some other minor things. He wants to be credited for being awesome, which he is, so his name is savooipeerd. With about 4 hours left I added a few final touches. I composed the music with iNudge in about 10 minutes, added keyboard configuration options, and started to playtest some more for balancing changes. I fixed a few annoyances, and with an hour or so left I was done.

Final thoughts

While I’m not that happy with my game (it could’ve been much better), I still greatly enjoyed creating and playing it. I feel my previous (and first) entry of LD20 is a lot better overall, but during the creation of this game I learned a lot of new things and tricks, which I am sure to use next time. I’m going to stay away from the spritebatch completely now, as I now have a relatively good understanding on how to work with primitives. For the next time I’m going to roll out my own engine/framework/toolset/whatever to prevent having to search for and redo basic things, and to do it right. The current code is such a mess, it’s just plain terrible. I broke so many best practices because of laziness, and while it’s part of LD, it still feels terrible for doing so. πŸ˜€

In any case, I really enjoyed this LD and I’ll participate next time as well! I’m also going to attempt to do the october challenge as a motivator and deadline to finally do something with a project I’ve been working on and off for over the past year.


Posted by
Sunday, August 21st, 2011 7:47 pm

Abstraball is done! You can find it here

It’s a top down 2D-turned-to-pseudo-3D game in which you control a little yellow ball through a complex filled with bad guys. You can only see things that aren’t blocked by other things, so you can’t see past walls. Enemies have fully functioning AI, and they will patrol and guard areas. If they see or hear you, they’ll chase you, and if they touch you, you will die. A compass tells you the general direction to move to. There are 3 ‘areas’ the compass points to, the third being the end. Reach that and you win. You can sprint, but that makes noise and costs energy, so use it to get out in emergencies, and use it wisely. You can also creep to move slower, allowing you to peek around corners more safely. Leaning left or right allows you to peek around corners more easily.

There are 4 difficulty modes. The fourth mode, plague bearer, changes the game a little bit. While you are even weaker than the 3rd difficulty level, you will notice a few subtle changes. Additionally, as a plague bearer, if you touch an enemy that is not aware of you, then he will die. Make it to the end as a plague bearer and you will earn a virtual cookie for being awesome because I haven’t finish it yet that way.

I’ve added custom keybind options. It’s not perfect (it only supports keyboard, not mouse input) and there’s probably a few edge cases not working, but as far as I know it’s good enough for simple rebinds. So yes, I thought of you non-wasd-ers πŸ˜€

I had a lot of fun creating this game, even though I know I could’ve done better. But due to some design decisions early on, it ended up like this. It’s not bad, but it could’ve been more. πŸ˜€ I’ll write a post-mortem in a few days, showing the few goods, the bunch of bads, and the oh so many uglys.


The first person to win plague bearer mode receives a virtual cookie of awesomeness

Time to finish things up

Posted by
Sunday, August 21st, 2011 9:09 am

The AI is now done and fully functional. They can have a variety of states, like patrolling, wandering, guarding, and of course chasing you. I hit a few roadblocks while doing AI, and I’ve been working around most of them, as usual. But because of that, it’s such a mess now that it started to hurt performance-wise. So I had to work around that as well.

I’m not very happy with my game so far. I expected to create something else, something more fun. What I had in mind and what it is right now are similar, but I imagined it to be more fun to play. πŸ˜€

In any case, I’ll finish my game. I’ve got footstep sounds with panning depending on where you look (which is very confusing when you’re looking down, as left=right and right=left then) which makes sound sort of useful, but while it should be a vital key to knowing where your enemies are, it doesn’t really help that much at the moment.

In hindsight, if I had known my game would end up looking the way it does (infinite 3D pillars going to the sky instead of shadows, tiles instead of more ‘exotic’ polygons), I would’ve made something more similar to the old GTA series. That way I could at least paint the walls with a texture, or turn it into first person view from the get-go. I’m not unhappy with the current state, but I really did expect something else. It’s been a good and fun experience so far, though.

On my to do list are menus, win and lose conditions and a screen, and some more fancy graphics if I can. I won’t add any more level objects like doors and keys and all that.


Posted by
Sunday, August 21st, 2011 2:34 am

It’s a few hours into the second day, and I’ve done a bunch of things since last time. I made a quick and dirty image-to-map converter. I can now use my awesome polygon code, which makes practically any kind of geometry, to create simple squares which are basically tiles but without the bonus of tile indexing. Hooray. So inefficient and not what I want but it’ll have to do for now. It beats having to manually enter every piece of geometry. I’ve also added waypoints for pathing the AI. It works like a charm. I’ve also started working on the enemies and their AI, and I’ve got pretty much all the groundwork in place. They can ‘see’ a player, and geometry blocks their sight. They can use pathing. I just have to create their states now, and also limit their sight to what’s in front of them.

Here’s a picture of an enemy chasing me

Only being able to see a portion of yourself still feels a bit weird. I can’t explain why, but for some reason I (as a player) really really really want to see my whole circle and the game won’t let me. As a developer I still have to figure out if that’s good or bad.

Stuff to do:

  • Finish up AI
  • Limit AI vision to what’s in front of him, similar to the player
  • Add patrol points
  • Add footstep sounds and other noises
  • Add doors, traps, special things, and fill the level with enemies
  • Add win and lose conditions
  • Add a main menu
  • Add fancier graphics, like a proper floor, proper player/enemies, etc
  • Optional: Make a new, proper map that doesn’t consist of squares only

About 16 hours left and most of this should be doable

Second update

Posted by
Saturday, August 20th, 2011 6:51 am

I’ve tinkered with the visuals a bit, but decided to keep it as it is right now, meaning that things you can’t see look like giant pillars going to the sky. So far I’ve tweaked the camera and the view distance a bit. The camera ‘moves’ with the mouse, so the further away the mouse is from the player, the further ahead you can see. It is capped though (both on the mouse distance and on what you can see). Without it, it felt very annoying and bad to look around. With it, it feels a lot better, but it’s still not perfect. I think the best way would be a camera that lags behind a bit, so it moves smoothly and steadily. This would also affect the gameplay a little, meaning you can’t look around very fast, which is a good thing. But that’ll come later. I’ve also added full polygon collision, so you can’t walk through walls anymore.

Here’s a screenshot:

There’s still many things to do. Here’s my global todo list:

  • Create enemies (with AI) that patrol and try to kill you
  • Create pathfinding for said enemies
  • Create doors, traps, and items to use
  • Create a level editor
  • Create a level with said editor

I’ve no idea how far I will get. The AI will probably be a tough task to do

Woo, line of sight!

Posted by
Saturday, August 20th, 2011 2:24 am

I’m going to create a ‘simple’ evade all enemies and get out of some place game, with stealth and all that. 2D, top-down view, nothing fancy. The first step was to render the world with line of sight. I’ve just finished that, but there are some unforeseen issues with it. Here’s a picture of what it looks like right now:

You control the direction you’re looking at with the mouse, and you can’t see behind you. I added a few blocks in the room, which you can see. Well, you can’t. You only see the shadows cast by it. Because I want the game to be 2D and not 3D, you cannot ‘see’ walls (like in the old GTA games). At first I thought that would be ok, but now I’m having doubts. You see, when moving around, those shadow cast by the geometry look like 3D pillars that go up in the sky. So, accidentally, it looks like the old GTA games but with black buildings instead of textured buildings. Oops.

So I’ll have to figure out a way to make it look like it’s 2D (which it is), while still keeping shadows like that. Any ideas are welcome, but I’m going to try and add an offset to the shadows so you can still see a little bit of wall before it goes black.

Now it’s time for food, and then I’ll try to fix that. If I can’t get it to look decent in a few hours, then I’ll just keep it as it is now and work on the gameplay. When that’s done, I can always revisit it if I want to. Still, I’m very happy with the result.

[cache: storing page]