JavaGaming.org

September 05, 2008, 06:34:56 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News:
Advanced search  
Pages: [1] 2   Go Down
Print
Author Topic: Night Squad 2 - LWJGL First Person Shooter  (Read 3503 times)
0 Members and 1 Guest are viewing this topic.
n.o.p
JGO n00b
*
Offline Offline

Posts: 16


View Profile
« on: May 28, 2008, 12:43:35 PM »

I was asked to post this here, so ....

As part of my thesis I developed a Multiplayer First Person Shooter for casual gamers. It can be played here:

http://nightsquad2.freenet.de/?lan=en







There is also a short video clip here.

Any feedback welcome, of course.

Update: If there is nobody online, you can use Deathmatch mode to test the game.
« Last Edit: May 30, 2008, 07:03:49 AM by n.o.p » Logged
Matzon
JGO Strike Force
******
Offline Offline

Gender: Male
Posts: 1626


I'm gonna wring your pants!


View Profile WWW
« Reply #1 on: May 28, 2008, 12:50:03 PM »

Very impressed by the game!
Looks great, performs just as great.

As an RTCW:ET player, I think that there is a tad too much bunny hopping going on Roll Eyes

I assume that the thesis is the reason for not using JME or Xith?
The same goes for not using get-down?

Curious way of obfuscating classes Wink
Logged

http://certusgames.com (Free Online Multiplayer Java Games)
http://lwjgl.org (OpenGL/OpenAL for Java)
gouessej
JGO Strike Force
******
Offline Offline

Gender: Male
Posts: 876


JAVALUTION


View Profile WWW
« Reply #2 on: May 28, 2008, 01:10:22 PM »

It seems interesting but I got this:

java.lang.Exception: Windows is required to play the game!
   at Main.init(Main.java:92)
   at sun.applet.AppletPanel.run(AppletPanel.java:425)
   at java.lang.Thread.run(Thread.java:619)

Java is cross-platform, LWJGL too. It is really stupid to punish Mac and Linux users! The game seems very beautiful and very consistent but if it works only under Windows, please don't use Java. I'm really disappointed and angry! Please tell me why you allow only the Windows users to play with your game. I hope it is only a temporary limitation.
Logged

n.o.p
JGO n00b
*
Offline Offline

Posts: 16


View Profile
« Reply #3 on: May 28, 2008, 01:15:07 PM »

I assume that the thesis is the reason for not using JME or Xith?

Yes, I wanted to learn how to create a game engine. You don't learn much if you use a finished product. Plus, when you're using some third party engine, you might get into trouble at some point if you realize that the engine is not offering a feature that you need to go on.

The same goes for not using get-down?

I used to use Java Webstart. Unfortunately it turned out to be buggy, so I wrote my own installer. Webstart is still used with IE on Vista, because of the browsers sandbox. However, I'm not very happy with the current solution. When I have time, I'll see what get-down can do. Thanks for the tip.
« Last Edit: May 28, 2008, 01:42:24 PM by n.o.p » Logged
ChrisM
Administrator
JGO Strike Force
*****
Offline Offline

Posts: 882


END OF LINE.


View Profile WWW
« Reply #4 on: May 28, 2008, 01:18:19 PM »

It seems interesting but I got this:

java.lang.Exception: Windows is required to play the game!
   at Main.init(Main.java:92)
   at sun.applet.AppletPanel.run(AppletPanel.java:425)
   at java.lang.Thread.run(Thread.java:619)

Java is cross-platform, LWJGL too. It is really stupid to punish Mac and Linux users! The game seems very beautiful and very consistent but if it works only under Windows, please don't use Java. I'm really disappointed and angry! Please tell me why you allow only the Windows users to play with your game. I hope it is only a temporary limitation.

While I would like to play on my Mac, I think you are overreacting **just** a bit.  No need to be angry and I am glad he did this in Java!  Keep it up!  If there is a reason why it won't work on Mac/Linux, let's help him instead of lashing out.

-Chris
Logged

n.o.p
JGO n00b
*
Offline Offline

Posts: 16


View Profile
« Reply #5 on: May 28, 2008, 01:32:16 PM »

