BRB Going to space

by midge 19. December 2014 03:01

Tonight was pretty experimental. I was a little bit downtrodden yesterday when I realized that my early approaches to using images for tiles was too slow. I was afraid I was going to have to convert the whole thing to openGL, use a framework, or do some crazy hacks. Fortunately, I only had to use some mild hacks. And I added in a static background image, which was fun and surprisingly adds a lot to it.

I decided before I freaked out about the slow textures, I was going to do some science-


and by science I just meant take some accurate measurements to confirm that what I thought was a problem was one. The original naive tiling implementation was much much too slow, but I had added a hack to speed it up. Instead of looking up every image, I could use the image as a paintbrush sort of, and automatically repeat it. Also, this allowed me to treat consecutive tiles as a single rectangle, which meant only one drawRect call for multiple tiles in a vertical run. I wasn't sure that would speed it up but I had a hunch that it would.

Taking accurate measurements, the time was barely slower in the textured version... So I'm going to stick with it. Also I had the idea that I could use different rendering modes per level, depending on the tileset it calls for (more than 1?).

The background image was 1. Testing out if it slowed anything down, and 2. For fun. I do think it made the level look much better. It's just static for now, but I may do some parallax later. Parallax scrolling could be kind of a pain in the ass because of the dumb way I'm doing the whole thing. I tried using a UIImage view, and it did work, but the app was crashing. I could probably figure that out, heck I might if I decide I do want to do parallax, but it was a problem I just didn't want to deal with at the time.

I pretty good night. I need to just plow ahead and finish this thing. "Good enough" will be the mantra to keep moving, I think.

Onward and upward.


I got the tile display working a little better

by midge 18. December 2014 03:22

It's faster that it was, but I'm not sure if it will be worth the effort. I may stick with just colored blocks in the foreground and something fancier in the background. I don't know yet.

Part of me just wants to write the whole graphics part in some OpenGL, but that an awful can of worms. It would probably be better to finish the game with solid colors than do that.

This one is still up in the air. I'm going to keep experimenting until I find a solution I'm happy enough with.


I worked on tiling

by midge 17. December 2014 05:00

By that, I mean displaying actual images for tiles instead of solid colors. Well, I found a lot of things that didn't work.

Using the simplest implementation possible, Image DrawInRect... that worked, but it was far too slow. The game becomes unplayable with too many tiles. It's actually kind of an easy mode because it slows down so much.

So then I messed around with some other options that will let me draw fast enough, but the one I was specifically spending my time on today was having trouble lining up with the movement of the screen.

I'm not sure what path I'm going to take yet.


*I think incorrect scaling might have been a big part of the performance problem. Get the scale right and see how it performs.


Late Night

by midge 16. December 2014 05:03

I added stars to the level complete screen so it feels like more of a reward when you get them. Also now it will tell you how many wins until your next star, and give you a little encouraging message.

I had some ideas for improving the graphics, but I can only get to so many things in a night. I was happy to improve the level complete/game over screen tonight.


I made 2 levels today.

by midge 14. December 2014 04:04

Both of them were quite long. I wanted to make them medium to hard difficulty, but not extremely difficult.

I really put in a lot of time today. Not too much programming because it was really just level design, but that puts me at 15 levels. I think I'd be good releasing with that many levels. The earlier levels are kind of a joke, but the difficulty ramps up considerably later on. That last few levels will probably take many attempts.

I also fixed on minor but where the "play next level" button would crash the app on the last level. Now I'm just hiding the button on the last level.

I should also probably move the helicopter to the left on the screen. Anything to the left of the helicopter is dead space because it's no longer a threat to the player. This would make the game a bit easier too, because there would be a lot more time to react and see things coming.


Lucky Level #13, "Too Many Sprinkles"

by midge 13. December 2014 03:46

I knew I was going to work on something tonight, I just hadn't decided what. I ended up doing a whole lot of play-testing and it turned out that in general the game feeling too short was what was bugging me the most at the moment, so I decided to work on a level.

Having sort of themes for levels has helped me a lot. Instead of having a total blank slate whenever I make a level, I can work off of a variation of a theme as a great starting point. I decided to revisit the "sprinkles" theme, which was just a sparsely populated level of dots.

These ones are great because they're the easiest to make, and they can be surprisingly difficult to play because of their unpredictability.

So yea I finished another level and I was pretty pleased with it. It was too difficult so I had to make a few changes, it is still pretty difficult. The whole doing a lot of play-testing made me remember how difficult some of the later levels are.

Sprinkles2  is one of the longest, but probably not the hardest level.

I could probably leverage the finish line code with a different color for checkpoints. Checkpoints make more sense for longer levels.

