JPilot prototype

Hi friends!

I like to show you the first prototype of a game named ‘JPilot’ remembering of the famous XPilot.

http://www.hardcode.de/jpilot/

Gameplay is similar to that of Astroprime, but please note the mininale resource consumption network- and CPU-wise.

Please tell me what you think. I will try to keep a server at hardcode.dyndns.org open whereever I can.

Anybody to sponsor a permant server?

Have fun!

Works fine even on my shoddy work machine. Not tried it remotely as yet since I’m behind a hideous fire type thing.

Looking forward to seeing the rest…

Kev

Fun stuff :slight_smile:
Networking seems to work just great! (That is, I was fighting you wasn’t I? Not some IA bot calling itself ‘herkules’? ;))
This shows how much gameplay networking adds.

Erik

Sure, that was me …

Please have mercy if not everythings works perfect. This is the first public test at all.

This is really fun stuff.

And you are using Piccolo. That’s incredible! I have used it for a game we had do develop at university … its a really nice API.

I couldn’t resist downloading the source :smiley:
Hopefully Piccolo gets some speedup in 1.5

Herk, nice game we just had… I need more practice. On Mac OS X 1.4.1_01 there was some flickering problems… the ships would flash at the wrong location occasionally, sometimes they would leave trails. Overall a nice start. Needs a chat window or something.

The speed of Piccolo currently isn’t an issue.
If I needed it faster, I could use Agile2D as a Java2D replacement :slight_smile:

[quote]Herk, nice game we just had… I need more practice. On Mac OS X 1.4.1_01 there was some flickering problems… the ships would flash at the wrong location occasionally, sometimes they would leave trails. Overall a nice start. Needs a chat window or something.
[/quote]
Good to hear that it basically works on Mac. Don’t have access to one.

Yes, currently adding a chat… maybe tomorrow! :slight_smile:

Hm, the match was quite tight for I HAVE the practise. I think I need to make it more difficult :stuck_out_tongue:

A person name ‘default’ visited my server.
Unfortunately, he showed some ugly network artifacts I never saw before.

Somebody here knows who that was? I love to get some details.

Yeah, excellent! Works fine on my 750MHz laptop, 8MB S3 Savage/IX-MV, JDK1.4.2. I’m an old Star Control fan, and the spirit of the combat mode definitely lives in JPilot.

Yeah, mines and even beam weapons would be good additions, and different ships with different handling profiles would make things interesting. I wouldn’t go as far as adding shields though, as that takes the game from a blaster into more of a strategic game, and there’s nothing more annoying than being beaten on your poor usage of shields.

Comments:[]When a ship is at the bottom of the screen its label disappears. Maybe draw it so that the label will appear at the top of the screen before the ship really leaves the bottom? Same applies left-right.
[
]I edged up behind a non-moving ship and fired point-blank into it… and I was the one who died! I noticed this happen twice.
[]The weapon particle’s velocity is dependent on ship velocity, not only at point of firing but while in flight too! Is this intentional? While trying to shoot myself in the back I noticed this, and once got a particle to reverse direction!
[
]A burst of particles on player death would be nice.
[*]A one-second or even half-second invulnerability on respawn would be a nice touch, with an appropiate graphical clue. It just gives the player a little more control of their destiny, and subconciously make things feel “safer”.

Yeah, excellent! Nice one!

[quote]A person name ‘default’ visited my server.
Unfortunately, he showed some ugly network artifacts I never saw before.

Somebody here knows who that was? I love to get some details.
[/quote]
Heh, that would have been me! ;D

Network artifacts? ???

[quote]Yeah, excellent! Works fine on my 750MHz laptop, 8MB S3 Savage/IX-MV, JDK1.4.2. I’m an old Star Control fan, and the spirit of the combat mode definitely lives in JPilot.
[/quote]
Windows?

The bullets have a certain radius where they cause damage. So if you are too close - you blow yourself. A better visualisation will show that.