It seems interesting but I got this:

java.lang.Exception: Windows is required to play the game!
   at Main.init(Main.java:92)
   at sun.applet.AppletPanel.run(AppletPanel.java:425)
   at java.lang.Thread.run(Thread.java:619)

Java is cross-platform, LWJGL too. It is really stupid to punish Mac and Linux users! The game seems very beautiful and very consistent but if it works only under Windows, please don't use Java. I'm really disappointed and angry! Please tell me why you allow only the Windows users to play with your game. I hope it is only a temporary limitation.

About 5% of the game is written in native code + it uses ODE. Theoretically, it would be possible to compile it for Linux and Mac too, but it's just not worth the effort considering the market share. If I had to compile and test the code on Linux and Mac each update, I would need three times as long for each release. Aside from that, I don't even own a Mac.

I understand that you are not happy to hear this. I'd love to add support for Linux or Mac if I had the time, but I just don't think it would pay off.

PS: Why are Windows users not allowed to use Java? Java is a great language aside from being cross-platform.
« Last Edit: May 28, 2008, 01:35:57 PM by n.o.p » Logged
kevglass
JGO Strike Force
******
Offline Offline

Posts: 4469


<this space for rent>


View Profile
« Reply #6 on: May 28, 2008, 01:46:01 PM »

Market share wise it might well be worth supporting OSX.

Kev
Logged

So long, and thanks for all the fish.
jezek2
Jr. Member
**
Offline Offline

Posts: 97


View Profile
« Reply #7 on: May 28, 2008, 01:59:39 PM »

About 5% of the game is written in native code + it uses ODE. Theoretically, it would be possible to compile it for Linux and Mac too, but it's just not worth the effort considering the market share. If I had to compile and test the code on Linux and Mac each update, I would need three times as long for each release. Aside from that, I don't even own a Mac.

I understand that you are not happy to hear this. I'd love to add support for Linux or Mac if I had the time, but I just don't think it would pay off.

That's one of major reasons why I've created JBullet (Java port of Bullet Physics Library). Also I like Bullet for it's active development which is very promising.

PS: Why are Windows users not allowed to use Java? Java is a great language aside from being cross-platform.

Nothing wrong, just that when something is in Java, users expect that the app is multiplatform Smiley Nothing wrong with supporting only one platform, just mark it in beginning that it's just for Windows. But because you use Java/LWJGL, the support for other platforms is usually little or no step, so it's pity not to do it.
Logged
gouessej
JGO Strike Force
******
Offline Offline

Gender: Male
Posts: 876


JAVALUTION


View Profile WWW
« Reply #8 on: May 28, 2008, 02:18:21 PM »

That's one of major reasons why I've created JBullet (Java port of Bullet Physics Library). Also I like Bullet for it's active development which is very promising.

Nothing wrong, just that when something is in Java, users expect that the app is multiplatform Smiley Nothing wrong with supporting only one platform, just mark it in beginning that it's just for Windows. But because you use Java/LWJGL, the support for other platforms is usually little or no step, so it's pity not to do it.
I agree with you and I heard about a binding of ODE in Java, it is called ODEjava, isn't it?  http://odejava.org/OdejavaIntro

Full Windows platform-dependent gaming in Java dirties Java on my view. It is extremely frustrating. I'm not overreacting.

You aim only the market share... I find it miserable  Angry
« Last Edit: May 28, 2008, 02:21:55 PM by gouessej » Logged

n.o.p
JGO n00b
*
Offline Offline

Posts: 16


View Profile
« Reply #9 on: May 28, 2008, 02:34:35 PM »

I agree with you and I heard about a binding of ODE in Java, it is called ODEjava, isn't it?  http://odejava.org/OdejavaIntro

Full Windows platform-dependent gaming in Java dirties Java on my view. It is extremely frustrating. I'm not overreacting.

You aim only the market share... I find it miserable  Angry

Well, looking at your signature, it's obvious that you will only see it this way. I told you the reasons. It's not a religious thing. Please don't let this thread become another one of those pointless Windows vs. Linux discussions. I'm not going to comment on this any further.
« Last Edit: May 28, 2008, 02:36:16 PM by n.o.p » Logged
Riven
JGO Strike Force
******
Offline Offline

