Archive for the 'iPhone' Category

Cannonade Tutorial

May 6th, 2011
Spencer Nielsen Follow snielsen42 on Twitter

For the past week I have been working on creating a gameplay tutorial mode for Cannonade. I am pretty pleased with how it has come out! There are still enhancements to be made and polish to be applied but I think it is good enough to put into the next seed. It is meant to explain the interface and get you some basic gameplay practice before you go up against real people online. It reveals the interface step by step, explains how you use it and lets you get some hands on experience with each concept as it is introduced. If you have never completed the tutorial before then it is the first thing that runs when you launch Cannonade. Previously the only way to figure out how to play was to just press buttons and experiment around after you had already entered a game with a real person. Hopefully by adding the tutorial I can help teach people about how to play the game before they play for reals.

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 http://aorensoftware.dyndns.org:8000/TRAC/ticket/145 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.

OpenGL Game Optimization for iOS

April 22nd, 2011
Spencer Nielsen Follow snielsen42 on Twitter

For the past month or two I have been lightly seeding to Cannonade to testers. I have gotten the strong impression that the “fun” of my game was unfortunately getting lost in the low framerate. There is a certain reaction in the human brain that I am trying to evoke by making the blocks explode and collapse in physically realistic ways. However, when the framerate is too low the perception of motion is lost and so is my core game mechanic. I first spent a lot of time optimizing the execution of the Bullet physics engine and found a significant speed increase by tweaking compiler settings. I found that the execution of the physics simulation on iOS devices was very strongly locked to CPU performance. Now the time had come to start attacking the performance of the graphics engine. I was hopeful that I would be able to find even more significant speedups in this area because the graphics engine was custom written by myself and I could also employ device specific optimizations to take advantage of specific strengths or avoid specific weaknesses. Many of the techniques I tried out were nothing that hasn’t already been done before but I thought it would be worthwhile to document my experiences executing them in my specific situation. These are the results of a week and a half of aggressive performance benchmarking, exploration and experimentation. It goes without saying that my results are very data set specific and so they could perform better, worse or the same when applied to a different iOS app.

(more…)

And the next game weapon I design is…

April 18th, 2011
Spencer Nielsen Follow snielsen42 on Twitter

the one that gets the most votes below!
[poll id=”3″]
Got a good one that I havn’t thought of yet? Let me know below and I will add it!

UPDATE: Voting is now closed! Looks like it was a 6-way tie! I have decided to deal with this by designing 3 of them, the Gravity Bomb, Fire Bomb and Friction Bomb. Check out their debut in Cannonade 0.5.7!

Help Name My Game!

February 8th, 2011
Spencer Nielsen Follow snielsen42 on Twitter


Testing out some new explosive weapons in the editor.

So after a month and a half of heavy development I am almost ready to unveil my game to the world and start alpha testing! There are just a few things that need to happen first though, the most important of which is that I need to find a name for this thing!

This game is a creative 3D physics game in which players take turns trying to destroy each other’s fortresses with different weapons and strategies. Players need to be clever in their choice and use of weapons, strike a balance between spending and saving resources, and have a pinch of luck to succeed. Players can even take their game to the next level by creating their own castle designs and pitting them against their friends.

Thematically I have been thinking that I want it to have a light-hearted, silly and fun tone to it but also have tons of big explosions and loud weapons.

So what should such a game be called? (pick up to 5)
Got an idea for name? Let me know in the comments!

UPDATE: Voting is now closed. I have decided to go with Cannonade! Thanks for your input everybody!

[poll id=”2″]

The Number One Problem With Game Center

January 10th, 2011
Spencer Nielsen Follow snielsen42 on Twitter

The biggest problem I see with the current implementation (iOS 4.x) of Game Center is that there is no way for Game Center users to authenticate themselves to 3rd-party servers. Let me explain from the top. Game Center is Apple’s new games oriented social network and infrastructure on iOS devices. It has a lot of great features like leaderboards, achievements and matchmaking. Once a user creates an account on an iOS device they are perpetually signed in at the operating system level. This is great because it means that all existing and future Game Center games can take full advantage of its features, social connectivity and never have to make users create an account (users HATE creating new accounts) or even sign in again (unless of course they explicitly sign out). From the game developer perspective, Game Center is really awesome. There are a lot of developers (myself included) who do not want to have to:

  • Create a complete login infrastructure
  • Store and handle people’s passwords safely
  • Figure out some sort of account confirmation
  • Implement password recovery
  • Encourage users to start building YET another social graph on your service/game
  • Handle other support related support requests

