Flier Match

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

Previous topic - Next topic

fireside

#90
That's well out of my budget, which is basically zero right now. ;D 
I can't do applet to applet, but I might be able to have applets check in somehow and get updated from a database.  This would be for something where maybe 3 or 4 people were playing together.  I can have mysql databases on my site and I can use php scripting. My allowed traffic is pretty good.  Something like 20 gig per month.  I'm still at zero percent. ;D
click here->Fireside 7 Games<-

Melssj5

I guess that would decrease the performance a lot. If there wont be a lot of procesing then you should consider maybe putting the server code on a servlet and using the servlet to receive requests and give responses.

Maybe the servlet can act as a router and redirect the frames sent from the applets, and letting be one of those applets to be the server. ALL of this are complex stuff, you should first finish your game and when all is fine when porting it from the lan to the web.

Maybe getting a cable connection and using your pc as a dedicated server. you can avoid the problem of the dinamyc IPs buying a domain or even using a service like http://www.dyndns.com/
Nada por ahora

fireside

#92
QuoteALL of this are complex stuff, you should first finish your game and when all is fine when porting it from the lan to the web.

I'd rather know it's possible before I write a game.  I don't have much purpose for a lan game.  I'll be writing single player games for a while and then maybe experiment with some network things to see if there's some way I can do it very cheaply.  It would need AI for when people expectantly quit anyway.
click here->Fireside 7 Games<-

Melssj5

Hi again, I already sent the eclipse project of my game to info@jpct.net. Inside the zip file is a folder that is my eclipse project, it has 2 folders, the src and the bin.

there are also some spanish text files, just ignore them.

The code may look a kind of complicated becausse I began the game when I began learning java so, many things can be messy.

Mainly, is missing the shotting, the methods for blitting text are already coded but I never coded a complete chat because of the gui needed to write the text. There are no sound included but the methods to play sounds are included (Thanks to Paul) I used his first aproach to audio api and another one I found in internet to play mp3. I never put any audio because i never had good sounds for my game.
Nada por ahora

EgonOlsen

Ok, i've added it to the download section. Or simply download it from here: http://www.jpct.net/others/FlierMatch.zip

Melssj5

Thanks. Hope anyone want to finish it.
Nada por ahora

Melssj5

LOL I checked it and I uploaded a buggy version.  :-[ I will send it again. (The fixed version)
Nada por ahora

Melssj5

Well, I fixed somethings and almost finished all the chat stuff. (99.99%) I guess I will work on it from time to time.
Nada por ahora

Melssj5

The chat stuff is finished, at least for the first release! Now just have to find soundtracks and code the shoots and stats.

ok here are the SShots. Nothing impresive:





Nada por ahora

Melssj5

Well, I am ready to add the sounds to the game, all the method to play mp3 and 3d sounds are coded and tested, but I decided to first finish the shooting stuff.

I guess I will create a Bullet class that extends from Object3d to keep some information as the owner, the damage, the speed, the sound to play, etc etc. Well my mainly doubt is:

The movement should be done: in the client, in the server or both?
Nada por ahora

EgonOlsen

I'm doing it on the client that spawned the bullet, but most people say: Do it on the server and do some interpolation on the client (which i'm doing anyway...for all other clients, it makes no difference if the movement is caused by the server or another client). I did it this way, to reduce the lag and make the game feel more responsive. I've never tried it the other way though. I think it's done to prevent cheating and such, but to be honest: If somebody modifies Robombs and wants to cheat: So be it. I don't care, it's not WoW.

Melssj5

Well, I read once a ebook in which the idea of a client-server game is to do the movements on the clients and in the server, the client moves the camera or anything until a new response cames from the server with the fixed information, in that way some lag request/responses wont make the game to be felt lag. But I am worried about the performance and the consistency between one client and all the other clients. I have the rendering Thread separated from the "event listening/network interaction" thread. so maybe a faster machine will move the bullets faster unless I make a new Thread for this "automotion" objects with a determined sleep time to be consistent. or something. but in anyway I would need to transfer the bullet position and direction from time to time and that will lag the game if the amount of bullets are high.

FOr example:

100 bullets at the same time flying in the game (100 groups of 2 simplevectros)
+
information about dead bullets (maybe 30 groups of 2 simplevectors)
+
information about where to play which animations (when a bullet hit something, maybe 30 groups of 2 simplevectors)

that will lag a lot the game, even transfering each 10 iterations.
Nada por ahora

EgonOlsen

I'm skipping the second part of your example, i.e. i'm not transmitting dead objects. Each client keeps track of the remote objects it knows and to which client they belong. In case that the server sends a new bunch of data from that client and some objects don't get transmitted, the client assumes that they are dead and removes them. Works fine for me.

Melssj5

mm yes. anyway will lag everything shoting is free so there is no reason for people to not fill the map with as many bullets as they can.

Maybe only tarnsfering the info of the bullet (just an ID of the bullet class, position and direction) when it starts and the id of the bullet to finish it. grouped in 2 Lists. One for starting bullets and one for ending ones.  The animations of the bullets are checked and calculated on eah client, sonsidering that each server iteration refreshes all the crafts position, then it will be a good thing to trust the client to check for the impact and the server listens the collisions and upgrades the life of each client to avoid cheating.

I guess this is a good idea!
Nada por ahora

Melssj5

Yes, there is no reason for the array of ending bullets!
Nada por ahora