Biplanes

I’ve been working on a 2d multiplayer dogfighting game for a while now, and would like to get some feedback from the folks here.

To install (for people who know the command line and have java 1.4+):
Download: http://www.gamedit.com/~lampster/Master.jar
Download: http://www.gamedit.com/~lampster/biplanes.cfg
Run: java -jar Master.jar biplanes.cfg

There’s also a user-friendly native installer, link to the game’s forum, and how-to set up your own server guide here: http://www.gamedit.com/~lampster

Things are still very much prerelease, and I’m not too much in need of testers (tho I’d love programmer testers if I could get them =), but I was hoping you could help me with some graphics API questions.

First, does anyone have a sense for how much trouble it’d be to convert from java.awt.Graphics rendering to OpenGL (via LWJGL or JOGL) rendering?

Also, could I expect significant speedups by making the switch? Right now rendering is the performance bottleneck which seems like a shame since, for lack of artists, I designed everything around simple 2d polygons(fillPolygon) which even I can draw. I’m optimistic that a polygon-based API like OpenGL would handle this sort of rendering well, but I’m extremely ignorant on this point so please let me know the real story.

Thanks for checking things out, and any testing you’re inclined to do,
lamster
gnet_biplanes@yahoo.com

[quote]I’ve been working on a 2d multiplayer dogfighting game for a while now, and would like to get some feedback from the folks here.
[/quote]
The installer is nice and slick, as is the hub. But I can’t connect to the server, ping times out. Maybe I’ll try setting up a server.

Just depends on how well you wrapped up your graphics calls. My game switched from java2d to JOGL quite painlessly. I had made the switch (minus some little bugs here and there) in about a day.

My game is simple, graphics wise, something OpenGL could handle with its little pinky. So I experienced a pretty dramatic speed increase. I’ve also now got excellent alpha transparency, scaling and general sprite distorting that I could only have dreamed of under Java2D.

I haven’t played your game yet, (although I’m trying), and have no idea how you implemented it… but I’d imagine a switch from Graphics.fillPolygon() to OpenGL would be pretty straighforward. OpenGL could certainly run circles around Graphics.fillPolygon() performance wise.

[quote]But I can’t connect to the server, ping times out. Maybe I’ll try setting up a server.
[/quote]
So you’re seeing a server but you timeout on connect (i.e. ping=9999), or no servers pop up when you update server list? What OS/firewall?

Only problems I’ve seen recently have been due to routers/firewalls. The game will try to communicate via UDP on port 27005 (configurable under Option->port from main hub), so make sure to open up UDP traffic on the appropriate port.

Let me know if you figure out what’s going wrong.

hehe, that game made me laugh.

Very good fun.

A few points :-

You need a detail level that is the same as ‘bare’ but shows who killed who. (I tried low, but it was considerably more jerky than bare :()

drawString is actually pretty slow (especially slow on accelerated surfaces such as those produced by BufferStrategy.)
U might wanna replace your use if it with a bitmap font of some description.(unless thats what your doing already; and I just can’t tell the difference :))

LOL, very funny game - even though I was really poor :slight_smile:

Fun game and worked well on OS X.

good fun, but desperately needs a prominent frag / team-frag counter.

Also would be good if you could fly faster/slower.

thanks everyone

Re: Abuse
I put kill messages back in on bare, everyone seems to want them.
I too noticed drawString being slow on an accelerated buffer, so I already use buffers to store the result of all text rendering to save the game from repeated drawString calls. Thanks for the warning though :). The rendering bottleneck is now the unavoidable fillPolygon calls :\

Re: blahblahblahh
To see all current commands, press B:
TAB to view scores/team scores
Up/Down arrow keys to change speed

[quote]Altitude is currently in a beta development stage. Please do not widely distribute.
[/quote]
looks like it’s too late for that. heaps of people are playing that game now.

what’s the ‘new’ client that it says we need to join some of the games?