Gender: Male
Posts: 1989


The Bear's my name, never call me Jack or James


View Profile
« Reply #10 on: May 28, 2008, 02:40:55 PM »

gouessej, for **** sake. Stop whining.

Somebody comes along to showcase his project he has been working on for who knows how long. It's not like he owe's you one. This was a school project, have you got any clue how hard it is to work with tight deadlines? You should know with your own projects that are in progress for years now. Sure, you can support each and every platform, but getting a game to work at both your and your teachers computer is hard enough.

Again: stop whining, you are overreacting, give the guy some respect.
Logged

write TinyCode for fun and naughtiness and be the 2nd to crash my server.
Riven
JGO Strike Force
******
Offline Offline

Gender: Male
Posts: 1989


The Bear's my name, never call me Jack or James


View Profile
« Reply #11 on: May 28, 2008, 02:54:47 PM »

I played the game for a bit, and I really like the details you managed to squeeze in like the lightning.



How did you get the ground-shadow of the buildings in there? Prerendered into a texture, calculated at runtime, or projecting in realtime?

Are there dynamic objects in the world? (breakable/movable stuff)
Logged

write TinyCode for fun and naughtiness and be the 2nd to crash my server.
n.o.p
JGO n00b
*
Offline Offline

Posts: 16


View Profile
« Reply #12 on: May 28, 2008, 03:06:10 PM »

How did you get the ground-shadow of the buildings in there? Prerendered into a texture, calculated at runtime, or projecting in realtime?

Static shadows are just prerendered lightmaps. Dynamic shadows are shadow maps.

Are there dynamic objects in the world? (breakable/movable stuff)

Not realy, just the enemies Smiley
Logged
ChrisM
Administrator
JGO Strike Force
*****
Offline Offline

Posts: 882


END OF LINE.


View Profile WWW
« Reply #13 on: May 28, 2008, 03:19:51 PM »

I agree with you and I heard about a binding of ODE in Java, it is called ODEjava, isn't it?  http://odejava.org/OdejavaIntro

Full Windows platform-dependent gaming in Java dirties Java on my view. It is extremely frustrating. I'm not overreacting.

You aim only the market share... I find it miserable  Angry

Wow.  Gouessej, this just has to stop.  You have crossed from being a Java supporter to being abusive to a brand new community member.  If there are real technical issues that need to be addressed, let's address them.  If he has a pain point that prevents him from supporting more than Windows, let's help, not be so abrasive.  It does not "dirty" Java in the slightest as his solution is using additional solutions tied to Java. And it's his project, so he can do what he wants.

Now, n.o.p., where the HELL have you been hiding!?!?!?!?! SmileySmileySmiley The game looks FANTASTIC!  and I am going to continue to show this off, if you are cool with my doing so.  GREAT WORK!  Now, perhaps the community can, calmly, help examine how to do a port that works on OSX at least?

Cheers and congrats on a great looking and playing game!
Logged

kapta
JGO Ninja
*****
Offline Offline

Gender: Male
Posts: 726


★★★★★


View Profile
« Reply #14 on: May 28, 2008, 03:29:16 PM »

Very impressive work. I love the way it has a very counter-strike feel to it. As for some feedback I must say you have a blazing fast server that really did max out my connection. However I still think the download of 80mb is a little on the heavy side for a game thats launched from the browser, if you could hit somewhere around the 10-30mb mark it would be pretty awesome. Understandably the game has a lot of resources which are needed for a good game experience and add to the game size. I am unsure to what methods you use but optimisations like better compression format (lzma?) and/or pack200 etc can save you quiet a bit. Further tweaking with tools like proguard can help remove any unused code.

Also using certain texture and sound formats tga/png/jpg/ogg/etc might help save more. Some of the textures and sounds are pretty high quality and you could probably get away with shaving a bit more off the quality without anyone noticing much.

Keep up the good work.
« Last Edit: May 28, 2008, 03:35:10 PM by kapta » Logged
nva225
Sr. Member
****
Online Online

