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

Species Hunt is done!

Posted by
Sunday, August 26th, 2012 4:10 pm

My compo entry is done! You can find it here

I loved working on it, and I hope you guys will love playing it 😀

Wish you were here

Posted by
Sunday, August 26th, 2012 7:35 am

Emergent gameplay? Check!

A game based on photography needs some pretty scenery

Posted by
Sunday, August 26th, 2012 3:59 am

Roughly 5 hours into day 2, and I’ve prettified my game a bit. Flowers are new, as are the sun and clouds. In addition to that, I’ve added layers to the terrain, so now there’s a beach and some snow! 😀

Sadly the layering is very basic, and blending textures together isn’t possible at the moment. So there will be jaggies. Fixing that will involve dealing with shaders, and I really cba to do that. My dirty way of separating the terrain into 4 different groups of vertex buffers works fine enough for this. 😀

In the next two hours I’ll add font and back textures for the birds. Once that’s done, I’ll have to work on the gameplay. Still unsure what to do with it exactly, as time is running out and I need to add a hefty dosage of polish, ambient sounds, menus and options, which I’ve scheduled for after dinner.

But I’m very happy with what I’ve achieved so far 😀

Photographing birds is now possible

Posted by
Saturday, August 25th, 2012 1:48 pm

Day 1 is almost over for me. In an hour or maybe two I’m gonna get some sleep. Today’s progress has been great!

I’ve started with the basic rendering things. I made an island using World Machine, got it to render, added water, and then added a freeform camera. Then I worked on the trees. These trees are limited to a certain height on the island, so they don’t pollute beaches or the mountain tops. After that, I added the player character, and worked on the camera. The camera can take pictures, which are added to an in-game photo album. You can scroll through these pictures, and click on them for a bigger view.

After that, I started working on the birds. For my entry I want unique birds, and it will be your goal to photograph every kind of them. So I had to make them modular. By separating each part of a bird, I can now animate and color them independently. Which I did. The most generic birds are white, but it’s possible to find more exotic ones. Animating them was pretty easy as well, and they can now walk, fly, pick their feathers, and glide to the ground. AI was next, and now the birds will do stuff on their own. They’ll stand still, then start walking or flying somewhere, etc. And if you get too close, they’ll move away often.

So it’s been a very productive day today. The birds are only drawn from the side, and tomorrow I’m going to add 4 view directions for them. Right now they can moonwalk 😀 . I’m also going to have to figure out what to do to make it more of a game. If I get rid of the “explore islands for new species” part, then it won’t fit the theme. So a generic “photograph different birds doing different things for points!” game won’t really cut it. Ah well. We’ll see what happens. I’m also going to add an option to save any photographs to disk. Or maybe even let the game do that automatically, as an option. And maybe a few more animal types and plants, or procedurally generated islands. Bonus points for photographing a kitten.

Lots of different ways to continue, but I’ll leave that for tomorrow. If you want to try the current state of the game, you can grab the source from here https://github.com/Frib/LD24. It needs .NET 4 and XNA. Move with WASD, right click to equip your camera, left click to take a picture. Use scrollwheel or Q/E to zoom in/out when holding the camera. Press esc for your album, click on photos to view them, or press A/D to move between them. If you’re not a QWERTY user, a config file will be generated when you start it. Just edit that as it’s not possible to do that in-game yet.


Posted by
Saturday, August 25th, 2012 7:29 am

It works! 😀

First you find a beautiful spot in the game world. Then you get your camera out, and zoom in/out to get the perfect shot. Finally, take the picture, and it’ll be ready for view in glorious high res 640×480, twice as much as the 320×240 camera view shows you! 😀

First update

Posted by
Saturday, August 25th, 2012 5:47 am

I’ve got my terrain renderer working, and I can now add trees randomly to the world, between specific heights. And I’ve got a player character, obviously with full body awareness, as you can see above. 😀

