After every project is “finished”, so far as they ever are, I like to look back on the development process and see what I learned, what mistakes I made and what I did well. Though Piczle Cross Adventure has barely been released I thought I’d do a post-mortem on it already, even though at this early stage I cannot comment on sales or the efficacy of some of my lessons learned in relation to the product being successful.
I mean to keep pushing the envelope for Piczle and definitely in terms of game development and design Piczle Cross Adventure is the biggest Piczle project to date. That said, I was very careful to not go mad and create a huge albatross of a project that would take me years to complete. My current plan to release a game per calendar year is starting to shift and keeping that up may be difficult, especially if the next Piczle is going to be larger in scope still. That said, Piczle Cross Adventure neatly fit my schedule and projections.
- Art style
Initially I was tempted to go for a monochrome or 4-shades of green art style to fit the idea of nonograms, which are after all black and white. I was imagining something of the level of the GameBoy version of The Legend of Zelda (Link’s Awakening and the Oracle series) After some back and forth with my publisher, who was keen to point out the difficulty of selling an art style like that to a wider market, I opted for a (faux) 8~to~16-bit style. Sure this meant the art tasks increased exponentially, but it was still within scope. In the end I really enjoyed this art style and it was still blocky enough to fit with the idea of the story.
This game had more of a story, such as it is, and more characterisation than any previous Piczle game. Score-chan is a very specific kind of precocious and I can’t even imagine translating some of the idioms, puns and references into other languages. Luckily for me the localisers the publishers provided were, across the board, excellent! Not only were they happy to ask for elucidation when required, they also did an amazing job translating Score-chan’s voice and jokes into their respective languages.
I had created a little tool to write dialogues to make sure they all fit within the limited space required, and the localisers gave great feedback on improving the tool and ended up delivering texts that pretty much fit perfectly (even German!!)
- Game design
From before I founded Score Studios I wanted to create a nonogram game. I only got distracted with creating Piczle Lines because that made more sense on the then newly released iPhone. Piczle Cross Adventure was an opportunity to finally make the game I had always dreamed off, but with all the bells and whistles.
I am happy I dressed it up in the style of a 2D top down RPG-like adventure game. Sure, some of the mechanics, like levelling up, don’t make much sense in a nonogram game, as indeed they don’t in Piczle Cross Adventure, but it does make the game something different. Maybe people who would never otherwise try a nonogram game might be tempted to get this because it delivers a game-like experience around the puzzles. It gave me an opportunity to build some more character in Score-chan and give her a more distinctive voice and character development.
This is not the nonogram game I imagined making over a decade ago, it is better and bigger than that. Let’s hope the players think so too!
- Timing / schedule
I was adamant that I needed Piczle Cross Adventure to be at a certain stage before seeking out publisher help. Because of this localisation started later than I would have wishes, delaying the release of the game by at least a month. You can’t hurry good localisation but I certainly could have made a better effort to start that process much earlier.
- 2D in a 3D engine
Unreal Engine 4 is a versatile engine, but it is undeniable it is focused on 3D game development. There are plenty of tools for 2D in there but a lot of them are no longer supported or updated. I had to do quite a bit of fudging to get the game to look and behave the way I wanted. This meant giving up a few things, like proper lighting which doesn’t work well with orthographic cameras, and not being able to use navigation meshes and all the pathfinding that goes with that due to my working in a true pixel resolution, making it all too small to properly work.
I should probably have gone with a different engine for Piczle Cross Adventure but that would have meant added development time to learn a new engine. In the end I opted to stick with UE4 and even though the issues I grappled with because of that weren’t crippling, it was an added annoyance thanks to my pig-headedness.
I decided I wanted nonogram puzzles larger than would be comfortable to interact with through the Switch’s touch screen. This meant I could ignore all touch input and all the issues that gave me such troubles developing Piczle Colors. However, I did not really focus much on future proofing, and when the PC version had to be created it was sorely lacking mouse input. I wrote about creating a mouse input overlay in a previous post, but it was a little precarious for a little while.
Luckily I had created a very versatile and easily manipulated data-driven system, but I had wilfully ignored non-controller input for too long.
- Debug tools
There are some debug tools in Piczle Cross Adventure. Not in the released version, obviously, but while developing there was a menu for me to adjust several things. However, I kept wanted to do specific things that weren’t in that menu and creating temporary keyboard shortcuts for them. I would have saved myself so much time had I spent a little more time on developing and upkeeping the debug tools to include the things I ended up creating hacky shortcuts for. Being able to reset puzzles, inventory items, trophies, etc. on the fly would have really sped up testing. For my next project I will definitely spend time creating a very robust and versatile debug menu to adjust whatever I need to in-game to speed up QA.
Creating Piczle Cross Adventure was a lot of fun! I am becoming more and more comfortable with UE4 and Blueprints and am careful to create robust systems and functions that make my own life as a developer as easy as it can be. It is not just for self-preservation, I also really enjoy creating these systems and finding cool new tricks to smooth out any superfluity.
Mostly I am happy I finally managed to create a classic nonogram game, a long-time ambition fulfilled! And seeing the reception it is receiving from logic-puzzle fans it is great to see people enjoy playing it as much as I did making it!