Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (522)
Games in Android Showcase (127)
games submitted by our members
Games in WIP (590)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Why are there only a few first person shooters written in Java?  (Read 3213 times)
0 Members and 1 Guest are viewing this topic.
Offline gouessej
« Posted 2009-11-14 09:10:29 »

Hi!

Time goes by and I see only a few FPS written in Java, I wonder why, I wonder what could be done to change this situation. I know the following FPS:
- MegaCorps Online
- Undead Arena
- Jake 2
- Night Squad 2
- HHexen
- Wolkenstein
- JWolfenstein
- JavaIsDoomed
- Futuristic Arena
- Ancient Arena
- Tesseract
- Scared
- Pixell
- Art Attack
- TUER

What are the main difficulties that meet FPS programmers when using Java?

Offline h3ckboy

JGO Coder


Medals: 5



« Reply #1 - Posted 2009-11-14 10:35:59 »

2 things,

1. there is another, I cant remember thename, but it is a german online multiplayer fps
2. shouldnt you know ALL of the dificulties better than any of us Tongue
Offline xinaesthetic

Senior Devvie


Medals: 1



« Reply #2 - Posted 2009-11-14 11:19:47 »

1. there is another, I cant remember thename, but it is a german online multiplayer fps
Night Squad 2.  It's quite good.  Gouessej should know this, I distinctly remember him posting in a thread about it...
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline kappa
« League of Dukes »

JGO Kernel


Medals: 78
Projects: 15


★★★★★


« Reply #3 - Posted 2009-11-14 13:47:04 »

...
I know the following FPS:
...

From that list you mention how many are original java games or complete games? none? 1? 2?

What are the main difficulties that meet FPS programmers when using Java?

1) Alot of the FPS shooters use existing engines, Unreal, Crytek, Source Engine, id Tech, etc theres no such engine for Java. I'm aware of jME, Xith, Ardor3D, but they are not even close to any of the mentioned engines and their toolsets.

2) Games Industry is dominated by C/C++ which is tried and tested, why risk moving to something new? most(some?) programmers don't like change.

3) Java isn't really designed for gaming (even though it may be capable), just look at Swing and AWT, not to mentioned the widespread reputation Java has for being slow and bloated.
Offline Orangy Tang

JGO Kernel


Medals: 56
Projects: 11


Monkey for a head


« Reply #4 - Posted 2009-11-14 14:37:09 »

I think it's the content problem - most other games you can either cheat or find suitable free resources for. For example RTS and racing games you can get away with heightmaps for the environment and static models. But for a FPS you need proper 3d environments and fully animated 3d characters, both of which are hard to find for free and even harder to make yourself. Which is why most people who want to make an FPS do it as a mod for an existing game and bootstrap themselves on existing content and tooling.

Pretty much all of the games on that list are ones that dodge the content issue somehow - either they take a simplified approach (like flat, doom-style 2d maps rather than proper 3d ones, or sprites for enemies rather than models) or they base themselves on an existing game to take advantage of existing content.

[ TriangularPixels.com - Play Growth Spurt, Rescue Squad and Snowman Village ] [ Rebirth - game resource library ]
Offline Riven
« League of Dukes »

« JGO Overlord »


Medals: 835
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #5 - Posted 2009-11-14 14:43:38 »

I think it's the content problem - most other games you can either cheat or find suitable free resources for. For example RTS and racing games you can get away with heightmaps for the environment and static models. But for a FPS...


Well, very true point, but there aren't much (any?) AAA titles (or AA) in the genre of RTS or racing games written in Java either.

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Offline Alric

Junior Devvie


Projects: 1



« Reply #6 - Posted 2009-11-14 15:45:19 »

There are pretty much no AAA games in Java of any description.

In terms of FPS, as mentioned above FPS are very resource intensive needing really custom level design and modelling which are not programming tasks. Also there are no decent Java based FPS engines and tools for what is out there are nowhere near.

In general though, most/all Java desktop game development is indie and FPS is not a popular genre for indie development.

