Dearest reader,
Mommy's Best Games, Inc. is a small, private game developer founded in 2007. This site is to share some of what goes on behind the scenes with the creation of our games.

You can click any of our game titles on the right, from Serious Sam Double D XXL to our first, award-winning title Weapon of Choice. There's also categories on the right side if you scroll down some and of course a Search option.

Feel free to contact me if you need more game information!
Nathan

Wednesday, April 9, 2014

Recursion Regret and Command Prompt Rescue

Our current game in development, Pig Eat Ball, is written in Java and uses a game development framework called LibGDX (which also uses LWJGL). The game's not been formally announced yet as I'm still getting it's pretty face ready for prime time, but I've been talking about the development along the way.


It's been running at a good framerate and seemed to run fine on many machines, except the one computer on which we really needed run well--our level builder's computer!
For reasons I couldn't figure out, Andrew's computer would crash with *no crash file* saved. We knew it was when he built a very big level and then tried to save it, or if he tried to play a big level from within the game (I can make big levels fine and I've made some which he couldn't run).

I try-catched and wrapped all the Save and Load functions tighter than a Christmas present, but I couldn't get the crash log to save. How was I to fix this if I couldn't get it to happen on my machine, and couldn't get any information out of his machine other than "it crashes here and here"?


Until I had a thought! Probably an obvious thought to some devs reading! I was already printing a log of certain actions in the game (when things saved, loaded, etc). But that was not saving correctly, especially not when I printed the callstack.

Command Prompt Rescue

So instead--I'd just have him run it from the command prompt! Yes, open a command prompt, run the game (set it to our new 'verboseLog' setting) and walla! Information from the game is shown in the prompt that can't be lost.
Except it can! Once I started printing each object loaded by the level, we quickly ran out of space in the prompt. The solution was to right-click the top bar, open the Properties, and select the third tab to the right--Layout. There, we could change Screen Buffer Size - Height to 9999. That gave us enough space to see the callstack during the crash!

Adding more "lines" to your command prompt.

And what was the crash? Well a StackOverflow of course! I think that makes sense now why it wasn't able to catch the crash--if the stack had already run out of memory. The good news was I got to see the callstack now in the command prompt (I had Andrew copy and send me the contents from his computer).

Recursion Abuse


And the problem was, I was using recursion to traverse the tree of objects to save in the level.
I had a nested tree system, in which there could be a 'child' which would branch the tree, and a 'next' which would simply continue the length of that branch.

From our Level Editor--here's how the broken version worked, with the lazy rescursion on every object.


Foolishly I just called the recursion function on both types--Child and Next, and let it do all the work. When a thousand-long branch of Next objects would be processed, that would be where the crash could happen. The callstack would have literally thousands of objects on the stack and on some computers it could crash.

Fixed version, in which I loop through most objects.

Simple Solution


The solution was simple, recurse into the branch (via the child) but simply LOOP through the Next objects! Just handle each one, then progress to the Next object, which means only one of those objects is on the stack at one time! Simple and the callstack is nice and happy.

Why didn't I do that in the first place? Pure laziness, but I wish I had known it was going to cause this much trouble or I'd have done it the more stack-friendly way the first time!


Wednesday, March 26, 2014

GDC 2014

Last week was 2014 Game Developers Conference in San Francisco and I was fortunate to get to take Pig Eat Ball there to impress the press! I was there from Monday to Wednesday and the first, and most important event for me was showing our game in the "MIX" show. The Media Indie Exchange was held Monday night in the IGN office and offered 47 indie devs a chance to directly show their game to a wide range of journalists.

Pig Eat Ball and the Rmp Shkr controllers set up before the crowd showed.
Pig Eat Ball was showing in Multiplayer mode with 4 spots available, and off to the left, there was a Single Player version available as well.
The "Rmp Shkr" controllers are specialty controllers I created to help promote the game at public shows like this. The idea is when a player gets his tail bumped in the game, his "tail" gets bumped in real life. Basically the Rmp Shkrs rumble your butt when you get attacked in the game.
Boys and Girls loved it!



Hey, it's Greg Miller and crew from IGN laughing it up!


Did I mention the IGN office is pretty cool? Yes that's a "Sharknado".


The night was a huge success, with lots of people coming to play the game, then running off and finding press friends and bringing them back with new people shouting things like "I'm supposed to play the butt rumble game?" Destructoid even said they liked the game with *and without* the special controllers (so that was a great sign!)


After Monday night I headed to the actual GDC show. I had bought a 'cheap' Expo pass (cheapest there is, at ~$200) so I could see the show floor, but it didn't get me into the talks. Still worked out okay as they had a variety of exhibits.


One fascinating area was arranged by the Videogame History Museum which put together collections of old, and sometimes rare game consoles and peripherals, and even design notebooks from old companies! Definitely made me think of a few weeks ago at the LAX show.

