PlanetCrap 6.0!
Front Page (ATOM) • Submission Bin (1) • ArchivesUsersLoginCreate Account
You are currently not logged in.
T O P I C
Game devs and the .NET/Java holy wars
March 16th 2002, 13:39 CET by m0nty

A new study on why game developers don't use Java by a Danish researcher, discussed by the Sun fanbois at the Java Lobby here, brings up some interesting points which could affect the future of gaming.

In particular, it is timely with the debut of Microsoft's .NET Framework to discuss the relative merits of coding in high-concept environments like Java with better productivity gains, as opposed to "system programming languages" like C++ which have a better handle on hardware. Sections 8 and 9 on pp74-87 are the heart of the document, including the Doom analogy on page 75, the Java3D analysis on page 80, the mention of big-name titles which used Java on page 82, and the conclusion on page 87.

Because of the relatively lower performance of Java, I cannot recommend pure Java
for highly performance critical games. It is, however, still recommended that Java is used
for at least parts of the game, for instance, as a general purpose scripting language for the
control code. Java runs much more efficient than the vast majority custom scripting
languages available.

The biggest problem at the moment with using Java for game development is that
proper ports do not exist for game consoles. I consider the current ones highly risky. If
the game is to be released on consoles then the use of Java for any part of the game
cannot be recommended.

First of all, is this Danish egghead correct in his many assertions? Would real game devs working on the cutting edge even spit on Java, or would mixing it with C dialects help with lengthening development times (insert obvious DNF reference here)? Do those of you who tried scripting for Vampire: The Redemption applaud the dropping of Java as a scripting language for Vampire 2? Is Javagaming.org a complete joke? What will .NET mean for game developers? Should they ignore it for now until the inevitable bugs are ironed out, or will it bring instant productivity improvements as Java is reputed to do? Will Doom 4 modders be using C#? Is Terrarium a sneak peek at the future of AI, or is Ashiran wasting his time coding a m0nty creature?
C O M M E N T S
Home » Topic: Game devs and the .NET/Java holy wars

|«« - Previous Page - Next Page - »»|
#1 by Martin
2002-03-16 13:56:56
http://www.mocol.nu
Sorry but I just can't resist a FIRST POST!!

-- Martin
"Burger me!"
#2 by Martin
2002-03-16 13:58:07
http://www.mocol.nu
To actually add to the topic at hand; I for one don't program in Java.

Thanks.

-- Martin
"Burger me!"
#3 by Gunp01nt
2002-03-16 14:14:41
supersimon33@hotmail.com
ehhh... from what I gather Java isn't particularly suitable for games. At least not for nowadays' 3D engines. that's why it isn't used that often except for the basic web-game-like stuff

"I'm not sleeping with a junior high-schooler, I have a life sized doll that looks just like one."
#4 by Matt Perkins
2002-03-16 15:13:37
wizardque@yahoo.com http://whatwouldmattdo.com/
1.  Java has never been right for games...  unless it's something simple...
2.  C# MIGHT work for games, but it's compiled at runtime and then only some parts...so as you move through the app, more parts are compiled.  Not to mention a few other things that could cut into performance.  I don't know about MS specifically, but all of the books I've read, even the MS ones, say it shouldn't be used where each millisecond matters (so to speak).  What that really means in tems of a performance hit, I don't know.

On the other side, I'm currently writing in C# for a business app and I'm in love.  I can't wait until DX9 and it's compatibility with C#, just to give it a try.

game designer.  RTS lover.  Herbert owner.  Bullshit artist.  Not so humble anymore.
#5 by Bezzy
2002-03-16 16:36:08
painberry@hotmail.com http://www.antifactory.org
Wheeell.
This conversation seems about wrapped up!

Sick and tired and not impressed with shoehorning art into a profitable industry.
#6 by Martin
2002-03-16 16:39:19
http://www.mocol.nu
Next!

-- Martin
"Burger me!"
#7 by Greg
2002-03-16 16:48:57
How to hijack... how to hijack...

Greg

-Swallow it all and be glad, for a shilling I've paid and a shilling's worth I'll be having!
#8 by Leslie Nassar
2002-03-16 16:52:43
http://departmentofinternets.com
I can't wait until DX9 and it's compatibility with C#, just to give it a try.

Why wait?  C# and DX8 get a long just fine.

i like monkeys.  are you a monkey?
#9 by Gunp01nt
2002-03-16 16:59:16
supersimon33@hotmail.com
however... m0nty is talking about PARTIAL use of Java to make a game, not about Java for the entire game.
that could be possible but you'd really have to be a Java fanboi for that. If you write your game in C and use Java as f.e. a scripting language, it'd be very hard to implement. I think any programmer would rather stick to C in this case.