(more…)

Going Indie! (again)

November 16th, 2010
Spencer Nielsen Follow snielsen42 on Twitter

The entrepreneurial itch has gotten me once again! After nearly five years with Apple I have decided it is time for a new adventure! In many ways I think I prefer to be the big fish in the small pond. As far as the startup life is concerned, there has already been so much said by so many that I don’t think I have anything particularly insightful to add other than that it is indeed an absolute rush.

The first time I went out on my own was right after college. For two years I developed an extensible 3D interface framework and window server called Vision. It is no longer in development but you can still check out material on it in the Archives (I might get a patent out of it yet though). Even though things didn’t turn out like I had hoped, I still wouldn’t trade that time for anything! I learned a TON during that period of my life in all sorts of areas. The technical skills and business knowledge that I acquired during that time have proven to be invaluable in everything I have worked on since. The lessons I learned have also shaped my plans for this next go around.

The first thing I decided to do this time was to start small and build up. I am going to attack small problems/projects with the goal of getting some sort of sustainable revenue quickly. These small projects are the kind that one person can bring to market by themselves. Because of the small scale I also plan to not seek funding and bootstrap everything myself. That way there really is nothing standing in the way of getting a fully finished product out the door other than my own skill and effort. Hopefully I will be successful enough to bring others on board and attack progressively bigger problems.

I have already laid the plans out for my first project which will be introduced in a future post. I will say that it is an original iOS game like nothing currently in the App Store today. My plan is to take this first month to code up what I would comfortably call a playable alpha and start organizing a testing community around the game. Apple has made such compelling and easy to use development tools/frameworks that it is going to be a joy to dive headfirst into iOS development full-time.

I also plan to regularly document my progress and efforts here for anyone who has interest in independent software development. I know that I particularly enjoy reading about the experiences of other indie developers out there. Got any advice for me? Let me know in the comments!

Caster HD for iPad is on the App Store!

April 1st, 2010
Spencer Nielsen Follow snielsen42 on Twitter

One of the best third person shooters on the App Store is now on the iPad! Get Caster HD now in all its high resolution glory!

I am seriously excited for the iPad! Hopefully I will be able to get a hold of one soon and check out what may be the future of personal computing.

Caster for iPhone: A Postmortem

October 31st, 2009
Spencer Nielsen Follow snielsen42 on Twitter

My good friend Mike has for many years had a pet gaming project called Caster which he has worked on in his free time for graphics experimentation and his own entertainment. And for almost as many years I have been working with him to port it to various platforms such as Mac OS X and iPhone OS (as of this writing I am currently poking around with a Dreamcast build of Caster). Recently Mike gave a presentation we co-authored called iPort: How to Bring Any C++ Game to the iPhone at the GDC Austin 2009 iPhone Games Summit based on our experiences with porting Caster to the iPhone. Even before the GDC presentation Mike and I thought it would be cool to write a postmortem on porting Caster to the iPhone. At the time we thought we could turn it into a blog post or web article or something. After being accepted into the iPhone Games Summit at GDC we adapted a lot of the notes and material that we had produced for the postmortem into the presentation slides. The presentation went well and the slides were jam packed with a lot of good tips and tricks for both iPhone porting newbies and experts alike. However, I thought it would still be fun to use the original material to organize a story-like postmortem.

Caster 1.1 for iPhone is out!

October 5th, 2009
Spencer Nielsen Follow snielsen42 on Twitter

After a long time coming, Caster 1.1 for iPhone was released about 2 weeks ago to the App Store. A lot of care has gone into listening to feedback and deciding what can be addressed now. It is a really nice update that should be a delight to existing customers and more enticement for new purchasers. Changes include:

  • The first three levels of Episode Two are playable.
  • Caster theme music cover by Mega Ran.
  • Controls tweaked to fast-paced shooting perfection.
  • Customizable draw distance (for people with the new 3GS or iPod Touch).
  • In game menu re-arrangement (to avoid hitting menu buttons inadvertently).
  • Tweaked visuals like the lifebar.
  • Small gameplay tweaks.

We learned a lot at GDC Austin 2009 about iPhone optimization, development and marketing strategies so be on the lookout for more updates in the future with improvements with regard to both technical aspects and content.

Entries (RSS) and Comments (RSS).