I’m making a photography game. The idea is that you have to take pictures of different animals. Then you have to classify them. Some animals will have slight variations, meaning they’re a new species. Or something like that. My plan is to make the player go from island to island, find x animals, photograph them, then move on to the next island. Then you can look at the photo’s you’ve taken, and group them according to species. A scoring mechanism will be based on the amount of species you’ve photographed, and how many you had wrongly classified. Or just an endless mode with no real goal.

It’s a bit ambitious, as I’d like to get procedurally generated islands in the game, in addition to procedurally generated animals. I’m still a bit unsure how I’m going to pull that off, as I’m most comfortable with my crappy 2D textured billboard sprites. And I have to figure out how to make a ‘photo’. But hey, at least I’ve got a decent looking world, and legs 😀

I’m real and I’m here!

Posted by
Thursday, August 23rd, 2012 5:13 am

This will be my 5th LD. Again I’ll be using C#/XNA, and I’m tempted to go 3D again. Last LD went pretty well, and I can use some of the 3D code from there to save some time, so I don’t get stuck on handling collision for a day :D. But it all depends on the theme. I have a few vague ideas for some of the potential themes, and 3D won’t always fit those ideas.

Also, if 1000 kittens wins, I’m making a sequel to my LD20 game, in which the procatonist from that game makes firekitten babies. Or something like that. It will be glorious. And if it doesn’t win, well, who knows what will happen? In any case, I can’t wait 😀

Hour 1 completed

Posted by
Monday, July 9th, 2012 3:22 pm

Roughly 2 hours ago, I randomly came up with a concept. I started working on it a bit more over an hour ago, and I’ve just finished an important part of the graphical requirements for the concept to work. Hooray!

I can’t show anything yet as it’s animated, but basically, you can only see one of three colors at the same time. I’m gonna turn it into some sort of puzzle/maze game where you can only see a part of the level at once, forcing you to memorize the layout. No idea if it’ll be fun, but at least it fits the theme 😀

A load of bulls post-mortem

Posted by
Friday, April 27th, 2012 10:20 am

Here’s the post-mortem for my entry. You can find it here

At first I wanted to do something with openGL. I toyed a bit with openTK a few days before LD started, and had a 2D game in mind. When the theme was announced, however, I knew I had to make it 3D, and since I know XNA more than openTK, I went back to XNA. My goal was to create a planet, using a vertex shader. I’ve messed with vertex shaders almost a year ago, but I remembered how they worked. After stripping the standard shader, and drawing some terrain, I managed to make a vertex shader that rounded the world. It’s not actually round, as it just lowers the vertices the farther away they are from the camera, but it worked good enough. I had to flatten the terrain, though.

So after a few hours I had a round planet, with cubes, and a dude that acted like a billboard

After that, I made a first person controller, made it collide with the terrain, and then I spent roughly 8 hours on collsion. I failed, as it kept jittering against the walls. After a few of those 8 hours, I gave up, and searched for a physics engine. I found jiglibx, and spend a few hours hacking it into my already existing code. That failed as well, but at least you could ski. As it was getting late, I called it a night, and decided to scrap things the next day, and just make something without accurate physics and jumping etc.

After waking up, I gave it another shot, but stopped after about half an hour. I then implemented what I thought was a bad hackjob that would never work, but that simple change ended up being exactly what I wanted. 10 minutes and a few lines of code later, and I had proper collision, without jittering, and it was efficient as well.

So then I went to decide what sort of game I wanted to make. I had about 16 hours left, and decided to create a first person shooter. Something simple. I added the first enemy, the bull, based on Serious Sam’s Sirian Werebulls. Their AI was pretty simple, but it looked nice and they acted in a similar way as in the srs sam games. After toying with them for a bit, I created a few weapons, added explosions and rocket jumping, and stuff like health. By now I had about 7 hours left, and I decided to create the map. The map was way too large, and I scaled it in half. This broke my shader, so I had to fix that. This broke the view, so I had to tweak that by stretching everything. This broke collision, so I had to refit the bounding boxes etc. Finally everything worked, and while it looked worse than before, the world had a nice size.