"I'm not sleeping with a junior high-schooler, I have a life sized doll that looks just like one."
#10 by Bezzy
2002-03-16 17:01:43
painberry@hotmail.com http://www.antifactory.org
Or even an arbitrary and more specific self made scripting language that makes full use of the game it's for, but nothing else...

Sick and tired and not impressed with shoehorning art into a profitable industry.
#11 by Bezzy
2002-03-16 17:02:28
painberry@hotmail.com http://www.antifactory.org
Quake 3 Shaders, for instance.

Sick and tired and not impressed with shoehorning art into a profitable industry.
#12 by Gunp01nt
2002-03-16 17:09:28
supersimon33@hotmail.com
EOD!

"I'm not sleeping with a junior high-schooler, I have a life sized doll that looks just like one."
#13 by Martin
2002-03-16 17:15:22
http://www.mocol.nu
I think a more appropriate use would be EOL, but you must say it with the MCP voice and pronounciation or it won't work.

Try it: "END OF LINE!"

Feels good, doesn't it?

-- Martin
"Burger me!"
#14 by _Fury_
2002-03-16 17:30:27
ajhill@wi.rr.com
I used to hate Java, but after having to work with it for two years now - I can say with clear conscience that it's a useful language. Games though? I suppose it's possible to use it on a game where reaction times aren't important - but action games? No way.

Witty Quote
#15 by jjohnsen
2002-03-16 18:09:52
http://www.johnsenclan.com
Has anyone else seen this rollercoaster.  Time to move the babies swingset in my backyard to make room for one of these.

#16 by Martin
2002-03-16 18:30:27
http://www.mocol.nu
Since it was on Blues today I would say that, yes, quite a few people has seen it. 9)

-- Martin
"Burger me!"
#17 by Sgt Hulka
2002-03-16 19:52:03
Completely OT:
Hulkacast http://24.208.201.2:8000

For the next few hours..

Tune into with Winamp

** CRTL + L, type or cut 'n' paste this URL Hulkacast http://24.208.201.2:8000 into the box that appears


Listen if you dare!

.....Another 0l$en Approved +12 Post!
#18 by Neale
2002-03-16 21:18:21
neale@pimurho.co.uk www.pimurho.co.uk
Sorry to be on-topic :) but..

didn't Carmack originally intend for Quake 3/Trinity to use Java as the interpreted language for the game logic?

Eradicators! - www.eradicators.co.uk
#19 by sentinel
2002-03-16 21:22:27
I think gamedevelopers just love their l33t sk1llz in their current development environment and are just conservative. When you look at current JIT-compilers available for Java and the CLR-environment for C#, performance is not really an issue. 3D performance itself hasn't been an issue at all ever since we've had hardware accelleration anyway.

It's also in marketing: Sun and Microsoft are marketing their tools to be 100% developed for XML-based mission-critical enterprise-wide client/server e-business <insert all other buzzwords here> applications and this makes the gamedeveloper wary :)

About the research: I think the part about Java not being suited to consoles is complete bullshit. The Windows JVM/JIT probably runs on the XBox and it's probably not much work to get one running on a PS2/Gamecube either.
#20 by Bailey
2002-03-16 21:26:10
What's this about jawas?

I seem to remember a GIP named Adellion being developed to run in java in a web-browser... fully 3D, mind you. Last I heard the developer finally admitted defeat and was attempting to rework the project with a real game engine.

