Opinion: Pure Java || JNI || c\c++\c# for commercial games?

S

Shrike

i am currently having a problem convincing a consortium of
non-programmer friends that java or java with JNI can do just as well,
if not better than pure c or c++ or c# for a commercial game that our
group is developing.

it requires an internet client/server layout (it is a multiplayer RPG),
and we would like to have some pretty good graphics, most definately
3d. what should i use for the different game components?

also, can you all get me some examples of outstanding games written in
different languages (or combinations of languages) of this type?

thanks.
 
E

enrique

good luck. take the top ten best-selling pc games in the market and go
ask the developers if they wrote them in java.
 
R

Roedy Green

it requires an internet client/server layout (it is a multiplayer RPG),
and we would like to have some pretty good graphics, most definately
3d. what should i use for the different game components?

you need to perhaps run a simulation. Use full screen mode and
VolatileImages.

In gaming the key is to be first to market with some new gimmick, not
just raw speed.
 
T

Thomas Hawtin

Shrike said:
also, can you all get me some examples of outstanding games written in
different languages (or combinations of languages) of this type?

Andrew Davison's Killer Game Programming in Java has a good list of Java
games. I think the list is in the PDF for the first chapter.

http://fivedots.coe.psu.ac.th/~ad/jg/

The book is written by an academic and is not about art, so some of the
pictures in the book are just a little bit embarrassing.

Tom Hawtin
 
M

Marc Collin

Shrike said:
i am currently having a problem convincing a consortium of
non-programmer friends that java or java with JNI can do just as well,
if not better than pure c or c++ or c# for a commercial game that our
group is developing.

it requires an internet client/server layout (it is a multiplayer RPG),
and we would like to have some pretty good graphics, most definately
3d. what should i use for the different game components?

also, can you all get me some examples of outstanding games written in
different languages (or combinations of languages) of this type?

thanks.

use java3d and java2d

with java 5, they call directely opengl
 
C

Chris Smith

Roedy Green said:
you need to perhaps run a simulation. Use full screen mode and
VolatileImages.

That's actually not good advice. For a decently-performing 3D game in
Java, you'd want to use the Java3D API, which precludes using
VolatileImage. If it were a 2D game, then VolatileImage might be
useful... although ironically, fast 2D graphics are often written using
3D acceleration of video cards these days because the 3D pipelines are
the target of so much more optimization.

As for writing graphics that can do just as well as C or C++ can do,
it's really not possible. Top-speed graphics are written in immediate
mode, and the JNI barrier is a barrier to fast immediate mode in Java3D.
However, it still may be fast enough to use Java3D; and the C or C++
programmer may not be planning to do highly optimized immediate mode
rendering, so Java might even end up faster than any particular real-
life body of C or C++ code.
In gaming the key is to be first to market with some new gimmick, not
just raw speed.

That's somewhat true. Unfortunately, the game market has changed
considerably. Because of the very high cost of developing the cutting-
edge graphics quality that players seem to demand and getting to market
with new games, major game companies are playing it safer, basically
just creating a lot of duplicates of other successful games. New
gimmicks, much less new concepts, are exceedingly rare.

--
www.designacourse.com
The Easiest Way To Train Anyone... Anywhere.

Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation
 
A

Alvin Ryder

Shrike said:
i am currently having a problem convincing a consortium of
non-programmer friends that java or java with JNI can do just as well,
if not better than pure c or c++ or c# for a commercial game that our
group is developing.

Hi,

A lot of scepticism is based on 1997 Java, sheer ignorance and
arrogance.

Java has a lot to offer in the games department it is certainly worth a
serious look.

Scott McNealy raves about Java for games. CEO excitement and support
for games has gotta be a good thing. I've got links and stuff at the
end.
it requires an internet client/server layout (it is a multiplayer RPG),
and we would like to have some pretty good graphics, most definately
3d. what should i use for the different game components?

Usually the graphics are built with a package like Max3D or Mayo, you
can make the graphics as pretty as you want. Then there are plenty of
(free) Java kits that can display those formats.

Java's biggest problem is not speed but lack of support on games
consoles.

I'm guessing XBox uses DirectX which is C/C++ based, it *may* support
C# ? but I think pigs will fly before it supports Java.

Playstation2 + Java ... yeah right.
also, can you all get me some examples of outstanding games written in
different languages (or combinations of languages) of this type?

thanks.

C/C++ are dominant but there are plenty of high quality and award
winning games written in Java.

I believe these are totally or partially written in Java:-
Star Wars Galaxies - LucusArts
Alien Flux by Puppy Games
Kingdom of Wars by Abandoned Castle Studios
Law and Order II by Legacy Interactive
Chrome by Techland
Puzzle Pirates by Three Rings
War! Age of Imperialism by Eagle Games
Runescape by Jagex
Galactic Village by Galactic Village software
Jellyvision
Roboforge by Liquid Edge Games
....