Only a few hours left, and I had to add the menu, among other things. I added some last minute sounds, which turned out to be bad in hindsight. I hacked together a menu using parts of my previous LD games and the framework I was working on before. I had to redo most of the input checks, but it meant customizable controls, which is a good thing. I added another options menu, allowing mouse inversion, FOV scaling and sound settings. With some testing, I set it on a very low FOV by default, because of the way the world was messed up. But hey, don’t like it? change it! 😀

I was done about half an hour before the deadline. While it didn’t really have a goal yet, because I didn’t have time to add more stuff, I still think I made a decent game out of it. It has potential, at least.

What went right

  • This was my first attempt at actual 3D for Ludum Dare, and I have very limited experience with it. But it went very well, and it has a nice effect. Also, using billboards instead of models was a very good decision, because it looks decent enough and it was very easy to create and implement.
  • I love the feel of the movement, and it’s pretty smooth. Also, rocket jumps <3
  • Creating the world from bitmap files, where each file is a layer, allowed me to save a lot of time. Need to change something? Just draw the changes!
  • While the world seems to be round, it’s actually just a 64×64 tile grid, making it very easy to modify.

What went wrong

  • I wasted way too much time on the collision. I should just remember the way I’ve done it now, and use that in the future. It’s not perfect, but it’s fast and easy to implement
  • I didn’t have enough time to add more content, so in the end the game is a bit lacking. By turning it into a survival game, it is somewhat mitigated, but adding a goal in the world or a story would be nice. Also, needs more enemies
  • The shader does not like altering the world size. It was very hardcoded, and in the end wrong, but it did work after wasting some time trying to fix things.


What’s next

I’ve decided to continue working on this game. I really like the concept, and adding new content should be relatively painless. So far I’ve already redone the shader so it allows worlds of any size. It’s possible to make a 16×512 world, for instance, so you can walk around in circles around it. And with a little change in the shader, you can make it look like this:

Tunnel vision FTW!

Anyway, I haven’t decided what to do with it exactly, but I hope to make a nice, simple run-and-gun game, similar to Serious Sam. My code base has its issues, but it’s clean enough to work with or refactor. I still want to improve the shader though, because now it doesn’t really like tall things. Other than that, most of it should be content and polish.

Also, can’t wait for the next LD!

A load of bulls… is done!

Posted by
Sunday, April 22nd, 2012 6:03 pm

Done! Finished! Completed! Just in time! http://www.ludumdare.com/compo/ludum-dare-23/?action=preview&uid=3939

Protect your planet from the neverending horde of bulls! Made with XNA, so it needs the XNA redistributable. Enjoy!

It is now 3 AM, and I have to get to work in 6 hours, so goodnight! I hope everything works. I’ll write a postmortem and upload the source code in a few days.

It’s a game!

Posted by
Sunday, April 22nd, 2012 10:08 am

I’ve added the first enemy, which is this very scary looking bull. They will rush towards you, and once they hit or pass you, they slow down, relocate you, and charge again. I’ve also added health, and weapons. So far there’s just a pistol and a rocket launcher. The rocket launcher does splash damage, and it’s possible to do rocket jumps, albeit tricky.

Plans for the next few hours are to add more weapons and enemies. Then I’ll spend some time crafting the game world, with weapon and enemy spawn points etc, and hopefully I can squeeze out a few more hours to add sound effects, some polish, and more fancy stuff like blood and corpses and all that fun stuff.

But so far it’s finally looking like a game!

bbl food

Done with the engine, now to turn it into a game

Posted by
Sunday, April 22nd, 2012 4:22 am

I’ve finally got collision sorted. I gave up, wrote a quick hack in 5 minutes, and it turned out that simple hack was everything I wanted. Lesson learned 😀

