My new project – Versions

Finally, we’re now going to get to the reason I posted all of that stuff about my history with programming. In recent months, I’ve been doing a lot of work with web services and helping to define an SOA architecture. As a result, I’ve had to learn a bit about the different products which inevitably led me to doing some coding for one proof-of-concept project or another.

I’ve made several attempts to learn Java to the extent that my knowledge of other languages such as Pascal, C/C++, PHP, and Perl should have carried me through. For some reason, though, I always hit a brick wall and it didn’t quite click for me. Well, the moons and stars aligned for me a couple of weeks ago and I think I finally got it. I went back through several Java books I had picked up before and wouldn’t you know… Suddenly it makes sense.

Let’s change gears for a second. I came up with an idea for an online game several years ago after playing a few so-called ‘hacking simulator’ games. They seemed kind of fun, but lacked the excitement a multi-player version could bring. However, since programming and I were not on speaking terms I let it lie and we didn’t speak of it again.

Enter Project Darkstar. I ran across it totally by accident and I must say it is very cool. It’s really just another name for the “Sun Game Server” which is cooler than it sounds. It lets online game developers focus on game design and logic rather than spend so much time on infrastructure, database coding, and net code. The SGS takes care of most of the hard work for you by handling network communications, persistence, and scheduling tasks. Essentially, the coder writes single-threaded, event-driven code and the server figures out object contention and schedules tasks as separate threads or queues them as necessary.

The project was open-sourced very recently with the limitation that it can only run on a single game server app. I’m not sure if the multi-server version will be commercial or just open-sourced later, but either way the code that you write doesn’t change. The server takes care of clustering and persistence across whatever size infrastructure the application needs.

So, I’ve started working on a project which I’m calling Versions which is written for SGS. I’ve even registered the domain versionsonline.net, but there’s nothing there yet. I imagine this is going to be slow and painful to begin with. I’m new to Java, I’m rusty at programming in general, and I have no experience at game programming. However, I think it will be fun to learn as I go.

Obviously I’ve put more thought into this than what I’ve posted here. I’ve setup a super-secret wiki and code repository to host this until the game website is ready. I’m planning for several different clients to make the game multi-platform and I want to incorporate continuous gameplay through event notifications (sms, e-mail, IM, etc). The server code would be closed, but I want the server API to be documented and the client open source. The client could be a simple text-based client, a 3D graphical client, a mobile phone client, or even a web-based client.

If anyone would be interested in finding out more about the game or the project, I would be glad to discuss it with you. I would be grateful to get help with game design concepts, programming, or even web design/development.

Leave a Comment

blog comments powered by Disqus