I posted this on javagaming.org also...

This is kind of a rant, so forgive me in advance.

People keep asking for proof that Java is good for gaming.  Over and over
and over...

But I think I am getting out of business of being a "java3d gaming
missionary"... I guess I am a little bit tired of trying to convince people
that java is a technology good for gaming.  I know it is, but it seems that
people want proof in the form of a  commercially successful, performative,
good looking, state of the art, bleeding edge, 5 pass, bump mapped product
running 110 fps on a Geforce II.


Well there is currently no such available proof.  If you need that kind of
proof then you may have to wait a while, or use C++. Alternatively you could
prove it to yourself by coding a prototype, but that may be a frustrating
experience if you are not a team with experienced Java programmers.

One thing to look at is the likelyhood that your team will complete the
project under the various languages.  Building a commercial game under C++
is an expensive and time consuming endeavor, in my opinion it is much longer
than doing it in java.


Guys, I hate to break it to you, but you have to know the chances of any
group of "enthusiastic" developers actually completing a project and
bringing it to market is extremely slim?  And it has nothing to do with the
chosen technology, or money, or people.  It has to do with project
management, deadlines, schedules, design and the sheer will to succeed.  It
seems to me that people spend too much time arguing about technology and too
little time working on their projects.

When we started our project 2 years ago there was a number of similar
projects being worked on.  Most of them have faded away.  There have even
been some notably large commercial projects that have failed.  Most of the
these projects were C++/OpenGL and some were Java.  We kept in close contact
with a few of them.  One of them, called Arcanity
(http://www.brickhousetrading.com/) got all the way to beta test before they
imploded, although I have hopes they will recover.  Now there are over 70
MMORPG's under development (according to Gamespy).  I am not worried about
that, because there are probably something like 500 CRPG's being built right
now... and some incredibly small number will ever see the light of day.
Don't worry about the competition... worry instead about your ability to get
it done.

The point is that it seems a bit, well arrogant, for people to be
"demanding" proof that Java/Java3d will be able to perform at a competative
commercial level.  There are plenty of people here who maintain it can.
Even if you have doubts, try taking a look at your estimated development
time will be.  If it is 2 years then why worry about it?  If it is less than
2 years then you will be in the minority, since most commercial game
projects are longer than that.  No one can predict where the industry will
be in 2 years.  One thing is for certain though.... if you don't finish your
game then it doesn't matter where the industry is in 2 years.

Back to the arrogance thing.  When people come to the list and start judging
Java/Java3d through what they have read or some little test case they
wrote... what they do is imply that "performance" is somehow important to
the success of their project.  How many triangles java3d can render per
second should be near the bottom of the list of your priorities.  It is
arrogant to say that you need that extra 10 percent speed to be
competative... thats a blatant falsehood and misconception.  What you need
more than that 10 percent is to finish a fun, playable game!  To argue about
performance is like stating "I know I can do all I have to do... but can
Java3d do what it needs to do?"... and this is really the height of conceit.
I think sometimes people unconsiously engage in all these evaluations,
judgements and critiques so that they can avoid facing the reality of what
is in front of them.

My suggestion is to pick the technologies you like working with and feel
productive with.  If you are a C++ / OpenGL guy then knock yourself out
writing a rendering engine and then writing your game.  If you have the
money just buy NetImmerse or Lithtech if you want to get right to building
the game.  If you like Java and you know OpenGL, but don't like the
restrictions of a scenegraph architecture then try gl4java, but you will
still end up writing a rendering engine before you write your game.

Flipcode, Gamedev and OpenGl.org are full of hundreds of "groups" building
games... games that never get finished.  They spend years writing a
rendering engine and then stall on the game itself.  Many of these people
are "experts" in 3d programming and are extremely critical about everyone's
work.  I have seen them pick apart an image someone posted because the
shadow volumes were inaccurately combining to over-darken overlapping
areas... something I hadn't even noticed when I looked at the image.  People
spend a lot of time figuring out how to render their games in some extra
special fancy technique so they can be "competative".  I agree there is a
minimum acceptable quality that games must meet to be purchased, but that is
far below some of the techniques which are possible.  Do you really need to
build all your geometry using subdivision surfaces so that someday you can
increase your mesh densisty dynamically and get some berely perceived
improvement in tesselation?  Do you really need to define all your textures
using shaders so that someday when there are 4 texture units on cards you
can have runtime dynamic per-pixel lighting with bump-mapping?  I think we
need to resist the allure of the sexy 3d visuals and concentrate on pulling
everything together to finish our projects.


David Yazel

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to