Math Buster 2 Announcement!
It's been a while since we released anything, but that's about to change!
What's new and improved in Math Buster 2?
- The game uses a Silverlight/XNA hybrid, so when you're navigating the menus you'll have an experience that you'll be familiar with and we're using XNA for the gameplay to keep everything nice and smooth!
- New game modes! In Math Buster you would choose the type (addition, subtraction, etc) and the difficulty before you played. This is now how the Practice mode works in Math Buster 2. The new leaderboard enabled modes have a more arcade-y feel to them and I think it's much smoother and keeps you on your toes more than the single type - single difficulty style of Math Buster.
- Additional math types. Addition/subtraction/multiplication/division were in the previous game and I'm debating what to include with the new release. At the very least, I'd like to add more options to the Practice mode, like percentages and square roots.
- Global leaderboards! This was by far the most requested feature so it was a no-brainer to add it.
No release date to announce at the moment but I'm hoping to have everything ready to go within the next month. As we get closer to release and things get polished you'll see more info about the game pop up on the blog, so stay tuned!
I figured an early screenshot was better than no screenshot at all, so bam!
Ludum Dare 22 – Shadow
Ludum Dare, for those that don't know, is a competition to create a game in just 48 hours (for solo participants, teams can join the 72 hour competition). You have 48 hours to create a game from scratch but you can use publicly available libraries and personal code bases as long as they're open to everyone to use.
This was my first time entering and I wasn't real sure on how much I could get done in the time frame so I decided to start with something really simple and expand on that if I had more time. Overall, I'm pretty happy with how it turned out even though it has only a few sound effects and no music at all. I would've liked to get a story implemented but I just ran out of time. It was a good change of pace just being able to hack some code together without having to worry about cleanliness or robustness. ![]()
You can view the submission and play the game here: http://www.ludumdare.com/compo/ludum-dare-22/?action=preview&uid=5580
Here's a playthrough of the game below, don't watch if you're going to play the game!
Imagine Me Progress Nov 25th
Last week I talked about the Editor and what I wanted it to consist of and it's pretty much at that point right now! It has some more work to be done on it since a few things came up that I wanted to implement but first let's see what works.
This was the first time I really dove into Windows Forms with the intention of coming out with something I'd use on a regular basic. Nick Gravelyn has a video tutorial series where he creates a tile engine and an editor for it and it helped out tremendously since it's very similar to what I wanted to build. If you're looking to get into WinForms or you want to create an editor yourself I highly suggest checking it out! The Editor is based on the idea that each level is a map. Inside of that map there can be multiple layers. Right now the Editor only consists of a single layer and that's the display/collision layer. This layer only has platforms and static things that the player can collide but not interact with, so items/objects are not included in this layer. This way I can use the display/collision layer to create the platforms/walls/boundaries of the game and not have to worry about checking for items and such. My next task for the Editor is to create a layer of dynamic objects that the player can interact with. This will include blocks that the player can push to solve puzzles, etc.
If you remember from last week I described how I was going to work out collisions by doing a horizontal pass and combining all adjacent tiles into a larger rectangle. After that a vertical pass would be done to combine adjacent vertical tile. Here's what the collision looks like after doing a horizontal pass:
In this particular scenario you can see that the horizontal pass covers nearly all of the tile before even doing the vertical pass. There's plenty of room for improvement with the left column of tiles being the most obvious. Those should be combined into 2 rectangles instead of 15 but I got the idea I was shooting for implemented and it works in-game so it's good enough at this very early stage.
After the horizontal pass, the vertical pass is done to cleanup any remaining tiles that were missed and combine them if they're vertically adjacent:
The above was simply a testbed to stress test and fix any bugs that came up with odd shapes. The level design isn't solidified so what a level may look like is still up in the air. What would be about 120 tiles or so is only 74 with this method with some vast room for improvement. I have a little character that I can use to jump around inside of here and everything seems to play out nicely besides an invisible collision box that seems to stay where my character starts...
This next week I'll get some dynamic objects implemented so I can move things with my character in-game and hopefully get some levels/puzzles setup so I can start testing those out.
Oh, and here's a screenshot of the Editor!
Imagine Me Progress Nov 18th
This week's update focuses on the level editor. It's the first thing that's being worked on so I can save some time later when it comes time to push out levels and levels and levels.
Before I even started to work on the editor I fleshed out some ideas on what I wanted it to do:
- Being a tile based game, it needs basic tile editing functionality (painting, saving, the basics)
- Play nice with Farseer Physics. Since Imagine Me will have physics-based puzzles I figured I'd jump straight into a physics engine and integrate that into my editor.
And that is about it. There's no reason to come up with this grand scheme and have no idea where to start so I'll start small and work my way up. Nothing too fancy, I just wanted to be able to pump out a level without having to edit a level by hand through notepad. Currently I have #1 all set in place so basic tile editing goodness is there. Trying to figure out how to tackle collisions with Farseer is the current brain teaser. Being a platformer game I could take the simple, yet inefficient, way and just say what 1 tile = 1 object. This means that for every tile in the game which the player can collide with there would be a rectangular static physics object acting as collision for that tile. Here's a basic layout I created for testing purposes:

Doing it this way I would be creating 80 objects and that's just for colliding with the platforms. That doesn't include items and other things you might collide with. What if I wanted my levels to be 4x as big as this? I haven't stress tested Farseer to see how far it can go but you can see how it could skyrocket pretty quickly. So why not start out by thinking ahead? Instead of creating a collision object for each tile I thought I should reduce this as much as I could to try and save some performance for later should the need arise. So why not just combine adjacent horizontal tiles into a longer rectangle like so?

Here, just a single pass is checking if there is a collision tile to the left/right of the current tile and creating a longer rectangle based on that. Simply combining tiles that are horizontally adjacent like the image above reduces the number of objects to 25. After doing the initial pass that reduces horizontally adjacent tiles we can now do another pass that will reduce single tiles vertically. Doing the vertical pass brings the object count down from 25 to 10! (And I don't want to hear anyone say "well... you could bring that number down to 9 with some better techniques! Going from 10-9 is a 10% decrease in the number of objects you're creating!") ![]()
Stay tuned next week as I'll flesh out the editor some more and explain more in-depth how the Farseer integration works out.
Imagine Me Coming to Xbox Indies!
Kinifi Games recently got funded on Kickstarer to create a game called Imagine Me:
Imagine me is a platformer game about a boy that wakes up in an unknown place. He doesn't remember how he got there or why but he will soon find out. Travel and discover the memories and adventures of a young boy in a lost world.
Imagine Me is being created with Unity and has plans to be released on Mac, PC, iOS, iPad and Android this holiday season.
Robot Foot Games (that's us!) has signed on to bring Imagine Me to Xbox Live Indie Games! Development will be done side by side with his version (instead of a direct port) and since this is only an announcement there isn't much to be shown at the moment. I'll be posting weekly progress updates here so subscribe to your feed of choice on the right to follow the development of Imagine Me!
All info relating to the development of the Mac/PC/iOS/Android versions of Imagine Me can be found over at kinifigames.com and you can follow him on Twitter @kinifi.