One talk available to everyone was by UbiSoft and happened to be about the editor for Rayman Origins--one of my favorite recent games! Their tech was very impressive, especially how it allowed for dynamic terrain deformation in 2D, while managing to keep looking gorgeous as it was adjusted.

Just outside the Indie Mega Booth I met the creator of the "Choosatron". It's a fun little game system in which it prints out a choose-your-own-adventure text game, and you press buttons on it to pick your direction. By the end you have a printed record of your adventure! No more peaking ahead to see what page to pick.
On the actual show floor I saw a few neat games. Enemy Mind reminded me of Gaiares--it's a shmup in which you can swap ships by capturing enemies ships, and basically get new weapons.
iPollute was made by Israeli game developers and featured clay-mation and a "reverse" ecology theme. Basically, you do better, the more you pollute, which makes players think about the worst types of pollution.


And finally, my favorite, completely-insane video game controller--the Rolfpillar. I would have loved to play it but didn't get the chance. Apparently you roll back and forth inside the tent to play the game!

Overall GDC was a great trip as I got to visit with Ian Stocker who just released Escape Goat 2, show off our work, meet old friends, and play some fun games!


Wednesday, March 12, 2014

Louisville Arcade Show Wrap 2014

The past weekend we spent showing Pig Eat Ball at the Louisville Arcade Expo and while I'm still a bit hoarse, it was pretty great. Definitely something I would go to on my own even if we weren't exhibiting at it.
About a hundred arcade and pinball games open for free play, and some to purchase

So many interesting old consoles I'd not played.
Here was an Epoch console with Yosaku on display here. You chop trees while avoiding bird droppings. I tried to pretend they were eggs but my kid was certain it was bird poop.


Some very nice, large, bead art of Super Mario Bros 2.
Our own booth changed over the course of the weekend. The show started Friday and ran through Sunday. On that first day we brought Pig Eat Ball and let people play the 4-player local version, or the single player.

Family time!
Ladies enjoyed it as well.
It was fun roping in a parent to play the game with their kids. They'd think it was too complicated, but once they got the hang of it, they were trying to win as much as anyone. Being able to touch on some of the family fun of Wii Sports or Just Dance is very exciting. It's great to see families enjoying themselves.

Mario and crew pigging out!
I didn't know Fox McCloud was sexy, but it works.
Guys whom we affectionately called "Yin and Yang" playing Serious Sam Double D XXL. On the second day we brought out the Xbox 360 to show that game as well. Some gamers had even heard of it or already owned it!

Even traditionally angst-filled teens and 20 somethings enjoying themselves!
My own personal find was Dragon Sabre on the Turbo Graphx 16. I had known of the game, but nevery paid much attention. But once I played it, I found out it was excellent! So many wild monster designs and some pretty good art and gameplay. Excited to add this to collection some day.

Thanks to everyone to came out to the event!

Wednesday, March 5, 2014

Pig Eat Ball at the Louisville Arcade Expo



I assume you're thinking... "there's a big arcade and pinball expo in Louisville?"
That's the appropriate response, and--Yes there is!
http://www.arcaderx.com/
 
Guess what--it's this weekend, March 7th, 8th, and 9th! They have daily tickets and weekend tickets; there'll be over 100 arcade games and pinball machines all set on free play. You get to walk around in a nostalgic, game-playing haze all day. It's glorious!
If you buy a ticket for an adult, a kid 10 and under can get in for free. Time to teach them well about ye games of olde.


Pig Eat Ball in Public


In addition to all those cool games, we'll be showing our own brand new game--Pig Eat Ball! The game will be running in it's 4-player, competitive mode, and it's pretty insane to play together. We'll also have a fun giveaway or two, and a very special, custom controller to try out!

Race to eat the balls the fastest

It's like pool, but there's no cue stick

Crash those lucky cats
The game is still in development, and this will give us some crucial feedback on the play balancing in the multiplayer modes.

So come on out this weekend, play some games and eat some balls!

Monday, March 3, 2014

Shoot 1UP Nominated for Pocket Gamer Award!

Our very own Shoot 1UP has been nominated for a Pocket Gamer award!
That's pretty great, but it'd be even more amazing if it won and you can help with 3 simple clicks.




Pocket Gamer is an influential site, and it would be a HUGE deal to win an award from that site. Shoot 1UP is in the "Windows Phone Game of the Year" category along with some really big games like Call of Duty and Halo, so every vote counts!

Just visit here and follow along:
http://www.pocketgamer.co.uk/pgawards2014.asp


Voting ends March 7th, thanks for helping and tell your friends!

And if you've not yet bought the game, it's in a special sale, for only $0.99!  (Till March 6th, 2014)
http://www.windowsphone.com/en-us/store/collections/red-stripe-deals/db534788-8a1a-4f31-9a1d-bd9bdeddc467