[gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- From: "Alan Wolfe" <alan.wolfe@xxxxxxxxx>
- To: gameprogrammer@xxxxxxxxxxxxx
- Date: Tue, 5 Feb 2008 14:15:53 -0800
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
- Follow-Ups:
- [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- From: Paulo Pinto
- 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
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...
- [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- From: Paulo Pinto
- [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- From: Tom Clifford
- [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- From: Paulo Pinto