[gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...

Actually, C# and Java can be almost as performant as C++.

And I know of a few companies, that are using C# and Java for
their server side code, leaving the C++ for the client side.

I cannot disclose their names, but if you look around at game
jobs ads, you will see the trend.

There was a time when all games were coded in asm, then the
majoroty of the developers slowly moved to C, after that C++.

Java or C# will eventually become the main games languages,
it might take a few more iterations but it will happen.

A few commercial games were made in C# already.

http://www.exdream.com/games.html
http://www.gamasutra.com/php-bin/news_index.php?story=15211

I can also find similar examples for Java

http://www.banghowdy.com/
http://www.nordgame.com/


Cheers,
Paulo


Quoting Alan Wolfe <alan.wolfe@xxxxxxxxx>:

People have been successful using C# to make games with XNA.

I'd say off hand that C# being a language like Java which is compiled
into non-native bytecodes would have similar preformance to Java.

So sure it's slower, but depending on what you are doing, maybe it's
fast enough (:

On Feb 5, 2008 11:42 AM, Paulo Pinto <pjmlp@xxxxxxxxxxxxx> wrote:
There are a few  games done using the Java Monkey Engine

http://www.jmonkeyengine.com/

http://www.renanse.com/blog/

Tom Clifford schrieb:

> Richard:
>
> Java is viewed generally as slow; but in my
> tests so far, frame rates of up to 100 fps are
> possible with simple scene graphs, but I have
> a 2GHz machine with an ATI x1050 vid card (not
> the most powerful).  I think it will be considered
> more in the near future, especially for its cross-
> platform capabilities.
>
> I'm currently experimenting with a messaging system,
> and viewplatform entry/exit behaviors.  Once I get
> something presentable for simple gaming concepts,
> I'll publish it for review.
>
> But currently, some are available:
>
> http://www.frontiernet.net/~imaging/games_with_java3d.html
>
> http://www.java.com/en/games/
>
> http://www.java-gaming.com/
>
> If I come across more, I'll let everyone know.
>
> Thanks....Tom
>
> --- richard sabbarton <richard.sabbarton@xxxxxxxxx>
> wrote:
>
>
>> Hi Tom,
>>
>> Ahhh... OK.  So I could potentially use JPanel to
>> create a double
>> buffer for drawing.  I guess that would be a lot
>> quicker because I am
>> assuming it would switch pointer of the JPanel
>> rather than, in my
>> example, copying the pixel data from one buffer to
>> another.
>>
>> I will certainly look at it for my next project but
>> I don't believe I
>> will be pushing the boundries with my current task.
>> I am really only
>> doing it to get the hang of Java. (I'm normally a
>> C++ Win32 kinda
>> guy!)
>>
>> Can I ask...  What your thoughts on the suitability
>> of Java for Game
>> Development?  I think I might just be having trouble
>> shaking some
>> preconceptions I have through other (non-game
>> related) experiences.
>>
>> Regards
>>
>> Richard
>>
>> On 05/02/2008, Tom Clifford <tjclifford@xxxxxxxxx>
>> wrote:
>>
>>> Hello Richard.
>>>
>>> I know that in the Killer Game Programming code
>>>
>> the
>>
>>> author used a double-buffering command:
>>>
>>>    setDoubleBuffered(true/false);
>>>
>>> which is from JPanel/JComponent, and this is also
>>> supposed to eliminate flicker, I believe.
>>>
>>> Anyway, a custom paint function would also work.
>>>
>>> I'm working on making some techniques work for a
>>> java game.  I wish you luck with your efforts.
>>>
>>> Tom.
>>>
>>>
>>> --- richard sabbarton
>>>
>> <richard.sabbarton@xxxxxxxxx>
>>
>>> wrote:
>>>
>>>
>>>> Hi Tom,
>>>>
>>>> I downloaded the Java3D API from Sun.  It looks
>>>>
>> good
>>
>>>> but I think it
>>>> was a bit much for what I was looking for.
>>>>
>> Anyway,
>>
>>>> after a little
>>>> further digging I managed to work out how to do
>>>>
>> what
>>
>>>> I was trying to
>>>> do.
>>>>
>>>> The key to getting rid of the flicker was not
>>>>
>> using
>>
>>>> the paint()
>>>> function but instead, using my own.
>>>>
>>>> Firstly, I created a new Image and then obtained
>>>>
>> the
>>
>>>> Graphics
>>>> interface for the image.  This gave me my
>>>>
>> offscreen
>>
>>>> location to
>>>> assemble my GUI.  I then use this image and draw
>>>>
>> it
>>
>>>> to the Graphics
>>>> interface of my Applet
>>>>
>>>> // Variables and members
>>>> Image offScreenImage;
>>>> Graphics offScreenGraphics;
>>>> Graphics onScreenGraphics;
>>>>
>>>> In the init function I run the following:
>>>>
>>>>     offScreenImage = createImage( width, height
>>>>
>> );
>>
>>>>     offScreenGraphics =
>>>> offScreenImage.getGraphics();
>>>>     onScreenGraphics = this.getGraphics();
>>>>
>>>>
>>>> I then setup a timer to keep the screen
>>>>
>> up-to-date
>>
>>>> every xxx
>>>> milliseconds which basically runs the following:
>>>>
>>>>     // Draw everything I need to my offscreen
>>>> Graphics Interface
>>>>     offScreenGraphics.drawImage( etc. etc. etc.
>>>>
>> );
>>
>>>>     offScreenGraphics.drawImage( etc. etc. etc.
>>>>
>> );
>>
>>>>     offScreenGraphics.drawImage( etc. etc. etc.
>>>>
>> );
>>
>>>>     // Then draw the whole thing to screen with
>>>>
>> the
>>
>>>> Image Interface
>>>>     onScreenGraphics.drawImage(offScreenImage,
>>>>
>> xxx ,
>>
>>>> yyyy , this );
>>>>
>>>> Seems to work quite well for simple graphics and
>>>>
>> GUI
>>
>>>> etc.  If I want
>>>> anything more complex then I will go down the
>>>>
>> Java3D
>>
>>>> route but for now
>>>> this will do.
>>>>
>>>> Regards
>>>>
>>>> Richard
>>>>
>>>>
>>>>
>>>> On 04/02/2008, Tom Clifford
>>>>
>> <tjclifford@xxxxxxxxx>
>>
>>>> wrote:
>>>>
>>>>> Java has it's own Java3D interface, found at:
>>>>>
>>>>> http://java.sun.com/products/java-media/3D/
>>>>>
>>>>> It allows you to do what is called active
>>>>>
>>>> rendering,
>>>>
>>>>> which is similar to the c/c++ WinMain/WndProc
>>>>>
>>>> loops,
>>>>
>>>>> that uses double-buffering,
>>>>> or you can create the objects you want and
>>>>>
>> allow
>>
>>>>> Java3D to do the looping for you, while doing
>>>>> animation with their Behavior objects.
>>>>>
>>>>> There are some good java examples with source
>>>>> code, at Killer Game Programming with Java, by
>>>>>  Andrew Davison
>>>>>  O'Reilly, May 2005
>>>>>  ISBN: 0-596-00730-2
>>>>>  http://www.oreilly.com/catalog/killergame/
>>>>>  Web Site for the book:
>>>>>  http://fivedots.coe.psu.ac.th/~ad/jg
>>>>>
>>>>> code downloads and instructions at:
>>>>>
>>>>> http://fivedots.coe.psu.ac.th/~ad/jg/code/
>>>>>
>>>>> Tom C.
>>>>>
>>>>>
>>>>> --- richard sabbarton
>>>>>
>>>> <richard.sabbarton@xxxxxxxxx>
>>>>
>>>>> wrote:
>>>>>
>>>>>
>>>>>> Hi Guys,
>>>>>>
>>>>>> In C++ on windows I would use animation by
>>>>>>
>>>> creating
>>>>
>>>>>> a compatible
>>>>>> device context in memory with
>>>>>>
>>>> CreateCompatibleDC().
>>>>
>>>>>> I would write my
>>>>>> game and all of its elements to the MemoryDC
>>>>>>
>> and
>>
>>>>>> then use something
>>>>>> like BitBlt() to push it to my main DC.
>>>>>>
>>>>>> I have recently started learning Java and I
>>>>>>
>> want
>>
>>>> to
>>>>
>>>>>> perform a similar
>>>>>> function.  I want to write all of the
>>>>>>
>> elements
>>
>>>> to
>>>>
>>>>>> memory and then
>>>>>> transfer it to the screen every x
>>>>>>
>> milliseconds.
>>
>>>>>> This is to eliminate
>>>>>> flicker etc.
>>>>>>
>>>>>> I have been looking online through tutorials
>>>>>>
>>>> etc.
>>>>
>>>>>> and I can't seem to
>>>>>> find a description of how to do this.  Do I
>>>>>>
>> need
>>
>>
> === message truncated ===
>
>
>
> ____________________________________________________________________________________
> Never miss a thing.  Make Yahoo your home page.
> http://www.yahoo.com/r/hs
>
> ---------------------
> To unsubscribe go to http://gameprogrammer.com/mailinglist.html
>
>
>
>



---------------------
To unsubscribe go to http://gameprogrammer.com/mailinglist.html




---------------------
To unsubscribe go to http://gameprogrammer.com/mailinglist.html






----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.


---------------------
To unsubscribe go to http://gameprogrammer.com/mailinglist.html


Other related posts: