Archive for the 'Computer Games' Category

iOS Caster Now Has 60beat GamePad Support

January 6th, 2012
Spencer Nielsen Follow snielsen42 on Twitter

Here’s demo of the new 60beat GamePad with my friend Mike‘s game Caster HD. I added support to both Caster/Caster HD and the update has been submitted to the App Store for approval. It shouldn’t be too long before the update actually hits the App Store. (UPDATE: Both updates are now live on the App Store!)

In the video I demo the controls starting with the cursor. The Mac/Win/Linux version of Caster has game pad support for the in-game cursor and so it was easiest to just hook into that. You don’t need to worry about switching between touch and game pad controls. Caster has no on-screen control overlays and both control styles will work concurrently so you just plug in and go! No setting switch required.

After getting into the game I demonstrate the settings for the camera movement which is controlled by the right analog stick. The start button will pause the game and give you access to the options menu. There you can tweak the camera sensitivity and invert the axis if you want.

A lot of the other controls are doubled up so you can use whichever you prefer. The left analog stick or the directional pad control walking movement. Button 3 or R2 will jump. Button 4 or the R1 will fire. Buttons 1, 2 and L2 will rotate through the different weapons. By holding down L1 you initiate a dash when moving.

(While I’ve got you here, be sure to check out my new 3D physics shooter Invader Zurp if you haven’t already. It is a ton of fun and there is nothing else like in on the App Store. 🙂 )

Caster for webOS

October 6th, 2011
Spencer Nielsen Follow snielsen42 on Twitter

Want to buy Caster for webOS? Click Here

Caster History

Much like Amit Singh and his Hanoimania, I regularly attempt to port my friend’s game Caster to as many platforms as I can. Because of some good language and API choices upfront (C++, OpenGL 1.X, SDL, etc…) the Caster codebase is very portable. That portability combined with its relatively humble (for these days) performance needs has lent the (currently still unified) codebase to easy porting. This multi-platform journey began many years ago before Caster was even released. Caster was still in early development when Mike approached me with the idea of maintaining a concurrent Mac build. At that time Macs had not yet moved over to x86 processors and so the most difficult part of the process was reverse engineering Valve’s Half-Life model format (which Caster uses for animated character models). The Half-Life model format was a binary, in-memory format utilizing offsets which meant that while loading it was quick and simple (just read it into memory, no processing whatsoever) it was unfortunately dependent on little-endian byte order to work. Other than that and a couple of other issues, the Mac port was really straightforward. So before release, Caster was solidly supported on both the Windows and Mac platforms. After release another guy helped out with the Linux port of Caster and so at that point we now had the major desktop operating systems covered. Over the years we added slightly different versions for the desktop platforms to adapt them to specific distribution avenues like Steam and the Mac App Store. The first port that required major reworking was iOS. That adventure was chronicled in my post Caster for iPhone: A Postmortem. Mike and I had the opportunity to give a presentation about what we learned at GDC Austin ’09. Later on as the Android and webOS mobile platforms took shape, I started to look into porting Caster to those platforms as well.


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.


When Bullets Move Too Fast…

June 1st, 2011
Spencer Nielsen Follow snielsen42 on Twitter

Did you know that bullets (and other quick moving objects) in video games sometimes exhibit magical properties if they move too fast? If they gain enough speed, sometimes they can even pass completely through other objects without leaving a scratch or affecting them at all! You might have seen this happen occasionally in games that have a lot of complicated physics simulation. Sometimes fast moving objects just seem to pass through the ground or other objects. Unfortunately this is not a desirable user experience and it quickly breaks the illusion the game is trying to convey. This phenomenon is called “tunneling” and game developers attempt to deal with it in a variety of different ways. I thought I would share my unique combination of techniques to deal with it that I used in Cannonade. I have not seen this specific combination of techniques explained or suggested anywhere and so I thought it might be beneficial to share what I have learned with others who might also be suffering from object tunneling woes. First lets explain how most modern game physics simulation works and investigate why this problem crops up.


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″]

Determinism in Games

January 28th, 2011
Spencer Nielsen Follow snielsen42 on Twitter

One day while I was hard at work a couple weeks ago I hit a really difficult technical snag. I stood up from my desk, let out a sigh and declared to the other person working in the office that “I’ve lost my determinism!”. He then inquired how I had lost my motivation while visibly wondering if I had used the word correctly. Although I had hit a significant roadblock, my determination to overcome it and make progress on my game was higher then ever. The “determinism” of my game however, had been lost. Now I needed to take it back.


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.

Entries (RSS) and Comments (RSS).