LISP. My son and I love Jak and Daxter for Playstation2. It was written
mostly in Naughty Dog's home made LISP and I imagine it is interpreted
not compiled.

Here are some free/shareware sites. Yes the commercial games are better
but these are worth a look:-
http://javagamesfactory.org
http://www.arcadepod.com/java/
http://www.java4fun.com
http://www.flyingguns.com
http://home/halden.net/tombr/squareheads/squareheads.html
http://javaisdoomed.sourceforge.net (Doom like game)
java.net games site.
(Don't get sucked into the world of 1997 Applet games, they're ancient
history).

Google "mcnealy square heads" for his spin.

There is also the J2ME factor, many phones have decent Java games.

Clearly C/C++ are not the only choice for games programming at all,
Java has a lot to offer as well.

HTH,
Cheers.
 
T

TrXtR

From what it looks like you can add IL2 To the commercial list.
It has a VM lying around, dont know what it uses it for.
And another one also is Law & Order :) hehe.
 
S

Scott Ellsworth

Shrike said:
i am currently having a problem convincing a consortium of
non-programmer friends that java or java with JNI can do just as well,
if not better than pure c or c++ or c# for a commercial game that our
group is developing.

Very few games are actually performance limited. Take a look at the
blood sweated by id or Rockstar, then realize that you probabaly do not
have that much money, time, and talent.

This is ok - you also are not going to burn a year or two of a hundred
lives to get your game to market. Choose the technologies that will get
your game to market as quickly as possible, with sufficient quality.

Java probably can live up to that - games take a while to load, so the
small extra startup cost for Java will be invisible.

I suggest looking at the OReilly game development in java book.

Scott
 
S

Shrike

thanks, all. you have been a great help. i will see about this OReily
book and definately get this list of games in java to my comrades.

still, i need some more advice:

is there a free or cheap OBJ generator application for graphics that
any of you know about?
should i use something other than OBJ?
i have an outdated j3d book. where should i look for more information?
where can i find some good j3d code samples?
is there anywhere i should look for other information?

remember, i am working in a group who has very little experience with
game development, but quite a bit of experience in gaming, and im the
only coder. i think we can do this, but they take this enthusiasm and
interpret it as if it needs to be in a more "advanced" language than
java. can anyone post detailed examples as to why java is a decent
language for coding in? as they have no experience, they seem to think
that these "1997" applets are what makes up java, and would prefer to
go with something "advanced." you have convinced me, but they don't
seem to trust me alone.
 
A

Alvin Ryder

Shrike said:
thanks, all. you have been a great help. i will see about this OReily
book and definately get this list of games in java to my comrades.

I'm using that book "Killer games programming in Java" (and others) in
my re-evaluation of Java for games. It's not deep but has good breadth.

I must say, yes I'm impressed with Java's gains and people are using it
for *some* types of games but it isn't suitable for *all* games. For
example if you want the most immediate and direct game play then I'd
still look to trusty ol' c/c++.
still, i need some more advice:

is there a free or cheap OBJ generator application for graphics that
any of you know about?
should i use something other than OBJ?

3D Studio Max is top of the pile and the Quake's MD2 format is popular
too.

There are many formats, loaders and generators but I wouldn't lock into
a format just yet. IMHO, the choice of language/engine/library/api is
more important.
i have an outdated j3d book. where should i look for more information?
where can i find some good j3d code samples?
is there anywhere i should look for other information?

https://games.dev.java.net/ is a good launch point.

"Java is Doomed" at http://javaisdoomed.sourceforge.net/ is worthy of a
look. It uses JOGL not Java3d.
remember, i am working in a group who has very little experience with
game development, but quite a bit of experience in gaming, and im the
only coder.

Unless you have unlimited time and energy, I think you'll need an
engine to start with. Writing both an engine and state of the art game
at the same time is hefty work.
i think we can do this, but they take this enthusiasm and
interpret it as if it needs to be in a more "advanced" language than
java. can anyone post detailed examples as to why java is a decent
language for coding in? as they have no experience, they seem to think
that these "1997" applets are what makes up java, and would prefer to
go with something "advanced." you have convinced me, but they don't
seem to trust me alone.

It's not a cut and dry decision, it comes down to criteria on a game by
game basis.

I'm thinking of Java for kid's games, speed is not crucial. But for my
own entertainment I prefer a very immediate and direct feel with great
game play, so I keep getting sucked back into the c/c++ world.

Cheers.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,020
Latest member
GenesisGai

Latest Threads

Top