[gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- From: Paulo Pinto <pjmlp@xxxxxxxxxxxxx>
- To: gameprogrammer@xxxxxxxxxxxxx
- Date: Wed, 6 Feb 2008 08:01:51 +0000
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
- Follow-Ups:
- [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- From: richard sabbarton
- References:
- [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- From: Tom Clifford
- [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- From: Paulo Pinto
- [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- From: Alan Wolfe
Other related posts:
- » [gameprogrammer] A newbie Java Question - GUI/Animation etc...
- » [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- » [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- » [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- » [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- » [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- » [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- » [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- » [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- » [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- » [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- » [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- » [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- » [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- » [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- » [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- » [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- » [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
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
- [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- From: richard sabbarton
- [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- From: Tom Clifford
- [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- From: Paulo Pinto
- [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- From: Alan Wolfe