Offline princec

« JGO Spiffy Duke »


Medals: 421
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #7 - Posted 2009-11-14 17:03:32 »

And the main reasons are:
No console support. At all.
No DirectX binding.
No MappedObjects.
leading to:
no-one wanting to learn it to write games.

Cas Smiley

Offline indexunknown

Junior Devvie





« Reply #8 - Posted 2009-11-14 17:26:41 »

Why none of the experts on this forum try to accomplish a big project together that would at least earn minimum wage back for the amount of work put into? All the best people here would make a killer team  Wink  like a LWJGL browser multiplayer FPS, i would choose Markus Persson as team lead  Wink only problem is yes all the main content part: textures, animated models, sound. I don't think there would be any code wise problems in such a team.
Offline JL235

JGO Coder


Medals: 10



« Reply #9 - Posted 2009-11-14 18:21:18 »

And the main reasons are:
No console support. At all.
No DirectX binding.
No MappedObjects.
leading to:
no-one wanting to learn it to write games.

Cas Smiley
I disagree with the DirectX requirement. Lots and lots of FPS games support OpenGL or use it exclusively over Direct3D (I believe Quake 4 uses OpenGL rather then Direct3D). There are also lots of other libraries to replace the other parts of DirectX.

FPS games typically require a lot of investment to build. I read a quote from John Carmack a few years ago where he was asked about the possobility of building something like Quake 4 (or might have been 3) in Java. His reply was along the lines of "yeah you could, but what would be the point?". I think that really sums it up for me. It's not about if Java is good or bad for games. It's why invest time and effort using a language that people don't use for games when there are plenty of languages people do use for building large games? It's the lack of tools and experience available for Java when compared to say C++ that is holding it back.

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline jezek2
« Reply #10 - Posted 2009-11-14 20:22:37 »

Doing full-blown FPS is a lot of work. I know that because I work on one Smiley I'm in preparation of release of fully playable alpha version hopefully next week. It's in development for 2.5 years currently, or even more if I count also the editor. To accomplish my goal I had to port/adjust/create some libraries: JBullet (for collision detection and ragdolls), Modern3D (for sane 3D HW access) and PureSwing (for powerful in-game GUI).

As Orangy Tang said, the big problem is in content. Creating FPS as a mod against some existing FPS is a lot easier than to bootstrap it from nothing. There is one great project that can help in that matter a lot: MakeHuman. But it gives "just" the naked human model, you have to model clothes and other things yourself, also create skeleton and animate it. I can say that GIMP & Blender are awesome tools for this.

Here are some screenshots from the game:
http://jezek2.advel.cz/tmp/game1.jpg
http://jezek2.advel.cz/tmp/game2.jpg
http://jezek2.advel.cz/tmp/game3.jpg
http://jezek2.advel.cz/tmp/game4.jpg
http://jezek2.advel.cz/tmp/game5.jpg
http://jezek2.advel.cz/tmp/game6.jpg

Also some older videos:
http://jezek2.advel.cz/tmp/walking.avi
http://jezek2.advel.cz/tmp/ragdoll.avi
Offline DzzD
« Reply #11 - Posted 2009-11-14 23:24:58 »

I think the yougness of Java does not help too.

Also game world have grow without Java and so much enterprise have already an expertise in other languages/technologies that they may not found a real value / benefit in using Java rather than something else they already know and have programmers for, If Java would bring something really better it would be used but it benefit (if there is one ?) is not enought important.

Seeing that there is no FPS made in Java may also help when come the time to make a decision of wich language to use Smiley

NB: night squad 2 is really the best Java FPS I ever seen, and for once a finished game !!

EDIT : very nice movie jezek2 !

Offline princec

« JGO Spiffy Duke »


Medals: 421
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #12 - Posted 2009-11-15 11:21:04 »

I think it's almost matured now. Certainly mature enough to be taken almost seriously. Unfortunately each of those points outlined above is a simple strike against using Java on a project, versus C++. Fail on any one of those requirements and you'll go nowhere with it.