I have transferred all my self-loathing onto you.
#21 by Bezzy
2002-03-16 21:39:44
painberry@hotmail.com http://www.antifactory.org
If I might be a tangent maker...
Yay! GameBoy Advance "backlighting" modification. (It's actually just a lit membrane over the LCD and under the main screen. Seems to work well, looking at the video).

This alone makes me want to get a flash cart (so I can, uh... develop a personal organizer for the GBA. *cough*) and make my own rumble pack and battery extention and paint go faster stripes on and have a overclocked cpu andandand.

Did you know that the french word for Game is Jew? I will call my sooped up GBA a "JewBoy Advance". It will make engine purring noises when you press the R button.

Sick and tired and not impressed with shoehorning art into a profitable industry.
#22 by Leslie Nassar
2002-03-16 22:23:21
http://departmentofinternets.com
When you look at current JIT-compilers available for Java and the CLR-environment for C#, performance is not really an issue.

That, sir, is bullshit.

i like monkeys.  are you a monkey?
#23 by Leslie Nassar
2002-03-16 22:27:21
http://departmentofinternets.com
The Windows JVM/JIT probably runs on the XBox and it's probably not much work to get one running on a PS2/Gamecube either.

Tell you what, port something -- anything -- from Win32 to PS2 or the GC, then come back and tell us how much work it wasn't.

Fucking armchair engineers.

i like monkeys.  are you a monkey?
#24 by yotsuya
2002-03-16 22:29:54
About that home-made rollercoaster:

How much you wanna bet his last words will be "Hey, ya'll, lookie this!"

Arizona Diamondbacks 2001 World Series Champions
#25 by Dev
2002-03-16 22:31:00
admin@techillimit.net
Hay Bubba! check this out! yeeehaw!

"If it was so, it might be; and if it were so, it would be; but as it isn't, it ain't. That's logic." -- Lewis Carroll
#26 by sentinel
2002-03-16 22:43:09
Tell you what, port something -- anything -- from Win32 to PS2 or the GC, then come back and tell us how much work it wasn't.

Do you honestly think consoles are the ultimate in embedded technology? I don't see how else it can somehow be such an incredible accomplishment to port something to it. Have you ever ported anything to an 8kb smartcard? Ofcourse not, you're just another one of those lamers who's so convinced HIS work is the ultimate in engineering.
#27 by crash
2002-03-16 23:10:12
personally, i can't see any developer of any application deliberately choosing to sacrifice performance for portability... unless performance isn't a real issue. want to code a portable word processor or spreadsheet or "lite" image editing app in java? feel free. but the day i'll take java performance seriously is when i read of a big-iron app being developed with it. and i don't think that'll ever happen.

- if you can laugh at it, you can live with it.
- "Hey, how 'bout this: fuck you." -LPMiller
#28 by Matt Perkins
2002-03-16 23:10:52
wizardque@yahoo.com http://whatwouldmattdo.com/
#26
I think you missed the point...  unless you are planning on porting a windows app to a 8kb smartcard...

He at now point said consoles are anything better or worse than anything else, only that porting wasn't as easy as you make it sound.

Oh yeah, and you are completely wrong about JITs...  there is a performance hit and it can big depending upon the application...  MS claims they can make it up in runtime, since they can compile for specific processor they are running on at the moment instead of a generic processor, but I don't know.

game designer.  RTS lover.  Herbert owner.  Bullshit artist.  Not so humble anymore.
#29 by GayTankCommander
2002-03-16 23:23:27
http://www.uprightcitizens.org/
Ofcourse not, you're just another one of those lamers who's so convinced HIS work is the ultimate in engineering.

Forget this, Mom! Let's go to the park!

The PS/2 GPU is a dirty naughty pig to work with and you know it.

Twenty bucks says the giirl pins the wimp!
#30 by Leslie Nassar
2002-03-16 23:26:03
http://departmentofinternets.com
Have you ever ported anything to an 8kb smartcard?

Have you ever ported anything to a 4kb electronic learning aid?  Didn't think so.  So by the "sentinel rulez 4 p0stingx0r" that makes your post is irrelevent.

Ofcourse not, you're just another one of those lamers who's so convinced HIS work is the ultimate in engineering.

Yeah, I'm just a guy who has had first-hand experience developing for console and PC as opposed to some jackass whose game development experience consists of reading and quoting Carmack .plans.

i like monkeys.  are you a monkey?
#31 by sentinel
2002-03-16 23:45:54
Yeah, I'm just a guy who has had first-hand experience developing for console and PC as opposed to some jackass whose game development experience consists of reading and quoting Carmack .plans.

I don't read Carmack .plans :) In fact I couldn't care less about gamedevelopment.

All I am saying is that this typical "Do this before you say anything about blablabla"-attitude is bullshit. Making games is standard software development. It's nothing special, anything you can name that's important in gamedevelopment is just as important in about 100 other fields of software engineering. You are not special. Get over it.

Now back to the discussion: VM-like environments are the future, especially those using JIT-compilers. There's not a single drawback in using them except that they require more memory, which is unimportant now that desktops have hundreds of megabytes of RAM and the XBox already has 64. The advantages are huge however: you can optimize at runtime, the JIT can tweak stuff based on the actual system it is running on. A sandbox allows for enhanced security and interoperability. Any performance differences between native and VM/JIT-based systems are imperfections of the implementation of the latter and it's just a matter of time before that will be resolved.
#32 by HoseWater
2002-03-16 23:51:02
barneyque@hotmail.com
OH man!  This is going to get ugly.

1968-2002 Robert 'HoseWater" Lloyd
#33 by Terata
2002-03-17 00:09:17
Vampire used Java as its scripting language, and they gushed praise upon the decision in their Game Developer post mortem.  I really don't know enough about it to pass judgement, myself.
#34 by Leslie Nassar
2002-03-17 00:18:02
http://departmentofinternets.com
Understood.  You don't care about game development, and you don't know care about development issues between PCs and consoles, but you do know about making grandiose claims about TEH FUTURE! of software.  Say, how's that Transmeta stock doing for you?  Code-morphing is the future of CPU's dontchaknow.

VM-like environments are the future, especially those using JIT-compilers. There's not a single drawback in using them except that they require more memory

So to summarize; there are no performance issues with VMs and no drawbacks, other than the performance hit of additional CPU requirements and the drawback of needing additional memory.

A sandbox allows for enhanced security

Remember the Brown Orifice exploit?

i like monkeys.  are you a monkey?
#35 by sentinel
2002-03-17 01:43:08
Understood.  You don't care about game development, and you don't know care about development issues between PCs and consoles, but you do know about making grandiose claims about TEH FUTURE! of software.

Ofcourse. The game industry doesn't dictate anything regarding development tools (this whole Java/.NET-thing should prove at least that,) so I'm not sure why you think that to talk about this I should know or care about gamedevelopment.

So to summarize; there are no performance issues with VMs and no drawbacks, other than the performance hit of additional CPU requirements and the drawback of needing additional memory.

There are no additional CPU requirements. Most JIT-based VMs even cache compiled binaries so after the first run there's no difference whatsoever (Microsoft's .NET Framework does this too.) Except that the compiled binary was (possibly, depends on the JIT ofcourse) created with the specs of your system in mind. Don't confuse Microsoft's CLR with an interpreted Java VM from 1996 :)

