Good points here (and you do know your stuff), and here's my 2 cents.

First of all - I have worked in a professional game development studio. We
did Cel Damage (http://www.celdamage.com) for the xbox. We used visual c++
for the whole project - headers were a nightmare, compile times grew
absolutely huge. But, we had many people who were experts with c++ and a
well developed team structure, and as such, they did things quickly.

Second of all - I've chosen to write a demo game in java/java3d (even not
knowing java/j3d when starting) based on the community saying that the
development time for a java application is much, much less than a c++
program of the same caliber. This does indeed seem to be the case. Debugging
is simpler, compile times are low, and forte (at least with jdk1.4) is quite
responsive and is a damned good ide to develop in.

Third: BUT... your ideas that a 3d game not looking state-of-the-art is
acceptable are simply wrong. If you have been following game development for
the past 10 years are so you will see two branches of best-selling games.
One is low system requirements and very, very good gameplay. These games
sell because they usually have innovative ideas, and the audience that they
can reach with their extremely low system requirements is huge. These games
usually spawn imitators using more advanced engines, but the same basic
gameplay. These games usually do not do well. (Diablo/Darkstone). Then there
are the pretty games. If the screenshots on the box/website look good
enough, people will buy them. They do so because they see their $600
geforce4 going to waste on all the innovative games and they want to be
graphically impressed. This is where your argument fails. When developers
look at java/java3d to see if it is a good platform, they look at the fact
that java3d is still a year behind the current technology arc. Lets face it,
we don't even have a robust bugfree cube-mapping solution yet, and no-one
has come up with any details on how exactly the dot3 combiners can work well
(the one demo I have seen is quite unimpressive). When you see these things
as a developer and also factor in the fact that it is going to take you six
months at the very least to produce a stable, bug free game, you see a
pattern - (-6 months - 12 months) = a game 18 months behind the times,
look-wise. As opposed to a c++ game that is started from the foundation of
the current technology, a 1 year development cycle is only 1 year behind the
times, and the large fact that you can update the engine as you go (since
you know exactly what is going on) is very important.

But the whole point here isn't to put down java3d's capabilities. What we
need are solutions to show (and i believe this), that it actually is a
decent enough platform to code for. I've seen several glaring spots of where
the java3d development team could do better -

We need examples of what the latest additions to java3d actually do, and do
not do. It's nice that we have support for cube mapping and dot3 combiners
(not to mention the 4x4 texture filters, which I think could do some nifty
stuff) but the fact is, no-one knows how to use them. Will there be
tutorials on these features in the near-future? I really doubt it. The
community will be left to itself to create these tutorials until development
on the features are complete, and by that time it will be 5 months in the
future, and we'll have nvidia's/ati's latest and greatest to look at, but
not take advantage of for another year.

We need an be able to use gl's extensions mechanism. Unless people are
content with java3d permanently being a year behind the times, forever,
there needs to be a way to get new graphics features in easily.

So what can we, the java3d developers do about it? This is the question, and
I don't have all the answers. For now, we simply have to accept the fact
that java3d isn't really ready for commercial game project development, and
hope that the next revision(s) will level the playing field. But will it be
soon enough?


>From: "Yazel, David J." <[EMAIL PROTECTED]>
>Reply-To: Discussion list for Java 3D API <[EMAIL PROTECTED]>
>To: [EMAIL PROTECTED]
>Subject: [JAVA3D] The arrogance of aspiring game developers
>Date: Fri, 5 Apr 2002 11:30:29 -0500
>
>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".




------------------------

Chris Forrester

http://www.geocities.com/Psionic81


_________________________________________________________________
MSN Photos is the easiest way to share and print your photos:
http://photos.msn.com/support/worldwide.aspx

===========================================================================
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