Protonaut is on-schedule for release later today, likely sometime around midnight PST. Still waiting on some music/sound effects, and we have some shuffling of levels to do in the Trials, but otherwise the game is gold.
Protonaut is on-schedule for release later today, likely sometime around midnight PST. Still waiting on some music/sound effects, and we have some shuffling of levels to do in the Trials, but otherwise the game is gold.
I attended PAX (The Penny Arcade Gaming Exhibition, aka PAGE; or at least it should be) this last weekend for the first time. People seemed to get so excited about it that I had quite high hopes.
The typical meet-the-developer experience is to stand in line for 45 minutes and get spoken at with a megaphone. The words are usually empty; the standard press-fare you get around games. Everyone sounds like a talking press-release. Then you get a t-shirt for your patience.
I attended GDC, where I could (and did!) talk to some developers for over 30 minutes. Some even went with me out to lunch for for a beer. There was never a line.I really don’t know where this whole “I got it first” mentality comes in. I’m not the kind of guy (14-year-old?) who runs to his friends and says “HAHA I PLAYED xyz BEFORE YOU!” and my friends get genuinely jealous. I’m a patient fellow; I wait until TV series are cancelled before watching them, for example.
Contrast this with GDC, where you get to play early builds of games that companies haven’t even decided on release yet; prototypes; exploratory gameplay visions… It’s quite exciting.And I’m one of those guys that rolls my eyes at reviewers saying racing games makes them queasy. I’m pretty robust in that department.
GDC’s version was Sony’s booth. They had a new TV, where they essentially doubled the pixels. Yep, you have to essentially buy two TVs to get this to work. Half the pixels on screen show left-eye information, and the other half show right-eye information. You get the full 28-FPS experience from your television set, which means no flicker, no headaches, and more information. Since the left/right channels are permanently polarized, you can use any standard cross-polarized pair of glasses – no batteries, no tether. Technically speaking you can also get 2xHD resolution in 2D as well. Obviously expensive though – new TVs for everyone!Someone went up to the mic and asked the PAX10 panel if Microsoft’s XNA framework supported multiplayer. (!!!!)
Another dude asked the PAX10 panel, “Now that you’ve released successful games on your own, have you been able to get good jobs at the bigger gaming studios?”… This one just blew my socks off. I suppose the average gamer dude doesn’t realize that indie games are an escape from the corporate world, not an icebreaker into it. I guess I can’t fault them for that, but all in all it was just a waste of my time.Though technically launch date is somewhere around September 10th, I’ve got so much going on there’s only around 6 days of actual work left for me to finish Protonaut. That means I don’t have a lot of time to post here :)
I had a need for this routine in Protonaut, and Ryan Madsen was gracious enough to pseudo-code this up for me. I then converted it to proper AS3 and to suit protonaut’s needs.
private function dec2bin(dec:uint, digits:Number=6):Array { var result:Array = new Array(); for (var i:Number = 0; i <= digits-1; i++) result[i] = 0; for (var i:Number=digits-1; i >= 0; i--) { if ((dec - Math.pow(2,i)) >= 0) { result[i] = 1; dec -= Math.pow(2,i); } } return result; // results are in reverse order... 1 == 1,0,0,0,0,0 }
My current project, Protonaut, somewhat recently got a “Replay” feature. You can save your victories and share them with your friends! But how to execute the replay feature is really tricky, especially when you only have finite space and bandwidth to dish them out with.
[...] ,,1,1,0,0,0,0,0,0,,2,2,0,0,0,-1,10,0,,3,3,0,0,0,23,0,0 [...]I used comma deliminators and the data is broken down as:,,Array Index, Tick#, jumpstate, firestate, (other keys)…Keystates could be At Rest (0), Just Released (-1), or Held Down (length).
…191J192Q200p201’202’203’204’205W300L…
EDIT: The free code-IDE FlashDevelop does a really good job of doing all these steps for you! I recommend everyone switch to it. :)
One of the things that has been vexing me lately is trying to get a Flash PreLoader working for my games. I’ve tried Googling it, but there are too many like-terms: Flex Builder, FlashBuilder, Flex, CS3, CS4… The all have different methods, and my method is the least googleable: Flex 3.3 SDK, AS3 only.
package {
import flash.display.DisplayObject;import flash.display.MovieClip;import flash.events.Event;import flash.utils.getDefinitionByName;
[SWF(width='800', height='450', backgroundColor='#E5E5E3', frameRate='30')]
public class Preloader extends MovieClip {
public function Preloader() { stop(); addEventListener(Event.ENTER_FRAME, onEnterFrame); }
public function onEnterFrame(event:Event):void { if(framesLoaded == totalFrames) { removeEventListener(Event.ENTER_FRAME, onEnterFrame); nextFrame(); init(); } else { // Show your preloading graphic or animation here } }
private function init():void { var mainClass:Class = Class(getDefinitionByName("Main")); if (mainClass) { var app:Object = new mainClass(); addChild(app as DisplayObject); } }}}
It’s a very simple application. It simply adds an event listener that waits until ALL frames have loaded, and once that happens it will launch your “Main” class. At this point in the game, we still only have a single frame, so it won’t do much. In this case, “Main.as” is my main class for Protonaut and also exists in the root folder of my project. You will have to edit this to match the main class name for your project – use “BobJones” if “BobJones.as” is the primary class in your project.
"mxmlc.exe" -frame two Main -file-specs="Preloader.as"
var app:Object = new mainClass();
var app:Object = new mainClass(this);
I am starting to wonder if I can get Protonaut out the door on time.
We hit a milestone this weekend, and it feels really nice. The gameplay is finalized.
It’s finally here!
I’m sorry it took so long to get Build 30 out, but I really had no choice. Exactly two weeks ago I put out Build 29, and things started changing so much that the game was relatively unplayable until just recently. I put in a final few touches tonight and I am left with a product I am happy to release.
I also wanted to make it a big one, since I’m turning 30 this year, and 30 is a big round number, and I’m hoping to have the game in a releasable state 30 days from now… It’s just a nice convergence of numbers.
Here’s the gist of things:
- Complete UI do-over. All the major graphics and art have been updated and replaced. This was the biggest speedbump – I couldn’t release a game if you couldn’t sign in!
- Replays. Yep, you can now record and playback your victories!
- A lot of gameplay changes – nothing incredibly major, but important nonetheless.
- New website uploaded.
- New forum software installed and re-built. Also hacked to accept user registrations right from the game.
I thought the old graphics were hot, but this new hotness is just… on fire. I love it, I love it to bits. I especially like how it looks sitting pretty in the new website. The notification boxes and level save boxes are all in place now too, and I’ve implemented handy new features like URL-copying-to-clipboard and other fun stuff. The entire graphical user experience is simply doublegood now.
It’s getting pretty late here so I’m going to sign off for now. Updates and new builds should come more frequently now, and the changes will become smaller and smaller in scope as we start ramping up for launch day. Thank you, Alphanauts, for helping us get this far.
Check out the brand new website at www.protonaut.net.
I just hopped out of a steaming hot shower (where I do most of my thinking) and listening to The Decemberists when I started having conflicting thoughts on how big an Independant Games team should be.