In fact, if they just port the CLR (or some other VM) to multiple platforms, l33t h4x0rz like you with PC/Console sk1llz will be obsolete :)
#36 by "GayTankCommander"
2002-03-17 02:21:40
a.hesselgren@stud.umist.ac.uk http://www.uprightcitizens.org/
In fact, if they just port the CLR (or some other VM) to multiple platforms, l33t h4x0rz like you with PC/Console sk1llz will be obsolete :)


While there are static architectures to work on (such as consoles), there will always be tweaking for performance at the lowest level. I don't care how l33t you are - a VM is never going to get the most performance out of a system. Moore's law (err... or the other law with the software bugs).
#37 by sentinel
2002-03-17 02:26:36
While there are static architectures to work on (such as consoles), there will always be tweaking for performance at the lowest level. I don't care how l33t you are - a VM is never going to get the most performance out of a system.

That could be true, but how many gamedevelopers are writing their own GeForce/Radeon drivers? If not, they are throwing away a lot of potential extra performance!

Developers are focussing on important stuff liked better AI etc. Or at least they should be.
#38 by Morn
2002-03-17 03:06:25
morn@planetcrap.com http://hmans.net
And now for something completely different.

Hendrik "Morn" Mans • morn@planetcrap.com • admin/coder/lover/kraut
Support PlanetCrap with a small monthly donation!
#39 by Kayin
2002-03-17 03:33:19
evilshinji@tokyo-3.com http://www.livejournal.com/users/doubleyoumouf
Is anyone else out there in CrapLand losing sleep over .NET?

You can almost visably see Microsoft's paradigm shift (mispelled and all!) in operating system design... moving from solid, tangible CD's to online distrubution. I'd bet the only thing slowing them down is the rollout of broadband (at least in america...)

I like the idea of a cool, clean CD in my hand... in a way, this ties in with the topic on blank CD-R's getting taxed. i'm sure a big reason MS and other companies want to move to online pay per use is that it assures actual payment for the software *shock!* *gasp!*... whereas CD distrubution doesn't. only problem is, what keeps people from passing around subscription logins? you need a protection scheme... online activation may only be the tip of the iceburg.

ahh, i need sleep

i like mudpuddles.
#40 by Terata
2002-03-17 03:39:24
The south wall of your room is misaligned with the T-junction on the east outside wall.  Slacker. =P
#41 by Leslie Nassar
2002-03-17 03:44:53
http://departmentofinternets.com
Ofcourse. The game industry doesn't dictate anything regarding development tools (this whole Java/.NET-thing should prove at least that,) so I'm not sure why you think that to talk about this I should know or care about gamedevelopment.

