Well PixiCubes, #2 in the 6 month plan, is out. It’s currently available for Pc,Mac,Linux, and Android. I had a hard time figuring out what I wanted to do about releasing new cubes. Each PixiCube takes up around 6-7 Mb which is quite a bit when you have several of them and certainly a lot for a mobile game. For now, if I release any more cubes, I will have to revise the code to do it, but if something unusual happens and a lot of people play it and like it, I will probably go in and make modifications so I can release new content without having to re-release a new binary. This would of course mean that I’d have to host the files on my site, but that should be fine. Something else I decided to do for this one was to put Ads in the mobile versions. When you solve a face there is currently a 50% chance you’ll see an ad which isn’t too bad in my opinion. I also added a “Please Rate Me” dialog that comes up after you solve a whole PixiCube. I figure if the person plays the game long enough to solve 6 puzzles, then they probably like it enough to give a good rating. We’ll see. The game also has a tutorial which isn’t very long, but took me about 1.5 days to implement. I ended up doing some pretty big refactoring to my main game code so I could use many of the same methods in the tutorial. It worked out really well, and I remember doing the same for my first mobile game TerraForma.
I think today I will look into getting a build going for iOS and test it on the phone I have. If it works OK I’ll try to get it submitted to iTunes for an iOS release. At this point I just want someone to play it.
My plans for April are going to be flexible since Ludum Dare is next weekend. I’m going to spend next week getting ready and adding,fixing,polishing my editor scripts for Unity. There is a thought in the back of my mind that I should break from Unity for this Ludum Dare and try HaxeFlixel or Love2D. I’ve wanted to play with Haxe more and I’ve always loved Lua. I’ll think about it next week. I’m thinking that I may take whatever I come up with for this Ludum Dare (if anything) and try to polish it up and release it for my April project, but we’ll see. I’m off to do a Facebook post and a news post on this site for the PixiCubes release.
Another week in the books and I still have much to do and only 4 days to finish. This week is pressure week. Last week felt like a slow one with respect to PixiCubes. Here is what was accomplished:
- Fixed some touchscreen issues and hiccups
- Added a title screen with main menu buttons
- Constructed a PixiCube puzzle solver you can point to a puzzle and watch it go
- Implemented save/load profile data for user and PixiCube stats. (Still much more work here)
- Implemented a PixiCube selection scene where all available PixiCubes can be selected to play
- The type of PixiCube(Them or Riddle) is indicated in the PixiCube selection panel
This week I have many things to finish:
- Finish the profile creation,load, and saving
- Implement power-ups/abilities [Post-release]
- Implement PixiPoints to purchase power-ups/abilities [Post-release]
- Implement a system to add new downloadable PixiCube [Post-release]
- Implement player stats
- Implement a locking mechanism to only unlock cubes after one has been finished
- Implement Player survey screen?
- Implement Help scene
- Ask the user to rate the game?
Ok that is all for now. I’m off to try to push this horse to the finish line.
This week went by very quickly with not much visual progress as I was refactoring/fixing much of the non-visual code. You know, the foundation. That critical but unseen chunk of code that makes your application what it is. I did a refactor of the mouse/touch input code, and when I say refactor I mean rip out and replace. I was unsatisfied with the amount of code there was for managing all the mouse/touch state logic. Plus, when compiling for Android, Unity would complain the mouse code could possibly reduce performance on Android. While I know that there is a difference between touch and mouse, it seems to me that there should be a library that better melts them into something more unified than what is already there. In any case I ended up going with Prime31’s TouchKit. It’s a nice compact library and it worked well for my purposes, but I’m still unsatisfied with all the #if directives in the code all having to do with mouse vs touch. Some other things that were accomplished this week:
- The camera is now fixed and no longer orbits the puzzle. Instead the user can pan/zoom around as they please.
- Added some puzzle stats such as push success (how often the player was correct when they pushed the cube in to see if it was correct)
- There are now two types of pixicubes: riddle cubes and theme cubes
- Added block rotation tweens for the theme cubes that visually scrambles the puzzle after you have seen it
- There is now a working PixiCube data structure that can be used to store new PixiCubes
- Puzzle cubes can now be locked and locked cubes have a visible translucent lock shown on them
- Settled on the puzzle sizes for the various difficulty levels (4×3, 8×6, 16×9, and maybe 32×18)
- Added code such that when a puzzle is scrambled, none of the cubes should be oriented correctly
- Numerous refactoring of other code
Stuff for this week:
- Look into storing the jpeg pictures as bytes and loading them into textures at runtime. Currently, Unity pulls in a jpeg and stores it in a much less efficient format in terms of storage size.
- Work on storing the user’s preferences and their puzzle progress i.e. which cubes are completed, which puzzles on which cubes are yet to be finished, how many pixi-points they have, which powerups and how many do they have etc.
- Try to implement some of the powerups
- Decide if I want to offer extra downloadable PixiCube packs. If I do I’ll have to figure our Asset Bundles and how to work with them etc.
- Work on a cool title screen where the logo starts out scrambled and is automatically solved
- More sounds
- The user interface is non-existent and must be completed before the deadline!