Gender: Male
Posts: 282


View Profile
« Reply #15 on: May 28, 2008, 05:33:27 PM »

Hmm ok feeling a bit stupid right now but how do I start a game with just myself in it so I can go run around?

I made a new group, said ok, and clicked start, and then I get stuck at a screen where it lists a leaderboard and only I'm there, status'ed as "Waits for next round..."

I wanna plaaay. Help? Smiley

I might just run this on my laptop at the same time so I can make a dummy player 2 if I can't figure out what else to do. This looks really cool so far.
Logged
jezek2
Jr. Member
**
Offline Offline

Posts: 97


View Profile
« Reply #16 on: May 28, 2008, 10:09:24 PM »

Yeah, I didn't have a chance to test it too, because nobody other was online.

It looks very polished, how long you've been working on it? How many people?

Just curious, what else than ODE and some installer stuff is needed to be done or is better in native code? While working on my game, the only thing that was native (other than LWJGL of course) was Bullet, which I ported to Java.
Logged
gouessej
JGO Strike Force
******
Offline Offline

Gender: Male
Posts: 876


JAVALUTION


View Profile WWW
« Reply #17 on: May 28, 2008, 10:27:18 PM »

Wow.  Gouessej, this just has to stop.  You have crossed from being a Java supporter to being abusive to a brand new community member.  If there are real technical issues that need to be addressed, let's address them.  If he has a pain point that prevents him from supporting more than Windows, let's help, not be so abrasive.  It does not "dirty" Java in the slightest as his solution is using additional solutions tied to Java. And it's his project, so he can do what he wants.

Now, n.o.p., where the HELL have you been hiding!?!?!?!?! SmileySmileySmiley The game looks FANTASTIC!  and I am going to continue to show this off, if you are cool with my doing so.  GREAT WORK!  Now, perhaps the community can, calmly, help examine how to do a port that works on OSX at least?

Cheers and congrats on a great looking and playing game!
First of all, don't forget that I said that his game is beautiful and consistent...
Secondly, don't forget that he spoke about ODE and I suggested to use ODEJava, I'm not whining, I tried to help even though I'm very angry. Your accusations are partly false.
Thirdly, why only at least OSX? You defend your own interest. Why OSX more than Linux? For the market share?  Angry
Finally, if someone made a 3D Java game so convincing but working only under Linux, you would all be angry and you would all be really whining. Therefore, please, stop criticizing my behavior and try to imagine how you would react in the case I've spoken about. I won't turn this thread into a Windows versus Linux thread. I denounce the attitude of thinking that there is only Windows in the world but the author explained why he supports only Windows, that's why I spoke about ODEJava. If this interesting game works one day under Mac OSX and Linux, then I will be happy to suggest his author to add it into the Java(tm) Game Tome.
« Last Edit: May 28, 2008, 10:37:02 PM by gouessej » Logged

Riven
JGO Strike Force
******
Offline Offline

Gender: Male
Posts: 1989


The Bear's my name, never call me Jack or James


View Profile
« Reply #18 on: May 28, 2008, 11:11:10 PM »

Quote
if someone made a 3D Java game so convincing but working only under Linux, you would all be angry and you would all be really whining.


Uh no. Even if it only worked in... Solaris!
Logged

write TinyCode for fun and naughtiness and be the 2nd to crash my server.
EgonOlsen
JGO Ninja
*****
Offline Offline

Gender: Male
Posts: 531



View Profile WWW
« Reply #19 on: May 28, 2008, 11:33:59 PM »

Looks great, but i couldn't play it, because nobody was online. A kind of exploration mode would be nice. I tried to watch the video instead but it drives me crazy, i really can't stand watching it. It's all about jumping, zooming, zooming, jumping, zooming...i got sick while watching it (no joke... Cry ).
Logged
n.o.p
JGO n00b
*
Offline Offline

Posts: 16


View Profile
« Reply #20 on: May 29, 2008, 02:26:51 AM »

Unfortunately, there is not much going on most of the times.  Usually there are people playing in evening (German time, GMT + 2). But you can test the game by choosing the Deathmatch mode.

