[gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- From: "richard sabbarton" <richard.sabbarton@xxxxxxxxx>
- To: gameprogrammer@xxxxxxxxxxxxx
- Date: Wed, 6 Feb 2008 09:27:24 +0000
Hi All,
Some great feedback. Thanks. Seeing some of the things people are
doing with Java has made me think more about taking a deeper look at
it rather than skimming the surface.
Richard
On 06/02/2008, Paulo Pinto <pjmlp@xxxxxxxxxxxxx> wrote:
> 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
>
>
>
---------------------
To unsubscribe go to http://gameprogrammer.com/mailinglist.html
- 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
- [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: 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
- [gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...
- From: Paulo Pinto