David's profileDavid's spacePhotosBlogListsMore Tools Help

David's space

OMFG I've been pwn3d!!!!!

David Golds

Occupation
Location
Interests
Work at Microsoft. Manage teams by day. Get managed by my family by night/weekend.
Commanda
Xbox Live GamerCard
Rep:
5/5 stars
Score:
5379
Zone:
Recreation
Halo 3Left 4 DeadLipsYou're in the MoviesRESIDENT EVIL 5
junk  
Photo 1 of 1
May 23

Fun with Tower Defense

 
 
I really like Tower Defense games, and have been meaning to write one for a while. Finally here it is. It's the more interesting form where the towers form the route.
 
Here's the basics of an engine that has a mostly clean data-driven design. I have a few bits to clean up (placing the initial blocks on the map, splash damage, water towers), but there's a good start there.
 
It is written in ActionScript 3 (aka Flash/Flex) and FULL SOURCE CODE IS PROVIDED under the very easy MIT LICENSE. Just right-click on the game to get at the source.
 
I'm keen to see if people do variants based on this code base. If you do, please add a link to your version in the comments here.
 
 
I plan to port this to Silverlight 3 as a way to better learn Silverlight and will post that too when it's good enough.
 
David
November 24

Ooh, that's sneaky (Dalvik)

 
So you write apps for android in Java but the runtime isn't actually Java (it's a new runtime called Dalvik with a different bytecode).
 
The lawyers will have fun with this.
May 10

FEED ME

Interested in mobile stuff, Adobe Flash/Flex, Silverlight and Amazon EC2/S3?   Well then do I have a feed for you:

COOL RSS FEED

Courtesy of Google reader, here's my aggregated and lovingly hand filtered shared feed that covers these subjects and occasionally some extra random bits. Guaranteed to always be interesting*.

David :)


* : not guaranteed due to technical limitations. Exceptions will apply for whatever reason we deem fit.

Here's something I've been playing with lately. You can too.

Why can't I have multiple categories for a post??? Sometimes a topic touches multipe categories folks. Sheesh!

Ok, let's start. Even though I'm a fully assimilated Microsoftie (with the full set of implants etc) I've been tinkering with some non-microsoft coding environments for fun and to get a broader perspective on things. Since I don't actually write any code for my day job at MS it's simpler for me to tinker with such things than it probably is for real devs.

After many interesting diversions I came to focus on the following bags of tricks as being particularly interesting
1. Amazon S3 (Simple Storage Service)
2. Amazon EC2 (Elastic Compute Cloud?)
3. Adobe Flex 2.0
4. Ruby On Rails

I also got some exposure to Linux (Fedora), MySQL, and VNC as part of the EC2 and Rails experiences.

NOTE - I did this all at home, not at work. This was all for fun, not part of my day job..

I've built a fun app - it's not finished, but you can get the idea if you click here - the idea is it's an online tool for building and sharing games. Cool idea - actually the idea came from Sophie (my wife) and a lot of the design ideas came from my son.

I learnt a huge amount from doing this, and I'll summarize some key learnings here
1) Flex is pretty neat, and while it has some foibles (client RPC is very annoying if you don't have a proxy, layout manager can be really confusing, cut & paste handling sucks) it's clear that this class of system is very powerful. It's exciting that there are systems like Flex, Silverlight & XULRunner out there making the developers world a far better and more interesting place.
2) Amazon S3 is pretty neat, though the recent pricing changes were unpleasant to have suddenly appear last week. I've been impressed with the service and as long as you expect a lot of IOs to fail (and code accordingly) you really can think of it as the file IO api for the web. I wish they'd done a better security model though, the current one's icky if you want to delegate work to the client.
3) Rails was fun. I liken it to a mystery tour. You never quite understood how you got to some place but it was quick enjoyable and usually suprising. My biggest problem with Rails is that you end up writing so little code to do anything you have very little clue what's really going on. This is good and bad, but certainly an interesting situation. In contrast I wrote a LOT of Flex code but it meant I got very familiar with it. Hmmm....
4) EC2 (once you get in) just works, and I like that fact that your server could vaporize (by design) with no notice - again you have to design for failure. More systems should randomly vaporize servers in order to ensure good programming practice (recovery oriented computing). Seriously folks! However, now that requests to S3 from EC2 are charged (about 1c for 1000 put ops) I'm not sure if it's really worth using EC2 instead of a more conventional VPS. The key in the past was 'free IO to S3 from EC2'... but it's really not free as of last week.

Right now, if you want to use Flex and have a lot of RPC I'd plan to use a proxy as an intermediary for requests. Te limits on Flex RPC are too restrictive, you can't really code as you would for a desktop app, even with the benefits of the crossdomain.xml file.

Now I've grokked Flex, I plan to look at Silverlight - sounds good on paper, but I'll miss the nice controls I got with Flex. I will however get access to much easier scripting which will make the logic part of MyGameBuilder much simpler.

Anyway, that's me geeked out for now. Next post should be something a little lighter I think.

David.