Misleading client-side interpretation of a vestigial message… I just updated the format used to communicate server status/versioning info to clients looking for games. Unfortunately, the servers running a copy of the game from 3 days ago will report their status in a format that is close enough to right to not be thrown out, but causes the client to interpret the server’s version as unreasonably high (newer than client’s). Disregard the notification the “tfp” server gives, as it is in fact out of date; once that server’s been rebooted this sort of mixup should never occur again :]
In the meantime, all the other servers are running the version the autopatcher will give you, so join one of them.

Hey cool! Missed that game completely!
Very smooth, comfortable control. Somehow follows the same idea as JPilot…

Currently missing the multiplayer experience. Someone to play with me? Need cannon fodder!!

Works fine even w/o LWJGL or jogl! I would think twice before destroying the clean, 100% Java approach with too much ‘fancy’ stuff…

uuhhhhhh - the burning twin towers in a computer game - politically correct?

huh? i didnt see that, you must have joined someones server who had made a custom map

Nice and fun game. I would get rid of the whole Terrist verse newYork think though.

[quote]I’ve been working on a 2d multiplayer dogfighting game for a while now, and would like to get some feedback from the folks here.

To install (for people who know the command line and have java 1.4+):
Download: http://www.gamedit.com/~lampster/Master.jar
Download: http://www.gamedit.com/~lampster/biplanes.cfg
Run: java -jar Master.jar biplanes.cfg
[/quote]
Are those links still supposed to work? I tried just now, and it got started but then popup’d with “biplanes.jar : transfer error” and when I OK’d it just quit itself :(.

…I can’t seem to download the linux installer any more - the webserver just hangs forever when yuo click on that link (been trying for a couple of days now :().

Also, out of interest, why did you make your own installer instead of JWS? I mean, yours looks better than JWS (and we all know how often JWS doesn’t work…) but isn’t quite a lot of effort? Any plans to release some form of Open-sourced version? (the only installer for java I seem to come across is that shareware one that you have to register…)

…and then when I retry, it starts again from the beginning, downloading all the files as though it hadn’t downloaded any before. Surely it should only download the ones that it failed to on the previous occasion?

EDIT: And it crashed again 2/3 of the way through the biplanes.jar. My net connection didn’t go down or anything, so I’ve no idea why it keeps doing this.

The auto-updater’s been a bit neglected; the version up right now throws away all temporary files if it runs into problems copying over new files, I’ll fix that for the next version.

Regarding web start:
The original incarnation of my game used web-start, however the combination on the following issues was a deal-breaker:

(1) users were unwilling to install java on their own just to play, probably due to its obnoxious (sometimes multiple) java sys-tray popups and incompatibility with some MS-centric ‘java’ games (like yahoo chess, which’ll crash on win9x with default java != ms1.1x)
(2) users with slow internet connections and half the web cached in their temporary internet files would have to clear their precious cache in order for web-start to launch consistently (resolved in a recent patch? maybe, don’t think so tho)
(3) random startup errors (would only load every third time for some useres, never tracked all of these down)
(4) even for me, with the latest java/web-start, running the most common recent OS, winXP, I almost always have to try to launch a web-start link (like those for many games I’ve tried from this forum) at least twice, killing all javaw processes before the second launch in order to make the game work. Most of my users would be frusturated and/or dismiss the game as trash before getting that far.
(5) bad desktop integration and ridiculous caching problems, users would have to lookup the game under web-start in program files, manually delete old caches randomly/when I updated several files
(6) I’m borrowing web-space from friends and they’re buying their bandwidth from big-name providers who don’t give them access to things like mime-type control (making jnlp configuration a huge pain)

SO
Now I use these tools for installation/updating:
(1) zero-g installanywhere free installer, easy to use, will install a bundled VM if you want it to (very important for new windows users expecting a 1-click download/install), installs the program like a native executable, with platform-consistent shortcuts, program files entry, etc

(2) a homemade auto-updating suite that lets me upload patches absolutely painlessly (scripted ftp of whichever files have changed to a friend’s webserver via ncftp), and automatically patches clients upon connection

I’m not sure how many of my old web-start issues have been resolved, but I’ve gone from an install problem every 2 attempted installs to no installation problem reports in a couple months (except yours blahblah!)…so I don’t plan to switch back.

If there’re actually people interested in using a distribution method similar to mine for their own games, I’d be happy to clean up my auto-updater and release it as some sort of non-virally-open-source project.

Also, blahblah: if you’re still getting resource transfer errors please instant message me so I can figure out what’s going wrong…this is the first problem report I’ve heard in a while and would like to fix the issue. AIM=iamlamtheham

<Sorry to keep bumping my own thread!>

Regarding the new york vs ‘terrist’ map:
Yeah, that map is pretty offensive and politically incorrect. However, it’s a custom map (built with the included leveleditor) and hosted on a server someone I don’t know is running off their own cpu/bandwidth, so I really only have control over it at a ‘filtering server-list’ level.

If the game ever goes public I’ll have the client’s default filtering options set to show only servers running “official” maps (those with bold-green names on server list), but for now I’m trying to encourage map-making to test the editor, and to get some new ideas out there that I can adapt into official maps.

If you’d like to avoid this sort of thing in the future, make sure to only join servers running bold-green-named maps.

Yeah, you may consider the WTC map politically incorrect, but that’s no reason to block it. Some people like that kind of thing, and unless you want to impose some kind of ethical guidelines with the editor, there’s no reason why people shouldn’t be allowed to create things like it.

My recommendation would be to enforce a “map author” attribution on custom maps (you may have this already?) so people have someone to complain to if they have a problem, and on your server page list all servers running “official” maps first and make it obvious that “custom” maps are not your responsibility with a warning message above them. The “bold green name” is not obvious! ;D

As an aside, there was noone else there when I was playing it, but the WTC map is actually pretty damn well-designed. It’s worth giving a try, even if you don’t approve of the motivation behind it.

[quote]I’ve been working on a 2d multiplayer dogfighting game for a while now, and would like to get some feedback from the folks here.

To install (for people who know the command line and have java 1.4+):
Download: http://www.gamedit.com/~lampster/Master.jar
Download: http://www.gamedit.com/~lampster/biplanes.cfg
Run: java -jar Master.jar biplanes.cfg

There’s also a user-friendly native installer, link to the game’s forum, and how-to set up your own server guide here: http://www.gamedit.com/~lampster
[/quote]
OK, so I downloaded the “linux install file” eventually (I think there’s something wrong with the webserver or it’s hosting though - rather than a smooth download it was all over the place with masses of dropped packets :().

I go through the installer, persuade not to create loads of irrelevant files that I don’t want clogging up my hard drive, and what happens?

Well it appears I’m back to square one. I try running “Altitude”, and it just runs the same-old-update manager, which now is just crashing on anything from resource.cfg to 20k into biplanes.jar. Not good.

Please could you just go the low-tech way (which, incidentally, you at least know will always work!) and put a jar file (or several) on a webserver which I can just download?

Incidentally, I personally hate it when simple apps use the “install-anywhere” installer - one of the beautiful things about jar games is that there is ONE FILE. There’s nothing you can lose, you don’t have any problems if you have to re-install your OS, and it’s p*** easy to copy it to your other partitions (read: running different OS’s). Even better, you can run it off a shared partition, or network drive, and don’t have to install it anywhere.

I could go on at length about this… but I won’t :). Basically, why have 12 files (current number installed by your game, not including updates…) when you could just have one? Until JWS works properly, obviously you have to have 1 + X config files, but surely that’s enough…? I understand you want to make it “easier” for some users, but there’s “easy” and there’s “PITA”.

FYI as a windows newbie many years ago it was actually even more useful to have one file per game…back then, when I was too naive to be able to work out which files were necessary, and that they had to be in the identical directory structure etc, the more files there were - the more chance I’d try and move / backup a game and just end up breaking it.