The Ur-Quan Masters Home Page Welcome, Guest. Please login or register.
Did you miss your activation email?
March 29, 2024, 03:55:22 pm
Home Help Search Login Register
News: Celebrating 30 years of Star Control 2 - The Ur-Quan Masters

+  The Ur-Quan Masters Discussion Forum
|-+  The Ur-Quan Masters Re-Release
| |-+  Starbase Café (Moderator: Death 999)
| | |-+  Project Aqua: SDL vs. Allegro
« previous next »
Pages: 1 [2] Print
Author Topic: Project Aqua: SDL vs. Allegro  (Read 10312 times)
muller
Zebranky food
*
Offline Offline

Posts: 9


Project Aqua Lead Developer


View Profile
Re: Project Aqua: SDL vs. Allegro
« Reply #15 on: June 28, 2006, 09:19:06 am »

You wrote the game, assuming you could load huge amounts of graphics !
That would be a problem if you'd use another graphics library, too.
Instead, try loading images from disk while the game runs, and discard them when they're not used anymore. I think that will solve most of your problems.

Thats exactly it. When the engine was concieved the game was origonally a tile based engine. We've had tests of up to a thousand independantly rotated and scaled moderately sized images running at 40 fps. But they were referencing the same image.

Our character animation is the worst part. we have at least 300 images per character for 8 directions that can be displayed at any instant so they must be in video memory. Multiply that by 7 or 8 characters and we are screwed.
Logged
GeomanNL
*Many bubbles*
***
Offline Offline

Gender: Male
Posts: 167


I love YaBB 1G - SP1!


View Profile
Re: Project Aqua: SDL vs. Allegro
« Reply #16 on: June 28, 2006, 10:57:38 am »

How often are all characters displayed at once on your screen, in all 8 directions ?
How often do you actually cycle through all 300 animated frames ?
If you display only a fraction of this each frame, then loading from disk might actually work.

Or are you rendering huge fights with dozens of units displayed on screen ? In this case, you might consider reducing animation detail because the more units are displayed, the less someone will notice the details associated with each unit.

You could even decide to reduce the animation detail only if there are many units displayed, and increase it again if there are fewer units. I doubt anyone will be bothered by such a thing. This would mean, discarding data while the game is running, and reading it back again when needed. Disks are pretty fast, it won't reduce performance much.

Otherwise, you'll have to go 3d and discard a lot of your work. Animation in 3d is less memory intensive. However, 3d is much less efficient in terms of computing power, so you'll not be able to render many detailed units.
Logged
Halleck
Enlightened
*****
Offline Offline

Gender: Male
Posts: 751


Personal Text


View Profile WWW
Re: Project Aqua: SDL vs. Allegro
« Reply #17 on: June 28, 2006, 12:57:06 pm »

Otherwise, you'll have to go 3d and discard a lot of your work. Animation in 3d is less memory intensive. However, 3d is much less efficient in terms of computing power, so you'll not be able to render many detailed units.
We actually haven't generated sprites yet, and (like timewarp) our sprites would just be renders of 3D models. So we won't be losing much dataset work by taking the models we have and optimizing them for use in-game instead of rendering them as a sprite.

We may wind up using a combination of prerendered backgrounds and realtime characters, like in Final Fantasy 7.
« Last Edit: June 28, 2006, 12:59:40 pm by Halleck » Logged


Currently working on: Going outside more
Deus Siddis
Enlightened
*****
Offline Offline

Gender: Male
Posts: 1387



View Profile
Re: Project Aqua: SDL vs. Allegro
« Reply #18 on: June 28, 2006, 03:50:42 pm »

Quote
3d is much less efficient in terms of computing power, so you'll not be able to render many detailed units.

With 3D realtime, they must be less detailed as far as geometry, but can be more detailed and smoother as far as animation, for the same system power.  It is a matter vs energy sort of thing. And then you also have the camera rotation and zoom abilities in 3D, that would be very limited in a 2d isometric game.


Quote
So we won't be losing much dataset work by taking the models we have and optimizing them for use in-game instead of rendering them as a sprite.

What is the average poly count for the character models (currently?)
Logged
Halleck
Enlightened
*****
Offline Offline

Gender: Male
Posts: 751


Personal Text


View Profile WWW
Re: Project Aqua: SDL vs. Allegro
« Reply #19 on: June 28, 2006, 04:13:09 pm »

What is the average poly count for the character models (currently?)
Very high. They are currently intented to be used in production renders, not in-game. Lots of subsurfing etc.
Here's an example, the main character mesh which i screencapped in blender (click to enlarge):

and an accompanying render.
Clearly this is extreme overkill for an in-game model that's probably not going to be larger than two inches on the display. This is great for cutscenes or sprites, but lousy if you want to render it in realtime at more than 15 fps...
« Last Edit: June 28, 2006, 04:15:45 pm by Halleck » Logged


Currently working on: Going outside more
Deus Siddis
Enlightened
*****
Offline Offline

Gender: Male
Posts: 1387



View Profile
Re: Project Aqua: SDL vs. Allegro
« Reply #20 on: June 28, 2006, 08:34:00 pm »

Wow, that is a dense mesh.

Was it made entirely in Blender 3D? If so, I wonder if some of your renderings could be submitted as possible blender gallery art. They could maybe have "Project Aqua" in their sigs, as a promotion (if they were accepted.)
Logged
Halleck
Enlightened
*****
Offline Offline

Gender: Male
Posts: 751


Personal Text


