Thursday, 25 August 2016

100th day of development

I had big plans for this milestone and, sadly, I am behind the schedule. Had to finish another assignment for uni, and also my exam is only two weeks away. I planned to complete all interface work and some of the device testing to have a working prototype. In reality, I have a prototype — but “working” part is debatable.

Two weeks ago I started device testing. I set up my test environment with iPad 2 and iPad mini (there’s a long story behind a search for a power cord for an old iPad, but that’s for some other time), built a new version, deployed it to the device through XCode, and got mentally ready to look like that:

And yes, I did. Because when application loaded, I got a black screen of death with the main menu on it. The main menu was missing a couple of images, but “start running” button was there. When I pressed it, I saw my parallax — and nothing else. There are three things you can watch forever — and sadly, my parallax is not one of them.
So, what may be the reason for such unusual behavior?

After some swearing and kicking things, it became apparent that the reason is a changed default setting value. To make parallax work as a texture-filled rectangle, I had to set default display to “textureWrapX” and “repeat”. As a result, my coordinates were all over the place, and static images just moved beyond the screen.

I had to rewrite all my background structure and re-animate (reanimate, too) it. Now I just repeat all the background images with a simple “for” loop, and it gets the job done — though not very elegantly.

After some additional manipulations, needed because of my love for magic numbers, I have a version of my game on my iPad.

The next stop was the interface — all those collectable things and blowable things and other things.

Again, my lack of knowledge about software architecture design fired back — I had to work around my package system, instead of it working for me. At this point, I am not ready to redo the architecture, so I am going to let it be. Anyhow — coins and lives are now being collected, stored and displayed.

I wanted to make a good introductory video where I talk about my project, explain how it works in case someone will be interested in helping me with the graphics, but with the exam and a new work project (designing interfaces, of all things!) I couldn’t finish it on time. So I am going to postpone it until day 150th.

The next step is load-reload. After that, I’ll have a playable version of the game that you can install and enjoy. My plan was to finish this part this month, but it looks like I have to move it to September. Next course at uni starts on the same day that the exam for the previous one takes place, but the first two weeks usually are not that intense, so I should have time to work on my game.