*slaps forehead* oh of course!  How silly of me to suggest that in a thread about Java's place in game development where you're evangelizing the advantages of using Java by game developers that you should, maybe, know something about game development.

There are no additional CPU requirements.

Is this another one of these cases where you don't actually need to know anything about the subject your talking about before you make assertions?  Because looking at the profiler report from my managed C++ code vs. the unmanaged version, it sure looks like more CPU is being used.

i like monkeys.  are you a monkey?
#42 by Morn
2002-03-17 03:49:10
morn@planetcrap.com http://hmans.net
me very tired

Hendrik "Morn" Mans • morn@planetcrap.com • admin/coder/lover/kraut
Support PlanetCrap with a small monthly donation!
#43 by Terata
2002-03-17 03:51:49
Is that an engine you wrote, Morn, or an existing public one?  A toolkit to make games like that would be pretty neat to play with.
#44 by sentinel
2002-03-17 03:56:38
How silly of me to suggest that in a thread about Java's place in game development where you're evangelizing the advantages of using Java by game developers that you should, maybe, know something about game development.

software development == software development. Doesn't matter whether they're games or not. So my point was: there's another reason for gamedevelopers not adopting Java. I wrote that in #19.

Because looking at the profiler report from my managed C++ code vs. the unmanaged version, it sure looks like more CPU is being used.

Again you were not paying attention, because in #31 I wrote that it's possible to have performance differences, but they are not the result of an actual difference in theoretical possibilities, but in engineering of the runtime. So it's just a matter of time before that's fixed.
#45 by yotsuya
2002-03-17 04:11:52
Terata-
That's PRGMaker 2000. It's fun to play with. Let me know if you can't find it.

Arizona Diamondbacks 2001 World Series Champions
#46 by Desiato
2002-03-17 04:14:18
desiato_hotblack@hotmail.com http://www.spew2.com/
I say we nuke sentinel from orbit, it's the only way to be sure...


Java.

*snicker*

It doesn't say "Virtual Machine" for nothing. And it doesn't run on quantum probability wavefronts either.

Just plain old CPU cycles.

Poor CPU.

VMs are like those rusted trucks you see on the freeway filled with junk, bursting at the seams while some barely-literate driver weaves across all lanes, trying to keep the fourteen engine blocks stacked up on each other from toppling over. He makes his junk delivery every day, but I sure as hell wouldn't want to use his truck.
#47 by sentinel
2002-03-17 04:31:52
It seems Desiato still thinks that VM automatically means interpreted code or something. Or does he have an actual argument for his opinion?

Let me spell it out: If a piece of software is compiled to a "binary" not targeted at an actual execution platform in hardware, that's referred to as a VM. At runtime, the executable can then be compiled to a piece of native code, where the generated code is actually based on your personal system's config. The compiled binary can even be cached to prevent recompilation.

I'm interested in hearing arguments for why this approach will make applications run slower.
#48 by Warren Marshall
2002-03-17 05:12:51
http://www.wantonhubris.com/
If Morn can do it, so can I.

Progress!

I am a magnificent three toed sloth.
#49 by bileduck
2002-03-17 05:26:37
cheimpel@uwo.ca
I'm no expert, but here's some reasons Java apps run slower than native apps:
VM needs to be loaded at start time while native apps already have their libraries loaded.
Hotspot runs runs the first iteration in interpreted mode and then compiles the code based on the profile it built.
The JVM eats up gobs and gobs of memory causing lots of swapping.
VMs aren't shared so memory use skyrockets when more than one Java app is open.
The timer in Windows is only accurate to 50 milliseconds so games look jerky.

And check out Cosm for a good example of a Java game.  It's looking pretty cool.
#50 by JMCDaveL
2002-03-17 05:49:05
I went to that site and was put into a timewarp to 6 years ago.

--jmc
C O M M E N T S
Home » Topic: Game devs and the .NET/Java holy wars

|«« - Previous Page - Next Page - »»|
P O S T   A   C O M M E N T

You need to be logged in to post a comment here. If you don't have an account yet, you can create one here. Registration is free.
C R A P T A G S
Simple formatting: [b]bold[/b], [i]italic[/i], [u]underline[/u]
Web Links: [url=www.mans.de]Cool Site[/url], [url]www.mans.de[/url]
Email Links: [email=some@email.com]Email me[/email], [email]some@email.com[/email]
Simple formatting: Quoted text: [quote]Yadda yadda[/quote]
Front Page (ATOM) • Submission Bin (1) • ArchivesUsersLoginCreate Account
You are currently not logged in.
There are currently 0 people browsing this site. [Details]