-=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- (c) WidthPadding Industries 1987 0|250|0 -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=-
SoCoder -> Blogs Home -> Blogs


 
JL235
Created : 27 March 2007
Edited : 27 March 2007

Game Creation Environment (update)



I thought it was about time for another update with the Game Creation Environment I'm working on, and I've had a major breakthrough over the last few hours.

After deciding to flick through the OpenGL reference book that's been sitting next to the PC for a week, I came across a GLU function which resizes images to the exact size given (rather then the terrible and inaccurate SDL version). This means all my OpenGL problems are fixed, and the Game Creation Environment is currently still in a transitional phase from SDL to OpenGL.

First results are fantastic, with me now getting a constant perfect 60fps (not even the odd 59 or 61). The various minor tears that the SDL vsync was failing to remove are also gone. However this also adds a lot more work. Namely clearing out all the old SDL code, adding all the old image functions into the new ones (like for image masking, setting the alpha, scaling, etc) and then clean up my code.

Once that is done, I might make a test game. Just as proof of concept. I'm thinking maybe a shoot-em-up.


Bear in mind the OpenGL side has only been working for half an hour when this was taken. No image mask, alpha and scaling, but look at the frame rate!

 

Comments


Tuesday, 27 March 2007, 02:56
HoboBen
Awesome

Good luck with the rest.
Tuesday, 27 March 2007, 04:57
power mousey
Diablo,

if you make this game creation engine available
to others-->or even, create some demos and games
for others to run on their computers
will there be a feature to check the persons'
or users' computer and determine and lock
the frame rate at a certain value. Lets say 30, 40,
and 60 FPS??

also wHAT about the users' computer and with the os and other things running in the background while said game or creation app is running. This could slow down the FPS.
So, will you include a minimum FPS and a max FPS??

Like for example:

old computers: min-20 FPS, max-30FPS
medium ones: min-25FPS, max-40FPS
current ones: min-35FPS, max-60FPS


new editey: oh well. here is some cheer

Television: A medium. So called because its neither rare nor well done. --Ernie Kovacs.
Tuesday, 27 March 2007, 06:24
JL235
I have no plans to insert any form of frame limiting. I suppose I should have gone into more detail about why 60fps is so good. When I first started, I would be getting around 20 to 25 frames per second. However it was checking every tile on the map, so a map of 100x100 tiles would be significantly faster then a map of 1000x1000 tiles (which was far slower). I have now refactored it so it only draws those on screen, and doesn't even check if it should draw the others. This means it will only ever iterate over the number of tiles on screen, which upped the frame rate to around 35 to 40.

Then I removed Rubygames and wrapped SDL directly, and it jumped up to around 50 to 55. Now that I am using OpenGL, it never drops below 60. With the new graphics engine, I don't see any reason for this having any high performance requirements.
Tuesday, 27 March 2007, 11:17
power mousey
Diablo, Diablo

as Columbo materializes in front of you
smoking and chomping his cigar
and gives you a whack on the noggin
and a funny glassy eyed look:

heyda, Diablo, you know, your RPG game engine looks
impressive and all that. Yet, what comes to my mind
as the plot thickens are those Frame rates. You know!?

oh, one more thing... if you give this thing
to others with these computers how you will guarantee
that they will run at a good frame rate. Even with
outdated ones??
Wednesday, 28 March 2007, 10:36
JL235
When the basic graphics engine is more or less complete I plan to next make a test demo, simply as proof of concept. This will be the best indication of how well (or badly) the environment runs.

But I would expect only low requirements because most of the hard work from before is now handled by the graphics card. In terms of what graphics cards are expected to do, the graphics performance being asked for is very low and basic.

Ultimately however, until it is tested on multiple machines there is no real way to know.
Thursday, 29 March 2007, 09:51
power mousey
oh well, its okay.
I guess.

I thought that eventually it might
be added to:

www.ambrosine.com/resource.html


anyway,
have a L.A. D.J. day.

power mousey
Friday, 30 March 2007, 14:20
JL235
Earlier I ran the demo I made for testing the different aspects on my brothers slow pc. Bear in mind I have made no optimizations or changes to my code since changing the graphics over to use OpenGL, but it ran at a full 60fps.

It's specs are a 1.4ghz Athlon, 512mb ram and a Geforce FX 5600 XT (that means it's worse then a normal 5600).

The number of tiles is what slowed down the graphics drawing with the previous system, even though it only trys to draw the tiles which are on-screen (doesn't even look at those which are off-screen). But with the test demo, a full-screen (almost) of tiles is drawn, and so I would not see it dropping below 60fps as a result from the graphics drawing on the slower machine I've ran it on.

Essentially, graphics won't be slowing down the Game Creation Environment. That problem is now fixed.