I'll probably add 2 more levels. One will be a variation of the theme I used for level6, which I never really named, but was one of the better looking levels I think. Then I might do another simple block level. That would give me a (respectable?) total of 15 levels.

From play-testing tonight I found a bug at the beginning of restarting a level, sometimes the game thinks you are touching the screen when you are not. It's a little annoying but not horrible, it only seems to happen right at the level start. I think I know how to fix it.



I got the finish line working

by midge 12. December 2014 03:51

It's showing up in the right spot. Flashing yellow, pretty simple.

I don't like using being tired as an excuse for not getting stuff done, but I definitely needed fresh eyes to finish this part. I was trying to be lazy and hack it an easier way. I ended up changing the code in the right place and it just came together pretty easily. I did make a few incorrect assumptions and mistakes that slowed me down, but really no big deal. On to the next thing.


Super quick update

by midge 10. December 2014 03:42

I worked on the level tile images a bit. I rounded them and gave them a hard black outline.

Then I animated a glowing yellow line for the end of the level, but got tripped up on programming how to have the line show up in the right place. I think I just got too tired and was kind of blankly staring at the screen. In a couple of days I'll come back to this and code that right away, no problem.

But... it's getting late.


I added an explosion

by midge 8. December 2014 03:32

And I think it looks pretty great.

I actually generated the explosion graphic the other day with a great tool I found, "explosion generator".

It was a little bit of a pain to add because of how I had written some of the earlier code. I also made some stupid mistakes tonight, but I think it was worth it in the end. It looks really cool.

Next up, I think I'm going to add a glowing yellow line at the end of the levels so you know when they're about to end.

Ha, I find myself crashing the copter more now just because I like how the explosion looks.




More musings than progress

by midge 5. December 2014 03:09

So I didn't feel like I got a lot done tonight, I guess I'm not surprised. I say that because I wasn't sure what part I was working on tonight.

The nice thing about the Level progress (showing stars, unlocking levels) was that it gave me lots of unambiguous sub-tasks. I had a lot of well defined things that had to get done and I could just plow through them, feel good about it, and have something to show for it in the end.

I've been waffling on what part exactly to work on next. I think I need a night of just playing the game, figuring out what annoys or underwhelms me most about it at the current moment, and then try to work on that.

Anywho, here's what I DID do tonight.

I tried to hide the status bar - failed. Apple keeps on changing how to do this and deprecating the old ways to do it, it's surprisingly frustrating and seems like it's something that should be easy. And it probably was easy in certain iOS versions at some point, but they just keep changing it and I tried several ways without luck. No big deal, it isn't 100% necessary, but it would be nice.

I also added an animation transition from the game playing screen to the Level over (You win or you died, it's actually the same screen behind the scenes). This is just a simple push transition, but it does improve one of the more frustrating things about the game. Levels were ending abruptly, especially when you beat them. So people would beat a level, not realize it, and accidentally push a button on the next menu to do something. The animation and slight delay lets them know "something happened" And it should make it clearer to people what's going on. I might use a cooler animation, but I'm going to keep it simple for now and only come back to change it if I really think that's necessary.

I did brainstorm a little bit tonight, and here's some of the new stuff I think might be nice additions:

  • Win text - I could have some text that fades in after beating a level before transitioning to the next screen. Maybe show some stats or at least how many times they've beaten the level. I could have unique text per level, so I could use the level titles and the level "win" text as jokes even. This would be good because it would reward players with a little something at the end of each level that might make them chuckle. In the theme of rewards...
  • Show them a picture of a cat as they get rewards. Just find some public domain cat or puppy pictures to show them as they achieve stuff. Why not?

Here is some of the less new stuff I would still like to do.

  • Crash explosion/animation. Keep it simple, but I really should have something for this.
  • Sound fx. I don't really want to bother with this, but I probably should. I think music is beyond the scope of what I want to do unless I can find some free decent loop.
  • pause button - Maybe? This one would be easy at least
  • Flip screen horizontal - Most people are righties. Using your right thumb blocks your view of what's coming on the right, so using your left hand is actually an advantage. I would just flip the non-text graphics horizontally, and this would be a setting.
  • Name the friggin' thing. I'm still calling it "Cavern Copter" at the moment. Still thinking of "Coppy Copter", "Chopper Copter", "Block Copter" or something like that. I don't know. Maybe "Bieber Copter". 
  • Game Center integration
  • Ads -size and placement
  • Icon
  • Menu screen graphics
  • Probably 4 more levels.
  • level graphics - If I can solve this with code, I will. I don't want to have to come up with per level tile sets. I'll probably simplify this someway. I have a few ideas.
  • iPad port... I'm not going to think about this until the iPhone one is done done. I don't think it will be too hard, but I'm sure it will be harder than I expect.


What do you think?




About the author

Hi, I'm Midge.

Month List

Page List