So believe it or not I’ve been jogging the past few weeks. I get my fat ass up and go down to my apartment complex’s weight room and run on a treadmill for around 30 minutes. –SPOILER– I’m still fat –SPOILER– So I was angrily and depressingly in a constant state of falling forward when I heard this coming through my ears. (Skip to about the 34 minute mark)
Low and behold the secret bromance between me and Justin McElroy continues without his knowledge or participation.
Cat is out of the bag, time to announce where I’ve been the last few… months. I’ve been working on this:
The funny man in the video is Dave Marsh – a friend and also the creator of classic adventure games ShadowGate and Deja Vu – among quite a few others. He approached me a few months back and asked if I wanted to be part of this project. He’s a great guy and I saw this as an opportunity to try out some more mobile flash work (which I had already done with moderate success). So for what seems like ages I’ve been developing an engine that can turn around these adventure games with little to no effort. (if you watch the video you can see it being demoed on my Asus eeepad transformer)
This project has fully monopolized my free-time. So much so that I find my site to be in utter shambles which is not terrific for someone passively job hunting. I’ve had quite a few more posts ready to put up that I haven’t been able to complete and am still trying to find sources of some of my older projects. I will do my best to rectify this in the coming days.
Last Wednesday Adobe released their roadmap for Flash. I highly suggest all Flash developers check it out. This document mentions “Actionscript Next” which we all know means “Actionscript 4”.
I actually started hearing about as4 back in October at the Adobe Max Conference. I won’t name names because I don’t want to get anyone in trouble, but several of the top names in Flash and at Adobe casually mentioned the possibility of an as4 in semi-joking. Once I’d heard it 3 times in 3 different presentations I was convinced. So, I’ve been contemplating what as4 could be ever since. So I thought I’d write a bit here note what the whitepaper says and what I hope as4 has.
Here’s what the whitepaper says: Stringent static typing as default, with optional dynamic typing: Most stretches of most programs are expected to benefit from static typing. However, ActionScript 3 tends to lapse into dynamic typing all too easily in places where absolutely stringent static typing would be preferable. This will be corrected. Dynamic typing will still be available when needed, but it will no longer be the default for ActionScript, and it will need to be enabled explicitly. Type inference: Type declarations will only be necessary in certain strategic places. Everywhere else the compiler will automatically infer suitable type declarations and treat the whole program as statically typed, even though the programmer does not have to state any types. Thus the convenience of untyped programming can be approximated quite well, while providing the performance advantages of typed programming. Hardware-oriented numeric types: For example, int, uint, float, float4, byte, short, long, etc. (the exact set of types is still under discussion). Currently in ActionScript 3 integer values can overflow into floating point values. This will be changed so that numeric operations will never change the underlying representation of the numeric. We foresee this addition greatly reducing implementation complexity and improving runtime performance.
Stringent typing only matters if it means there is work being done in flash’s memory system to take advantage of it. I’m going to hope that this work is being done. Honestly I’m a little worried about the devs at Adobe fully getting this. I was attending a presentation at Adobe Max where the presenter was explaining the concept of an object queue and how that can increase performance. However, he used the new typed Vector class and was continually pushing and popping out of it. I thought to myself, well that seems dumb. So after the class I asked him if the memory in Vector was contiguous, it was clear from the look on his face that he had no clue what I was asking. And if you aren’t excited about having float, byte, and long available I don’t know what your problem is.
What do I want (in no particular order)? Mobile support ready at launch: Mobile AIR is going to revitalize flash in a very big way. As4 better be ready to capitalize on that. Templates: To be fair I actually don’t care about Templates. I always felt like they only exist to quiz new hires on programming techniques. But new language and strong typing should allow for this. Destructors: I know, I know – I shouldn’t need it. Well guess what – you ALWAYS NEED IT. The only flash apps I’ve created that didn’t “null out” and manually kill their event listeners were super small insignificant test apps. Making an actual Destructor would be very handy for those of us that don’t trust flash. Speaking of which… More control over the GC: Chances of getting this is pretty high I think. Adobe has been giving us more and more control over the GC in the past few releases and I only expect this to get better. Threads: I only mention it so I note that I don’t need to mention it. Threads are on the way for as3. Function Overloading: Chances of getting this are slim to none unless the wizards at Adobe really change the way memory is handled, but I can dream. Operator Overriding: I can count on one hand the number of times I’ve wanted this in flash, but I have wanted it so…. Integrated Stage3d Stage3d is great, Stage3d is the future, and Stage3d needs to go away. It is CRITICAL that there be no distinction between non-gpu and gpu based rendering in as4. The compiler should be smart enough to use the gpu when it can without my code having to explicitly call it. I don’t think that’s too much to ask. At least I hope it’s not. Enums: Yes I know you can code around it, but there simply is no substitute for a good Enum. Keep the syntax: I started programming with c++ and then C# so the Javascriptish syntax of as2 and now as3 irked me at first. But now everyone is used to it. Don’t change things just for the sake of changing them. Extending Multiple Interfaces: Simple – make it happen.
Well that’s all I can think of at the moment. So in case all this talk got you hot and bothered – don’t be. The earliest anyone could expect tangible info on as4 will be at next year’s Adobe Max and I would be shocked if there was even a demo then. The earliest possible release would be with CS7 which we are 2 years away from. So, until then get you some Starling and rock on.
Quick update. I’ve been developing a mobile game in my spare time and this has made my infrequent updates here impossible. It’s really a shame because I’ve got something like 5 posts prepped and ready. I’ve finished a pretty slick bitmap font system for flash and some other toys and whatnot for the portfolio page, but haven’t had the time to put them up. I’ve past bread on my game and am entering non-critical game features (read: things I’m going to cut). Hopefully I’ll post something of more significance soon.
If you’re wondering I can’t answer any questions about the game till its launch. But you can expect a full write up afterward.
Changes to my “Work” page! Now there are 3 categories under the “Work” heading: Portfolio, Games, and Experiments. “Portfolio” will have the little portfolio image viewer widget that you’ve seen before. Basically if I don’t have rights to the code/game I will build a portfolio for it and link it under that heading. The 2 previous entries I had in Work will now be under “Portfolio”. I will put any playable games I make in the “Games” section. This will only be games that are actually playable on my site, of which there are none… The last section is “Experiments” which is where I will put any little tech demos or experiments I’ve monkeyed around with. For example I just put up an experiment I built in as3IsoLib. Go check it out!
Put up another portfolio today for Tootsville.com! I am legally bound not to comment about that job or work environment! Seriously! Not joking! I had to sign a form saying I would never impugn or defame RES Interactive publicly so I could receive my final pay check from them that I was owed! So I am not impugning or defaming RES Interactive in any way! They are great people and I wish them the greatest of success in all that they do! Check the portfolio out by clicking the “Work” link at the top of the page. DO IT!
I was fortunate enough to attend Adobe Max this year so I thought I would inform the populace about what happened there and what I learned.
Screw LA
LA is a great place to visit… Actually, that’s a lie – LA sucks. The only reason why I got out of LA with any brain cells intact was because someone else did all the driving (You will be missed Arron) I’ve made the harrowing drives of inner city Atlanta, but that does not compare with pure white-knuckle masochism of driving in LA. It seems a prerequisite that everyone start their daily commute with cutting people off, forcibly merging into full lanes of traffic, and leaning on hornes. Also LA is too damn expensive. Our hotel (that charged 175 a night) only had valet parking that cost an extra 15 bucks a day plus tip.
Mobile
Flash builds straight to mobile platforms. I’ve done it. It works. The big news is Native Extensions which allow flash to do things like throw up native OS dialog boxes and play with special hardware. Also you can now embed the AIR player inside your mobile executable (apk) for android devices. This keeps the user from having to download the separate AIR app to use your flash built app. Very nice – very needed.
Stage3d
I saw several games in the pipe utilizing Stage3d and I was impressed. The games were mostly of the indie/downloadable quality, but in browser which is impressive. But, “Booker!” you say. “Unity3d has been making these games for years now!” This is true, but with one huge caveat – the Unity3d Player. The Unity player never caught on because it is ONLY used for Unity games. Quick – name 5 games you’ve played that were built in Unity! What, you can’t? OK then, name 5 websites you’ve visited that use Unity3d. Can’t do that either? Shocking. It’s no wonder that Unity is building a swf exporter, frankly they have to. If not for all of the sudden inexplicable attention that Unity3d has gotten from the gambling industry it would surely have died by now.
Unreal to swf
We have all seen and played the demos but there is something magical about Tim Sweeney awkwardly stammering through some que-cards and demoing Unreal 3 in Flash. No-one, myself included, was expecting this. But why not? If you own a game engine and would like to have “playable in browser” as a bullet point for your engine all you have to do now is build a swf exporter. Since the Unreal reveal Crytech has announced that they are also working on a swf exporter. Times, they are a changing. Unreal3.swf
Odds and Ends
Lots of small coolish things at Max. Flash Pro cs6 will build sprite sheets and will have a new suite of JSFL extensions. They are building a working callstack for Flash Builder. They built a thing called Telemetry that builds a graphic chart representing processor and load spikes in your swfs. They are working on thread support for Flash. I will supposedly get a free copy of the entire adobe suite for a year. They had an open bar for over 5500 people with no line, but the burger truck had a 15 minute wait. (nerds apparently don’t drink) Weezer did a killer set. Rainn Wilson doesn’t understand command prompts. And also this happened: NerdGasm
Conclusion
Despite LA, Max was fucking awesome and I will go every year I can convince someone to buy me a ticket.
Mostly finished my portfolio viewer. It could still use some extra bells and whistles, but it works for now. I also put up my first portfolio game Mom, Wife, Bounty Hunter. It was a game I made back in 2006 for a quickly cancelled Women’s Entertainment TV reality show. The game proved to be better than the show which I think only aired 2 episodes before it was pulled. The game, however, stayed on WeTV.com for almost a year. Go check it out on my “Works” link. More portfolio updates on the way.
Winding down development on the Air Android game I’ve been working on. Now we’re just gold-plating the hell out of it. Do we need to add Facebook log in, or database storage, or sound effects, or bonus games? No, no we do not. It was just supposed to be a proof of concept. Oh well. As I always say, If you’re going to do something – do it to the point that you start scaring the people around you. Since this thing is technically owned by my parent company I haven’t figured out yet how I’ll be sharing info on it. We shall see…
Special shout out to my partner in crime in this little endeavor: Brian Lachniet. Go read his blogs and learn something! blachniet.com Unlike me, he pretends to be a professional. Oh to be young and stupid…
In other news I’m going to Adobe Max! I’m honestly quite excited because I’ve never been to like a real professional conference type thing. I’m sure I’ll make a huge ass out of myself and have to find a new career, so that will be fun!