So there I was. This huge, volcanic Mount Doom of work lay before me. It was dark, grim, and the trees looked taller and meaner than usual. Programming knapsack in hand, I pursed my lips and intrepidly lifted my foot for the first steps up that steep climb…
…then I realized that I was going to need more money. Hmm. Ok, so now I’m working on that problem first. And I haven’t gone up the mountain very far in the mean time.
I guess, to keep with the metaphor, I actually left the mountain and went into town for supplies. One of my goals is to make some small games. I’m building a Flash (Flex) game engine for that, and I’m finding that a lot of the things being built are directly applicable to my beloved MMO (pardon the tech-dork spew I’m about to force upon you):
- Asset manager with asynchronous hot loading? Yes.
- Steady 65 FPS multi-layered, parallax scrolling tile engine? Yessir!
- Game state system with stackable rendering layers? Check.
- Component architecture for fabulous flexibility in game object creation? Got that.
- Plans for more shiny game engine geek stuff? Hell yeah.
I don’t expect any of that to mean much to anybody. But it felt good, because I am making progress here! Maybe not directly, but this is all stuff that Lila Dreams has to have, so I will eventually pick it up and toss it into the existing MMO chassis–and have one hot ride!! Wooooh, yeah!
But it’s also exciting to me because this is groundwork for a bunch of small games that keep kicking around in my head. I think maybe the Universe has routed me down this path for my own good. I’m learning, I’m doing, I’ve almost got a nice little base of operations to work from so I can build up, up, up. And–eventually–that big, scary mountain won’t be quite so big anymore.
While I’m here in this self-aggrandizing reverie, I will mention (against my better judgment) that I might even start a Flash game portal site. No, not like any you have ever seen. It’ll be… er, I’d better not say anything more. Mmmyeahok.
In summary: Bad news, no progress on Lila Dreams lately. Good news, some progress on Lila Dreams lately (albeit indirectly).
Stay with me here, I’m coming back to the foot of the mountain as soon as I get a chance. Only this time, I’ll be more ready than ever.
7 comments ↓
Good for you. I know where you’re coming from, I’m working on a flex multiplayer game at the moment as well. The server bit was the hardest, but I’ve finally got that under control with a nice Java backend and BlazeDS, after a few aborted attempts.
Feel free to make some tech posts, I know me and a few others will be interested.
I (and, I’m sure, others) are still routing for ya!
We’re with you all the way! I’ll start working on something for you to toss into the volcano when you get to the top … (ya know, to appease the angry, fickle, gaming gods?)
# Plans for more shiny game engine geek stuff? Hell yeah.
I’d be interested in what path you take with ragards to physics. Building your own or using an existing library? Box2D? APE? I like the geek stuff.
The other Jason (there’s another one?), I haven’t tried BlazeDS. The new Lila Dreams engine uses SmartFox, but I’ve abstracted the server stuff away so I can pretty easily plug in anything. SmartFox is only ever directly used at very low level, so I pretty much forget about that and just write to my own API.
Schell, I’ll be using Box2d for my non-MMO/singleplayer games. At first I’m just using it for collision detection, but later I might use the dynamics, too. Depends on the needs of each game. A racing game would be awesome using it. Crash up derby with guns a la Car Wars?
I don’t plan to use any physics library in Lila Dreams because I don’t think Lila Dreams needs physics like that. I’ll implement something simple from scratch, probably. Things like jumping in a platformer need fine-grained control (to be able to tune it to perfection), so I wouldn’t put that through a simulator anyway.
I should add that another factor is I’m not sure how much complexity and trouble doing a networked version of Box2d would be, so I want to avoid that whole can of worms.
Ya, I looked at SmartFox and wasn’t too impressed. It didn’t really add much, and didn’t appear to be too scaleable. BlazeDS doesn’t really do anything other than interface you to your Java components (quite seamlessly). With some of the new Servlet 3.0 stuff, you can even do essentially synchronous connections for 10s of thousands of users on one box. You can do clustering too when you get above that. It’s nice.
Setting up the server side was an utter bitch, but now that it’s done it works well, and I’ve got as much scaleability as I’ll ever need.
I am going to look at BlazeDS a bit more. You’ve piqued my curiosity. But Lila Dreams will remain with SmartFox because that’s what Kongregate wants me to use. I would consider Blaze for other projects, though.
As for horizontal scaling, I’ll be using Terracotta. It’s the reason I will never write any MMO server in anything other than Java.
Add a comment