Archive for the 'Game Center' Category

iOS 6 Predictions

March 6th, 2012
Spencer Nielsen Follow snielsen42 on Twitter

It is always fun to try and guess what Apple is going to do next. You can guarantee that there will always be surprises and sure bets, letdowns and magical moments. The Apple rumor sites do a decent job of soliciting leaks, reading between the lines and making educated conjecture. As a developer, I often like to take a good look at where Apple’s technology is right now and make logical extrapolations as to where things are headed. Oftentimes, when Apple announces some new feature or technology it seems obvious in retrospect if we had only connected the dots. Based on 2011’s release schedule, it is a fair bet to say that Apple is going to announce iOS 6 at WWDC sometime this summer and distribute a developer beta. That means that in the coming months little trickles of information are going to get doled out to the rumor sites about what kind of changes and additions we can expect. Just for fun, I wanted to get my own predictions out in the open before any of that started. Here is my very developer-oriented prediction list of what we might be expecting in iOS 6.

UPDATE: WWDC and the iOS 6 beta have come and gone. Some of my predictions now have conclusions. You will notice however that most of the predictions have not yet been updated. That is because there is the potential for Apple to be keeping a few more surprises up their sleeve for the fall when iOS 6 goes GM. Inline below are the results so far.

UPDATE2: iOS 6 GM is here which means that the NDA has lifted! Check down below to see how well I did. (more…)

Zurp 1.0 Postmortem

December 15th, 2011
Spencer Nielsen Follow snielsen42 on Twitter

Last September I wrote a blog post introducing Invader Zurp which revealed a little of the back story on how I came upon this new game idea after it’s first 2 months in development. Fast forward to 3 months later and Invader Zurp had just hit the App Store! I thought it would be useful to sit down and review the last 5 months of development, kind of plan out where I want to go from here and go over the events and insights that I thought were most influential during development.

The Story So Far…

So to recap the original blog post a bit, it was the middle of the summer (2011) and I had been working my brains out on Cannonade for the previous 6 months. I was a little discouraged at that point because progress wasn’t coming quite as quickly as I had hoped. Reception from my testers (just friends and family at that point) hadn’t been as positive as I had wanted either. I still had a very clear vision of what I wanted Cannonade to be and still believed that there is a ton of untapped potential for multiplayer-only games on iOS. But there was only so much I that could do as a one-man team and testing a multiplayer game can be quite time consuming. I took the family on vacation in early July and was able to step away from things for a while. It was then that I got an idea for a single player experience that distilled the core gameplay mechanic of Cannonade down to it’s essence. Thus Invader Zurp was born. Within two weeks I had modularized the Cannonade game engine, re-written the graphics sub-system in OpenGL ES 2.0 and had a working prototype. And it was fun! I found myself on very long “testing” sessions playing even after I had verified my fixes. I seeded the first alpha version in early September and wrote the introductory blog post. Then began the journey of finishing the game and kicking the darn thing out the door. (more…)

Invader Zurp is on the App Store!

December 15th, 2011
Spencer Nielsen Follow snielsen42 on Twitter

Aright it’s here! Invader Zurp, the project I have worked so hard on for the last 5 months is now for sale on the App Store! I want to thank all my wonderful testers for all their time they put into playing it and even more for the thoughtful and productive feedback that they so lavishly furnished on me. I couldn’t have done it without you!

Check out the gameplay trailer here:

Now Go Get It!

iPod Touch Server: iOS 5.0 Edition

October 12th, 2011
Spencer Nielsen Follow snielsen42 on Twitter

Achievement Unlocked: iOS 5 NDA

In a previous blog post I outlined my need for an iOS server. I had found a sufficient but non-optimal solution for iOS devices running iOS 4.X. I mentioned at the end of that article that I had found an optimal solution utilizing some new features in iOS 5. Now that iOS 5 has gone gold master and the NDA has been lifted I can outline in detail how to get your own iOS server up and running. To review, the three requirements for setting up a server in my situation are that it must:

  1. Be able to receive push notifications (so it can get it’s work)
  2. Have it’s display turned off (to save energy and avoid things like screen burn-in/fatigue)
  3. Require no human interaction (needs to be completely autonomous)