Glad to hear that you like it.

Just to clear one thing up. This game has not been developed for educational purpuses only. I developed it as an external thesis (Diplomarbeit) for the company I work for (4Players). But I was doing all the programming by myself.
« Last Edit: May 29, 2008, 02:42:02 AM by n.o.p » Logged
n.o.p
JGO n00b
*
Offline Offline

Posts: 16


View Profile
« Reply #21 on: May 29, 2008, 02:36:11 AM »

It looks very polished, how long you've been working on it? How many people?

The models and 2D graphics were done by a graphic artist. The maps were created by a mapper. The coding was done just by myself.

Just curious, what else than ODE and some installer stuff is needed to be done or is better in native code? While working on my game, the only thing that was native (other than LWJGL of course) was Bullet, which I ported to Java.

Software Skinning (too slow in Java), system information (#Cores, GHz, RAM), mouse input (there were Problems with JInput) and physics.
« Last Edit: May 29, 2008, 02:38:37 AM by n.o.p » Logged
CommanderKeith
JGO Ninja
*****
Offline Offline

Gender: Male
Posts: 732


View Profile
« Reply #22 on: May 29, 2008, 02:40:24 AM »

Holy shivers, those screen shots look really amazing - just like the crisp scenes from counterstrike. Well done  Cool.

I tried it out, but got this exception a little after the applet loaded:

java.lang.Exception: Could not determine if map1.jar was modified.
   at InstallThread.run(InstallThread.java:195)

Java 6 update 10, Windows XP.
Logged

n.o.p
JGO n00b
*
Offline Offline

Posts: 16


View Profile
« Reply #23 on: May 29, 2008, 02:43:58 AM »

Holy shivers, those screen shots look really amazing - just like the crisp scenes from counterstrike. Well done  Cool.

I tried it out, but got this exception a little after the applet loaded:

java.lang.Exception: Could not determine if map1.jar was modified.
   at InstallThread.run(InstallThread.java:195)

Java 6 update 10, Windows XP.

What browser? Update 10? Latest ist Update 6 AFAIK...

PS: Might be related to update 10 being a beta version. The exception means, that the installer could not query the HTTP ETAG header field to see whether the version on the server is newer than the local one. Gotta test this...
« Last Edit: May 29, 2008, 02:49:07 AM by n.o.p » Logged
CommanderKeith
JGO Ninja
*****
Offline Offline

Gender: Male
Posts: 732


View Profile
« Reply #24 on: May 29, 2008, 03:26:18 AM »

Firefox 2. Yes, the java I'm running is only a beta, but it's meant to be pretty stable... other games run fine.

So how does it work with this thesis, your company funds it in some way, together with a university? Sounds pretty cool.
Logged

gouessej
JGO Strike Force
******
Offline Offline

Gender: Male
Posts: 876


JAVALUTION


View Profile WWW
« Reply #25 on: May 29, 2008, 04:50:40 AM »

The models and 2D graphics were done by a graphic artist. The maps were created by a mapper. The coding was done just by myself.

Software Skinning (too slow in Java), system information (#Cores, GHz, RAM), mouse input (there were Problems with JInput) and physics.
Why would software skinning be too slow in Java? Why did you want to use JInput?
Logged

Riven
JGO Strike Force
******
Offline Offline

Gender: Male
Posts: 1989


The Bear's my name, never call me Jack or James


View Profile
« Reply #26 on: May 29, 2008, 05:19:48 AM »

Why would software skinning be too slow in Java? Why did you want to use JInput?

Unfortunately Java doesn't have the SIMD part of SSE2

Especially with sqrt(...) you can get up to 4x performance improvement with C2D/C2Q CPUs. With earlier models, you get factor 2x performance using SIMD/SSE2.
Logged

write TinyCode for fun and naughtiness and be the 2nd to crash my server.
ChrisM
Administrator
JGO Strike Force
*****
Offline Offline

Posts: 882


END OF LINE.


View Profile WWW
« Reply #27 on: May 29, 2008, 05:33:25 AM »

<