Of course, the speed of the ship is added to the bullet ones. Thats a ballistic behavior. This makes a bullet harder to avoid when you head towards your opponent.

The whole gameflow like respawning is not very elaborated until now. Version 0.1 :slight_smile:

Network artifacts: maybe you have a bad ping. If you switch on the WebStart console, the initial ping is printed out there. What value do you have?
I currently don’t apply remote-side smoothing. One reason is to make that kind of artifacts obvious.

OMG, so many things still to do… so much instrumentation missing…

Thx for your help so far!

Yeah, we need a chat session - just so these things can be tested properly. I can only go so far with shaking my turret when things go wrong… ;D

Okay, I’m definitely getting some hits not being acknowledged, there’s something very odd that happens when shooting from close-quarters, the text in the bottom-left corner isn’t quite refreshing in the same place when repainted when dirty, I’m sure I saw a ship jump position once, and my wireless dropped connection but the game continued quite happily without even a warning.

[quote]Windows?
[/quote]
Yep, sorry, the dreaded WinME.

[quote]The bullets have a certain radius where they cause damage. So if you are too close - you blow yourself. A better visualisation will show that.
[/quote]
Well okay, but sometimes you blow yourself up and not the other player… :wink:

[quote]Of course, the speed of the ship is added to the bullet ones. Thats a ballistic behavior. This makes a bullet harder to avoid when you head towards your opponent.
[/quote]
Yep, and that’s good! But I’m more getting at the fact that if you fire when thrusting backwards then immediately thrust forwards, you can get the bullet to fly away, slow down, stop, and come back at you… That’s not standard ballistics!

[quote]Network artifacts: maybe you have a bad ping. If you switch on the WebStart console, the initial ping is printed out there. What value do you have?
[/quote]
Webstart… console… Hrm… Lemme see…
INFO: Ping time to server is 110

[quote]Thx for your help so far!
[/quote]
No probs! Glad to help.

Yes yes yes … lots of mechanics to do…

Dropped line: due to the HeadQuarter stuff, the game is not really aware of a network. Of course, the information is there and has to be evaluated.

Jumps: very well possible, no remote smoothing currently. If a new position comes in, the ship is placed at that position.

Missed hits: very well possible as well. On your side. On my side, for sure the bullets didn’t hit. This is a thing that can NEVER be completely avoided in a networked environment. So eventually a bullet explodes on the shooting side while it doesn’t on the other.

Ah, I see! Fixed.

[quote]Missed hits: very well possible as well. On your side. On my side, for sure the bullets didn’t hit. This is a thing that can NEVER be completely avoided in a networked environment. So eventually a bullet explodes on the shooting side while it doesn’t on the other.
[/quote]
Okay, then I’d like to suggest in a future release the client confirm hits with the server. It’s a little confusing on my side if I fire at you and the bullet stops, but the server doesn’t recognise the hit. If the bullet flew past and really did hit someone, what would I see then…?

Seen the same situation from the other side, where the targets position (thats me) is slightly different. I see the bullet missing me, but still I have to explode? Although I really put all my art into avoiding the bullet?

This cannot be truely resolved. So the decision is taken on the targets side. So if you see you have been hit, you can be sure you have been hit. If you see you have been missed, nothing will happen to you. For sure.
I feel that is good. On the shooters side, there is just a bullet exploding without causing damage.

It’s not perfect, but at least one side sees the real truth. And this solution is really simple and needs minimal network traffic (1 message)!

Yeah, no I’m not saying my client should “force” the hit to occur - that would be Wrong. But the client should say “I think I just hit - did I?” and the server responds “Nope”, so the client can continue drawing the particle moving. Okay, it’ll probably take you one more network message than your current approach… ::slight_smile:

But the server doesn’t know that any better.
And what should the bullet do while waiting for the answer?

Anyway, for today, there is no more server on hardcode.dyndns.org bc. I have to sleep now :’(

Can java.net host kind of a server? Are java.net projects maybe allowed to run servlets somewhere? Would be cool…