In the previous article I outlined why these were in conflict with each other on iOS 4 devices. However, there is some new functionality and behavior policies that allow all three requirements to be fulfilled.


Invader Zurp

September 12th, 2011
Spencer Nielsen Follow snielsen42 on Twitter

So for those of you on my Cannonade TestFlight profile, you might have noticed that I havn’t seeded a build for about two months. I have a good explanation for this.

Lets rewind back to right after my last Cannonade seed build. I was on vacation at the time and had the opportunity to stand back from Cannonade and evaluate things from a different perspective. Sometimes I don’t think I seek out those opportunities to just sit and think as much as I should (just thinking sometimes makes me feel a bit lazy for not doing). At one family gathering I observed my older son playing Fruit Ninja on his aunt’s iPhone. I was aware of Fruit Ninja and knew that it was a definite App Store success. As I watched him play I thought to myself “That just one play mechanic. One. Repeated, millions of times over and over and over.” This is the typical MO of most games that are successful on the App Store. Simple, easy to pick up and well implemented with good production values. With Cannonade I am trying to break new ground on the App Store. I still believe that there could be a place for deep multi-player experiences on the App Store and I think that Cannonade is on the right track. But watching Fruit Ninja got me thinking. Did I have a single, fun gameplay mechanic that I could repeat millions of times? The core fun mechanic of Cannonade is “Knock Your Friend’s Castles Down.” Maybe I could modify that to just “Knock Castles Down.” Even knocking down dumb castles was fun in and of itself. Maybe I could repeat that experience millions of times and put out a more limitedly scoped single player experience? I decided that it would be a really fun exercise and that I would put Cannonade on hold for a few months while I brought this new single player game to market. I call it “Invader Zurp“.


iPod Touch Server

June 11th, 2011
Spencer Nielsen Follow snielsen42 on Twitter

Top-down view of the Aoren Software datacenter in the living room corner.

Why, you might ask? In my case the answer is simply because it is my only alternative. In development of my game Cannonade there quickly arose a need to be able to replay my user’s completed games and validate the results with exactness. In order to obtain that level of exactness, my games must execute with complete determinism. Unfortunately the implementation of floating-point match according to IEEE754 can actually vary somewhat between x86 and ARM processors. This means that if I replayed a game that two of my users played using iOS devices on an x86-based server, the results of the replay would very quickly diverge. Thus I am left with no choice but to set up a dedicated iOS device to wait for notifications of the matches that it needs to replay and validate (a process I call judging). An iOS server you might say.


Achievement Brain Chemistry

June 4th, 2011
Spencer Nielsen Follow snielsen42 on Twitter

One crucial aspect of my game that I have been thinking of for a while has been that of in-game achievements. There is just something about the hormones that get secreted in your brain the first time that sound or notification goes off that hooks you like the first line. I have come up with an initial set of 40 achievements that I will hopefully have implemented by the next seed. Your challenge: tell me what you think in the comments below, let me know of any cool ideas you have for achievements and bonus points for anyone that can name all the movie, video game or cultural references below.


Cannonade 0.5.8 is now seeded

May 9th, 2011
Spencer Nielsen Follow snielsen42 on Twitter

The focus of this update is the new in-game tutorial! Now when you first launch Cannonade if you have never run through the tutorial it will prompt you to do so. The tutorial level is meant to teach new players how to use the battle interface and get them some target practice with the fundamentals. Give it a whirl and let me know what you think!

Complete Changelist:

  • Bumped engineCompatibility to 0.5.8. (this means all games previously created by versions <= 0.5.7 will be deleted)
  • Initial implementation of the tutorial game type and level.
  • Made some menu refinements and added a “Wiki/File A Bug” menu option.
  • Made it so that you are prompted to run through the tutorial if you havn’t before on that device.
  • A few quick menu sound effects.
  • Added detailed statistics gathering.
  • Fixed lots of little simulation execution bugs.
  • Tons of leak hunting.
  • Added friends info to the game server packets and cleaned up the server code a bit.

Alpha Testing List

