I've always been captivated with the idea of MMORPGs (Massively Multiplayer Online Role Playing Games). I thought it was about time to embark on my own programming feat, an ambitious one that would help me learn new skills, like BSD sockets, and how to manage a large and complex project. It’s heavily based on a game that I thought would be the ultimate MMORPG, Escape Velocity, if they ever developed it. For various conceptual and technical considerations, there will be no combat, at least not anytime soon. Instead, it will be economy and exploration based, where players seek out resources and participate in free markets.
The screen shots are from different points during the game's graphical development. Some screen shots you will see have "vector lines" to show where objects are in the vicinity, but not immediately visible. Names are shown next to objects, such as planets or space stations. The HUD, fuel, targeting, and information on targeted object are the latest additions.
The server program is rather plain and the client code has yet to be integrated into the graphical client. This is because I'm still trying to tweak the client/server exchange to make the game as lag free as possible, a daunting task I assure you.
Update: August 15, 2003
Work has resumed under a new name, Aurora, with Ethan's help. He is primarily responsible for server networking code, while I handle client graphics and client-side network code. Division of labor should help project along. With the injection of enthusiasm, the client has evolved considerably. The biggest change is that you no longer fly by the arrow keys (like asteroids or Escape Velocity). You now click the desired location, and a new ship AI pilots you to the spot realistically (taking into account it's inertia, direction, and speed). You can also hit A to autopilot you to your currently selected target or use the arrow key to fly to the border of the surrounding sectors. Essentially, you don't even have to touch the manual mouse/click movement at all if you don't want. This major change was along side a fundamental shift of how we wanted to handle movement data. Now all the client needs to send is one packet with it's destination X and Y. Receiving data about other players is as simple. The bandwidth overhead and CPU savings are big.
Graphics are also improved and sport new features. Selection boxes, a FPS counter, animated destination marker, color-coded vector lines to display distance, and dozens of new space graphics are present.
Update: August 26, 2003
Sounds for navigational clicking, sector and object autonav, connecting and disconnecting to server, and targeting are now coded and sound great! Music has been added and the game is starting to look really professional. During the wasted looping cycles in our main game loop, I now sleep the graphics thread. This gives more time to the server/client thread and other applications.
Update: August 26, 2003
Looks like Ethan has been bogged down by school work. Judy is also super busy, so it looks like it might be up to me to tackle both parts of this project.
Update: January 3, 2004
Unbelievably busy. Project on permanent hold. Bigger fish to fry.
(a little choppy while running the game engine and capturing full-screen video. Sound effects not included.)
Early Screen Shots
Later Screen Shots
Most Recent Screen Shots
|© Chris Harrison|