Flier Match

Started by Melssj5, January 18, 2006, 04:07:06 PM

Previous topic - Next topic

Melssj5

Well, time ago I began with a project called flier match. It was a spacecrafts fps, like descent but multiplayer designed for deathmatchs.

I was nearly to end it, but I got disapointed for no achieving the network part and I deleted it, all its references and backups. few days ago i rememberder which was my error, and I will build it again.
Nada por ahora

EgonOlsen

Maybe you shouldn't delete the stuff you are getting disappointed with every time but moving it to a backup path instead. That would save you a lot of work... :wink:

Melssj5

well, I have had no time, nut now I will began making it.
Nada por ahora

Melssj5

#3
HI, here I post some renders of the crafts I will use, these are arts used on the GUIs, but are the models I will use.







Nada por ahora

Melssj5

Hi, here I left some screenshots of the real program running (Just a part).

The Configuration GUI:



it lets adjust the video settings




it adjusts the player settings, like the nick and the team color




it adjusts the control configuration


Inside the game:



its the Main menu of the game








The Color of some parts of the crafts change according to the player team color, the crafts can rotate to let the player view it all.
Nada por ahora

Melssj5

Well, I am a kind of stuck on the server.

The server working is not the problem, but my game is designed to be a online game.

The game have two parts. the server is apart from the client. The client can be downloaded and the server has to be placed on a web server and that represents a problem since I need to select the maps to play and so on.

I foolishly was doing an appletsto chose the map but I remembered later that the applet runs on the client machine so I needed to began again with that, I thing I must do a kind of web application with cgi or something, maybe a jsp.
Nada por ahora

Crate

I've done a lot of web programming, and of course people like to fight a lot about which technology is best, but I would not advise using servlets, jsps or any kind of web scripting for a game server. I'd use a simple java application to do the server work. Just the opposite to the client. Servlets and jsps are good for dynamic text (html) orientated web applications (or xml for that matter) but I would not use xml for a game protocol. In my opinion its easier just to work with streams and sockets and a basic java app.

Melssj5

Yes, but the problem with that is that how can you load the J2SE app on a web server. ok, you can have a dedicated server but is expensive.
Nada por ahora

Crate

Ok, around here virtual hosts are not that expensive. But anyway, if you can get a tomcat or such but not run your own apps, really the only option is a servlet. The problem is, servlets and jsps are designed for request/response mechanisms i.e. the server can only send data to the client if the client requests it. That can work for a game. (Clients polling the server, for example.) I would "tunnel" the protocol using a servlet, that way you can wrap your com layer and it's easy to switch back to an application when you have the money for a root server. You just have to remember the request/response mechanism when designing you protocol.

Melssj5

Well, I am getting many problems to do it online, I better do it just for a intranet, at least this first version, later I will think on doing it online.
Nada por ahora

Uija

the problem, developing it for lan is, that the times, packages need in lan are VERY different to those over the internet.
I had a character moving over a plane, sending position and a directionvector, everytime movement changed. other clients recieved those pages from the server and displayed them. when a position an a walking vector was recieved, the clients interpolated movement until the next package was recieved. when the next one was recieved, the player was set to that position (easy way of errorcorrecetion in interpolation) and so on.
In my LAN everything worked fine. Sometimes, player jumped alittle, but that was not often enough to bother in that timeframe of development.
Than I wanted to show a friend, how it goes on with the project, so I send him the client and uploaded the serverapp onto my dedicated server connected over 100mbit to the internet. it was horror. players jumped around everytime they moved. So I needed to interpolate between my current position/vector and the new position/vector and only "reset" it, when the position is too much out of sync.
As you want to develop a shooter, you need the clients to be in sync, otherwise shooting each other would be impossible. You should build the netcode on the worst networkpossibility the client shall work with.
If you want your game run on ISDN you should develop it over ISDN or emulate it with tools.
Afaik is there a VERY good tool from Microsoft, that Xbox2 developers get, to emulate the minimal requirements for xbox games.

Melssj5

Yes, considering the speed of conections, my server only receives an int from the clients that identifies the event to handle, the server does all the calcs over the world and returns the world with the own craft removed so the request is ver light (and int) and the response is a little bit heavy, but I think that in average I think its so light so it would work even online, but yes I must do tests first.
Nada por ahora

Melssj5

Well, I changed it, instead of passing the world each iteration, I pass it only the first one, after that only the posicion and rotationMatrix of the camera. Now I have another problem. The direction seems not to be well asigned. and it only recognize one type of movement by iteration. I will change the request object to send the KeyMapper instead of a identifier of the event, this will reduce the performance but will allow to do more than one thing by iteration.
Nada por ahora

Remo

Im not sure if you guys know about this but theres a Java game server, its was made mostly for MMOs but you can change some stuff :).

Im already coding jpct for this server but have nothing to show yet.
Anyway heres the link:

https://games-darkstar.dev.java.net/

Melssj5

Well, this project is delayed again. My University let me no life. I will delay this project and all others until I buy a laptop to use it on the free hours. I better will try to help Rolz on technopolis if he need it. I want to gain experience on a bigger game before continuing with my owns.
Nada por ahora