View Profile WWW
Re: Project Aqua: SDL vs. Allegro
« Reply #21 on: June 28, 2006, 11:50:59 pm »

Hm, maybe. Our lead character modeller, Lee, (the guy who modelled that) was also a lead artist on blender's project orange, so he could probably get a plug for us.  Grin
« Last Edit: June 29, 2006, 12:37:37 am by Halleck » Logged


Currently working on: Going outside more
Deus Siddis
Enlightened
*****
Offline Offline

Gender: Male
Posts: 1387



View Profile
Re: Project Aqua: SDL vs. Allegro
« Reply #22 on: June 29, 2006, 03:45:18 pm »

Oh. . .well nevermind then. Smiley
Logged
Death 999
Global Moderator
Enlightened
*****
Offline Offline

Gender: Male
Posts: 3872


We did. You did. Yes we can. No.


View Profile
Re: Project Aqua: SDL vs. Allegro
« Reply #23 on: June 30, 2006, 07:24:38 pm »

Here is how SPECTRE works and then why it failed-
**Sprite is basically an array of Quads binded to a seperate texture. Offset is an integer that can be set which tells which indice in the quad array to draw. If you want to have animation you change the offset and no slow-down from blitting occurs. Sprite also has its own transform matrix, a ZDrawOrder variable, and other handy flags.

How many Quads are there? I don't know what a Quad is, but it sounds like there are a lot of them. Or are there just a few, and there are a lot of references to each one? If you have millions of identical references, and fewer than 256 distinct Quads, then you could make an array of them and reference them with a byte index rather than  full object reference. That'd shrink their memory footprint by a factor of 4.

Quote
But our Map's alone can take up to 10 MB in memory,

which map? You didn't mention a map. Bitmap?


Quote
And then the amount of memory for a single character with up to 300 images loaded into memory times however many characters there are on the screen.

300 images loaded into memory per character...  How many distinct animation actions are they going to be executing? Can you cut out some of the middle animation frames?

Quote
Our engine crashes from an out of memory error when loading our larger sized maps(20 megs uncompressed b/c of animation).

If it depends on map size, your design isn't scaling right. Are you loading the whole map background at once? It seems unlikely that people would be teleporting around a lot, so you can load it in segments, any four of which are small enough to be handled easily.
« Last Edit: June 30, 2006, 07:28:05 pm by Death 999 » Logged
Halleck
Enlightened
*****
Offline Offline

Gender: Male
Posts: 751


Personal Text


View Profile WWW
Re: Project Aqua: SDL vs. Allegro
« Reply #24 on: July 06, 2006, 02:16:11 pm »

A little update for those interested...
we are currently prototyping a true 3d engine using irrlicht.

Here's a quick hack of a walkaround map with collision detection and a fixed camera angle:

Most of the game will probably be like this. (Not art-wise, the map and the character are just some stuff from quake.)

Here's the "world map" we've been prototyping, which will allow you to travel between 'floating' continents in an airship:

(Muller and I made the crappy looking models, the cool jet is from vegastrike.)

The plan is to finish these prototypes as proof-of-concepts in order to get a better idea of how to pull this off. If we find that we can do everything we need to do with irrlicht, all 2d plans will be scrapped for good.
« Last Edit: July 06, 2006, 02:20:04 pm by Halleck » Logged


Currently working on: Going outside more
Deus Siddis
Enlightened
*****
Offline Offline

Gender: Male
Posts: 1387



View Profile
Project Aqua: Irrlicht vs. OGRE
« Reply #25 on: July 06, 2006, 05:28:05 pm »

Cool pics. So now I guess it is Irrlicht vs. OGRE.
Logged
Halleck
Enlightened
*****
Offline Offline

Gender: Male
Posts: 751


Personal Text


View Profile WWW
Re: Project Aqua: SDL vs. Allegro
« Reply #26 on: July 06, 2006, 07:12:25 pm »

Cool pics. So now I guess it is Irrlicht vs. OGRE.
Heh, perhaps. Muller finds irrlicht easier to implement than OGRE, although from what I've seen of the two engines, OGRE's a bit more high-end.

Good news, our prototype now compiles flawlessly on OSX:

Hopefully, the only differences you'll see are the title bar and the jpeg compression!
« Last Edit: July 06, 2006, 07:15:41 pm by Halleck » Logged


Currently working on: Going outside more
GeomanNL
*Many bubbles*
***
Offline Offline

Gender: Male
Posts: 167


I love YaBB 1G - SP1!


View Profile
Re: Project Aqua: SDL vs. Allegro
« Reply #27 on: July 07, 2006, 01:21:56 am »

Point of caution: a while back I read that irrlicht didn't support certain 3D effects. Perhaps you should check what it's capabilities are. I read it here :
http://www.mpi-inf.mpg.de/~mheinz/microracer-html/index.html
Logged
Halleck
Enlightened
*****
Offline Offline

Gender: Male
Posts: 751


Personal Text


View Profile WWW
Re: Project Aqua: SDL vs. Allegro
« Reply #28 on: July 07, 2006, 02:06:03 am »

Thanks for the heads up... we'll explore this as we get deeper into the prototyping phase.
Irrlicht has improved since last year's 0.11 release, it's currently at 1.0. Still, some of the major limitations mentioned might still be present.

Also... we don't necessarily need all of the bleeding edge effects, we just need it to look pretty and have reasonable system requirements.
Logged


Currently working on: Going outside more
Pages: 1 [2] Print 
« previous next »
Jump to:  


Login with username, password and session length

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!