If you think the Direct3D requirement is guff, you might want to enlighten me how you're going to a) get a game onto XBox and b) convince all those experienced Direct3D programmers to learn OpenGL. I'm sure there are plenty of geniuses who are happy to learn both and claim they're "almost identical" but the fact is, when you're building a studio, you don't pay people to learn stuff, you pay people who already know how to do it.

Cas Smiley

Offline Spasi
« Reply #13 - Posted 2009-11-15 12:13:15 »

The Direct3D requirement is simply a by-product of the target platform requirement. It's a non-trivial matter, but I wouldn't say it's one of the main reasons Java isn't being taken seriously. If there were a need for a D3D binding, someone could implement it in no time.

I honestly think that the whole discussion about language/API differences and how one is better over the other is just pointless. Most development studios capable of producing AAA titles will use whatever could give them an edge over the competition. I'll give PhysX as an example, more than half the gamers out there can't even use PhysX acceleration, yet so many developers make extensive use of it. It makes games better and that gives them an advantage. The biggest advantage of them all is getting your game to as many people as possible, that means support for PC/Xbox360/PS3. The difference between D3D and OpenGL is a complete joke compared to the difference between developing something for the PC and that same thing for Xbox360/PS3. Yet, almost all major game engines have complete support for all 3 platforms, it took them what, one or two years max.

Learning a new language or a new API is nothing compared to the effort it takes to produce a AAA title. There's no point trying to convince people that writing games in Java or using OpenGL will somehow make their development effort faster/easier/better. It just doesn't matter, programming/coding isn't the bottleneck. The real question is, what does Java the language or Java the platform brings to the table that would make developers make more money?

Nothing at the moment if you ask me.
Offline gouessej
« Reply #14 - Posted 2009-11-16 14:47:03 »

Night Squad 2.  It's quite good.  Gouessej should know this, I distinctly remember him posting in a thread about it...
Sorry you're right.

Nothing at the moment if you ask me.
It is easier to write cross-platform (for computers Sad only) games with Java, then it allows to make games for Mac and Linux too. There are enough people who want to play on Mac to get some more cash.

Doing full-blown FPS is a lot of work. I know that because I work on one Smiley
Good job, it is really impressive!

No DirectX binding.
It is not a problem for the PC market on my view. I admit it becomes more complicated for consoles... However, don't forget that the PS3 has a version of OpenGL-ES as far as I know Wink

In terms of FPS, as mentioned above FPS are very resource intensive needing really custom level design and modelling which are not programming tasks. Also there are no decent Java based FPS engines and tools for what is out there are nowhere near.
You're right about artistic resources but there are some general 3D engines written in Java, they could be used to write a FPS. The problem is the lack of tools around them, we are very far from Unreal SDK. We need some tools for the spatial subdivisions, some editors... There is a BIG difference between a true FPS engine and a general-purpose 3D engine.

NB: night squad 2 is really the best Java FPS I ever seen, and for once a finished game !!
Tesseract is a finished game too.

2. shouldnt you know ALL of the dificulties better than any of us Tongue
Some guys has gone farther than me in terms of gameplay, it is obvious. For example, Tesseract is more interesting than my FPS, there are several levels, more enemies... jezek2 has been doing something really good, I'm impatient to give it a try.

Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

trollwarrior1 (28 views)
2014-11-22 12:13:56

xFryIx (70 views)
2014-11-13 12:34:49

digdugdiggy (49 views)
2014-11-12 21:11:50

digdugdiggy (43 views)
2014-11-12 21:10:15

digdugdiggy (37 views)
2014-11-12 21:09:33

kovacsa (61 views)
2014-11-07 19:57:14

TehJavaDev (65 views)
2014-11-03 22:04:50

BurntPizza (63 views)
2014-11-03 18:54:52

moogie (78 views)
2014-11-03 06:22:04

CopyableCougar4 (78 views)
2014-11-01 23:36:41
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!