I know this is a plugin developers page, but it's worth a shot.
Is there anybody out there who would like to play an EV Online game? Assuming of course it were fast, well-designed, expansive, and legal, I'd love to play one. I just wanted a survey of who would too, to give me extra motivation.
Please note that the EV Online I'm designing is not neccessarily a multiplayer arena game like Quake, it's an open universe.
...
So here's what I've done so far for the online verision of EV (it's all written on Java using Codewarrior for Classic Mac (Java on OS X is awesome, the best yet, but too slow on my Blue and White G3)
Please not that I'm currently separating the network parts out of my EV project so I can use them for any multiplayer game, once I've done that, I'll post the source.
1. The client sends his or her password to the server and via JDBC (not an acroymn for Java Database Connectivity but often referred to as that) the server sends pilot information back to the client for safe keeping as well as connect the client to the system that they were last on.
2. Each system acts as a separate thread that controls everything that goes on in the system and sends every client in the system graphical information on the game every frame. This inforamtion includes every sprite (ship or bullet) currently on the screen. The actuall game code is run entirely on the server. The client just implements graphics code.
3. When a player jumps to another system, the server can easily (well maybe it's not so easy) transfer the connection over to the another system and the player starts recieving information about that system.
Things to figure out (ideas and comments welcome):
1. The planets. Systems with planets must have a separate implementation for that planet and it must enable the player to do a variety of possible things (please add ideas to my list):
- Basics - shipyard, outfitting, and refueling
- shop/trade on a public market
- chat with other players in the bar
- hire other players / or sell yourself (rather difficult to implement)
- gamble or enjoy other emenities that the planet has to offer
I also like the idea of being able to develop your own factions and colonize unihabited planets yourself. And then have a more compledx way to take over planets, maybe not every battle has to take place in space. A lot would go into this but it'd be worth it.
2. Speed issues:
Each sprite in the system must be passed to the player every frame or so. A sprite is made up of three numbers (each 2 bytes): a x-axis location, a y-axis location, and an image_number. The image number might actually have to be 4bytes because there are a lot of graphics in EV. So each sprite would be about 7 bytes. So if you want to find out how many bytes per second you'd need to download do 7 * number of sprites in the system * framerate. A framerate of 20 I found is very playable, butI think it's 30 in the original EV. This wouldn't be that bad for simple trading and small space battles, but large wars and campaigns might be tough. Adding more information but sending it at smaller intervals might help, but by how much information do I add, and what type of information?
3. Does anyone know how to use DrawSprockets properly? Sometimes when I switch screen resolutions manually, after using a DrawSprocket program my screen screws up and I have to restart. (I want full-screen to be a special feature on Macs)
4. Paralell processing:
Thus far this server model works on one server with one internet connection. I need to be able to run the server across multiple connections on multiple servers. Anyone out there know a little about networks or a least know a good web site on networked games (I'm tired of looking at beginner books on how to create a Socket in Java).
------------------