I’m in! And I’m out!

Posted by (twitter: @Bownly)
November 20th, 2015 9:06 pm

I asked in the comments of the mLD63 announcement post if we could start early, and Jezzamon (the host) said it was okay. So I took that permission and ran with it, not only starting before the official start date, but even finishing before.

The result: PiX RPG (read as picross rpg)

pix rpg logo

It’s an old-school rpg with all the battles replaced with Picross puzzles. Check it out here.

I’m going to spend the rest of this post rambling about creating the game, so if you don’t really care about reading my narcissistic ramblings, feel free to bounce out now and go play the game instead. ; )

Picross is great, and old RPGs are great. Except their battle systems tend to be not so great. It’s a pairing every bit as obvious and delicious as cookies baked into pizza. I did about 30 seconds of internet searching on a generic internet web browser(tm) and only saw one other instance of this natural pairing out in the wild. And it was what appeared to be a lameo Final Fantasy cash grab mobile game. (Apologies to the fans and devs of the game. I only watched maybe 10 seconds of the trailer so my impressions are mostly baseless.) This searching only heightened my enthusiasm for the idea. Just thinking about entering into such a lucrative and booming vidcon niche invigorated me. I got to coding right away.

Day 1 was all about figuring out how to code an RPG. Which really just consisted of how to code grid-based movement, a rudimentary NPC system, and towns and a world map. Not too hard, all things considered. Especially when there’s publically available code for a grid-based movement system available on the HaxeFlixel website, hehehe. In my defense, I modified the code quite a bit. It wasn’t a straight-up copy/paste situation. I had time left over on day 1, so I ended up writing ~80% of the story and designing all of the towns/dungeons and world map.

Day 2 was all about figuring out how to code Picross. Which also wasn’t too hard, all things considered. Initially I had planned to make a few hand-crafted puzzles for each enemy and have the game randomly select from them each time you entered into a battle. In order for that to not get repetitive, I would have had to come up with maybe 10 puzzles for each grid size (of which there are 5 in the game–a total of 50 puzzles). In order to test out the code for calculating the number hints for each row and column, I was generating random puzzles. I ended up liking this better, and decided to make every puzzle in the game completely randomized. That means infinite* puzzles! Granted, this meant that you could encounter puzzles in which you would have to take a 50/50 guess at the correct value for some squares. But I figured Minesweeper also has this problem, and this way, it would give the player incentive to level up and be able to withstand more mistakes.

Actually, I guess I should explain the battle system a little bit. Instead of HP, you have MP (Mental Points). And in battle, your MP slowly drains because solving puzzles and maintaining mental focus drains your energy. See–realism in video games! Each time you incorrectly mark a square as either full or X’d out, you suffer MP damage. Obviously, this is due to the mental stress of the crippling shame you get from being wrong, which has been ironed into your psyche from our oppressive school system. But I digress…

I also did some art stuffs on day 2.

Day 3 was more of a half day where I screwed around with cgMusic and Audacity and tried to do some polishing here and there. I even added a sound room for kicks.

And now day 4 is now. I am living it. You are living it. WE are living it. The end…?

No, of course it’s not the end! Because I have to shill my game one last time and then encourage you to work on yours (after playing mine, naturally). And don’t forget to strive to get the secret ending. It’s super tough though. I’ve become a bit of a Picross god from playtesting my game and I’ve only managed to get the secret ending twice out of easily over 50 attempts.


Leave a Reply

You must be logged in to post a comment.

[cache: storing page]