Movement is now done, as is jumping. I’ve semi-optimized the rendering, but optimizing it more would take up too much time. Collision is also pretty efficient, I think. Other than a bug at the place where the world wraps, it works fine. So now I’m going to have to make a game out of it. I’ve decided to create a first person shooter. Up next are weapons, pickups, and enemies. I have about 14 hours for that, so it’ll be tight. If I have time, I’ll add a menu and custom controls as well.

You can give the demo a spin here http://dl.dropbox.com/u/2110010/LD23/test.zip

Graah, physics!

Posted by
Saturday, April 21st, 2012 3:00 pm

So for the past 6 hours I’ve been working on physics. My own implementation failed hard, so I searched and found jiglibx. And while it does sort of work, it’s horrible. My implementation is horrible, that is. I’m sure with proper usage, jiglibx is a nice physics engine. But this is ludum dare, and my code is dirty, I have no time to learn, and hacking it in like this surely isn’t the way it was meant to be used. So I’ve tried (and failed) to make the player move normally. Right now I have the following:

  • Humans that always slide someplace, and that can’t stand still
  • Collision with blocks, but with enough force you can get stuck or even through
  • Jumping mechanic that’s very, very picky and prone to getting stuck and/or blasting you off into space

Hooray! I guess…

I managed to climb a tree, though, so that’s sort of nice

So now I’m just tempted to scrap physics altogether, disable jumping, and just check if there are blocks in the direction of the player when he walks. It should be simple, but it means no jumping and climbing etc.

Oh, and I also have to figure out what sort of game I want to create. I’ll try and wrap up the physics stuff for now, and then it’s time for bed. Tomorrow I’m going to start on a game. If I don’t come up with a nice concept, I’ll just make an FPS. And if I do come up with a nice concept, I’ll create that instead. I should have about 10 hours for that, and then 6 hours of graphics/music/sound generation, 1 hour of polish, and then it’s already over. Time flies when you’re frustrated at physics! 😀 Next time I’ll just get an engine ready from the start.


Posted by
Saturday, April 21st, 2012 8:49 am

Alright, I’ve got some progress to report. First of all, you can now control a character that can walk around. And you can see your own feet if you look down. Yay! Collision with the planet is working, but collision with the blocks is very buggy and broken and doesn’t work at all. I’ve also made a level parser. Basically it parses 6 bitmap files, and each file is a layer for blocks. So I can paint my maps, and the colors represent different block types.

So yes, it looks a lot like minecraft. It’s not gonna be a minecraft game, though. I’m unsure what to make of it, but I’ll decide on that tonight. I could create a survival shooter with nowhere to hide because it’s a planet. Or I could make an RPG-ish game where the good guys and the bad guys are on opposite sides. Or I could do something completely different. I don’t know yet.

Plans for the next few hours are to fix collision, eat food, fix more collision, and think of a game while fixing the collision detection.

It’s a dude on a tiny planet!

Posted by
Saturday, April 21st, 2012 5:44 am

It works!

Currently it’s a flat round planet with cubes for buildings etc, and the entities will be 2D billboards. I’m now going to focus on phyiscs and collision, and once that’s done, I can turn it into a game :D! I still don’t know what game I want to make with it, though, but I’m glad I have this working.

No game concept yet, but I have a plan

Posted by
Friday, April 20th, 2012 6:50 pm

So for Tiny World, I am going to create an actual tiny world. I have a few random game ideas ready, but nothing concrete. What I have chosen, however, is where the game takes place.

I’m going to create a tiny planet tech demo. I’m unsure if it shall be 2D or 3D, or a mix of both. But in any case, doing this will allow me to make any game set on or around a planet. If I go for 2D, then it’s just a platformer or top-down game but with a different perspective (being round and all). And if I go for 3D, I can make a first person game as well. 3D would probably be like populous 3, where it’s fake round, with sprites as characters.

But first, sleep! After waking up I’ll work on the tech demo. I wanted to make a tech demo using openTK, but for this to work I’ll have to know what I’m doing, so I’m probably going to stick with XNA after all. Or maybe I get a random new awesome idea and I’ll work on that. Who knows! Anyway, good night!

[cache: storing page]