Would you like to be one of the awesome alpha testers that help make Cannonade great? Send an email to: [email protected] and I will reply with instructions on how to get onto the Trac server, Testflight list and tester forums.

Cannonade 0.5.7 is now seeded

April 25th, 2011
Spencer Nielsen Follow snielsen42 on Twitter

The two most note worthy changes in this build are SPEED and WEAPONS! After spending two days on physics performance optimization and a week and a half on graphics performance optimization Cannonade now runs a lot faster on both the iPhone and the iPad! There are still speed gains to be had but the framerate difference is like night and day. Thanks to your voting, in this build we also have the debut of the Gravity Bomb, Fire Bomb and Friction Bomb weapons. They still need to be tweaked and balanced but they are still fun to play with. Give them a shot!

Complete Changelist:

  • Bumped engineCompatibility to 0.5.7. (this means all games previously created by versions <= 0.5.6 will be deleted)
  • Did a lot more investigation into physics performance. Content with how much I have for now.
  • A HUGE graphics performance related commit.
  • Added the Gravity Bomb, Fire Bomb and Friction Bomb weapons.
  • Added powerSlider tuning buttons
  • Added a block override fade timer
  • Added all sorts of neat effects to the gravity, fire and friction bombs.
  • Added a new lava island level to design around the !FOGENABLED and NONBLENDEDLAVA speedups.
  • Initial “connection-less” Game Center implementation. Initial support for key-based communication (added libcrypto.a)
  • Added a label toggle button in game and removed the reticle label fade.
  • Reworked the visual styling of the shootMenu.
  • Abandoned scrolling on weaponScrollView because UIScrollView is too buggy.
  • Added BlockAttachements.
  • Added CANNON_IMPACT and BLOCK_POOF emitter types.
  • Tweaked Gravity Bomb effects.
  • Removed old levels.
  • Fixed a bug where resetCollisionFilters was not being called (killed replay).
  • Extended ASGlassButton to handle corners.
  • Fixed some ASGlassButton issues that were causing uneccessary redraw.
  • Added a biased decal shape as a hack until gets fixed.
  • Refined convex sweep tunnel protection even further.
  • Added convex sweep querying to block movements as well.
  • Added LOCALMODELVIEW so that we don’t stall OpenGL everytime we need to read/update the camera matrix.
  • Added more benchmarking oriented functionality and updated libbullet.a.
  • Tweaked build settings and switched compilers to llvm-gcc4.2.
  • Fixed the editor back into working shape.
  • Fixed cull and texture state for projectiles until they get their real objects.
  • Fixed big in terrain removal code that was smashing memory.
  • Fixed some block label override bugs.
  • Fixed key loading.
  • Fixed projectile state dirtying.
  • Added an in-game fps counter.
  • Added server games auditing to the ADMIN_MENU.
  • Checks first before copying into history now.
  • Misc bug fixes.

Alpha Testing List

Would you like to be one of the awesome alpha testers that help make Cannonade great? Send an email to: [email protected] and I will reply with instructions on how to get onto the Trac server, Testflight list and tester forums.

Introduction to Cannonade

April 2nd, 2011
Spencer Nielsen Follow snielsen42 on Twitter

Even though many of you already know about my current project (I have also written a few blog posts about it) it is time to officially announce it and give it a quick introduction. The first project that I have chosen to work on since going indie again is an iOS game called “Cannonade”. It is a turn-based physics game with an emphasis on multiplayer and creativity. So far I have the core engine up and running. I have chosen to use the Bullet3D engine for physics simulation because of it’s general support and stability, iOS support and iOS performance. The rendering and effects engine, UI, networking engine and everything else I am writing from scratch myself. I am basing enough crucial functionality on iOS specific components (like UIKit and Game Center) that I can say with good confidence that it is going to be an iOS exclusive (although some parts of the engine may make it to other platforms). It is currently in early Alpha and there is a lot of game design and asset creation left to do. Things are still very malleable and everything is still placeholder (please keep that in mind when playing test versions and viewing screenshots 😉 ). I have a comprehensive testing plan, work schedule and timetable which I am hoping will ensure that Cannonade becomes a polished, high quality product by the time it hits the App Store.


Entries (RSS) and Comments (RSS).