Page 1 of 2

prettiness++; prettiness--; (or more graphical options :) )

Posted: Wed Mar 14, 2007 10:50 pm
by marianne
hiya! my first post on this board, so i'll start out saying that i *really* love what this program's done, when i was a little girl i had a BBC Micro (Model B) which i both learned to program on, and played many old cassette games, including the original elite - so i *really* love having a pretty yet faithful recreation of a game i'm all nostalgic about :) currently up to 144 kills and saving for a Boa Class Cruiser, 170,000 credits to go!

anyway, on with the main purpose of this post - i realised that on hardware that supported it, oolite, while already very pretty, could be made a lot prettier. this would probably take quite some coding, maybe enough to justify or work towards a 2.0 release? the specific graphical features i'd like to see (all optional, so as to not make oolite suddenly unrunnable on computers that can handle it as-is but couldn't handle these new things) are:
  • ship textures having lightmaps (for glowy parts!), bumpmaps (for raised/indented sections), and possibly a map for reflectivity if this is even possible (shiny reflective chrome is surely manditory for boy racer ships, and could be a pretty neat effect if used sparingly for other ships)

    similarly, damage textures - laser fire and other damage causing scratches, scorch patterns, holes etc to appear on hulls, which only get removed by maintenance, would be nice to see randomly battered ships flying around :)

    slightly more glowy lasers, with a more smoothed gradient of lightness and transparency, perhaps approaching white in the very centre of the beam? and laser fire being able to briefly light up (reflect off of) the hull/surface of the beam's origin and target (if this already happens, it would be nice to have it a little more noticable)

    slightly more pronounced shield impact effects would also be nice...doesn't even have to be too flashy to work, perhaps just causing more of a diffused energy pattern in a slightly bigger radius from the point of the beam's impact, or a dramatic ripple and/or flash for missiles

    smoother engine trails - more of a gradiented transparency would make a pretty huge difference
related to this, i had *another* thought - i own a sharp zaurus PDA, runs linux, can run X and a pretty normal light desktop linux/bsd, and i'd *love* to be able to play oolite on it, specifically, be able to use the same save files, and possibly OXPs, as the game i run on my desktop, sacrificing graphical prettiness in order to do so...so i thought perhaps the rendering engine could be altered to make some things optional, to allow running oolite on machines without 3D acceleration or much power, like PDAs or older desktop computers - my PDA, or even an old pentium (which my PDA outclasses in terms of processing power for all but floating point) can quite happily run quake, so why not a less pretty - but still the same in terms of gameplay - oolite? therefore, perhaps it should be possible to do the following:
  • turning off textures and using simple filled colour polygons, or turning off texture smoothing, or using lower res textures

    use simplified explosions (sprite based, perhaps?)

    turn off lightsourcing

    (etc)
my basic thought was that all these options, for more prettiness, or for far less prettiness, could be toggleable in one graphics menu that was a sub-menu of the main one. alternatively, a compile-time option could work for PDAs and older computers to turn off the features requiring 3D hardware.

like i said before, these features (at least, the ones for more prettiness) would probably take rather a lot of time and effort to code, but i think they could be really worth it :) an ultra-ultra pretty oolite would be a joy to play, and certainly something to show off for the side of open source community developed games...i'd help with said coding if i could, although right now my C knowledge is limited to not much more than "oooooh, i can take a string of text and write a function to reverse it!", though i'm still learning, and really would love to help if i gain the knowledge necessary to. i don't even know if all i've suggested is possible :) but it would be so nice to see...

anyway, thanks for listening to (or at least, reading) me go on and on about things i'd like to see! you must get plenty of "i want a better oolite!" suggestions, so feel free to ignore mine if they're silly, and do remember that i think oolite is already fantastic as it is, nothing i've said is meant to detract from that :)

marianne ibbotson
http://xmoogle.org

(edited to change the subject line of this post)

Posted: Wed Mar 14, 2007 11:17 pm
by JensAyton
Hi, xmoogle. Flippr said you might be around. (#afpJens)

Most of the stuff you mention is stuff I want to get done. Most of it will have to wait until after a serious refactoring of Oolite, which I intend to start on quite soon but will take at least a few months. I’m referring to the project as Operation Major Surgery. Assuming that actually happens (keep in mind here that I’ve got the attention span of, well, an #afper) spiffing up the graphics capabilities will be the next major project for me.

Actually, some of the effects you mention can be done now, for ships, but only in the Mac version. Specifically, it’s possible to use GLSL fragment shaders, but the game doesn’t provide the information necessary to do normal mapping (and certainly not real reflection mapping). This should be portable, but no-one has yet picked up the task of making it work on Windows and Linux. It also involves writing the actual fragment shader.

What I would like to do – after Major Surgery – is a system where ship designers can specify various effect maps, and the game builds a shader for them. This has the advantage that it can be scaled back to the capabilities of a specific card, and be ported to other shader architectures, and (for some effects) be implemented without shaders as well.

“More glowy lasers” is a reasonably modular project anyone who knows (or wants to learn!) OpenGL could pick up and implement in a day or three. “Smoother engine trails” would be doable, but harder.

The PDA thing… the current model data format has fields for polygon colour, but they’ve not been used for that for a long time and the red field has been appropriated for smoothing groups. I intend to introduce a new format as part of the post-Major Surgery project; adding polygon colours would be simple then, although it would of course also require OXP-makers to use them. Single-colour textureless display wouldn’t be hard, it would just need someone to actually do it. Wireframe would be possible too. Lower-res texture support is basically there already.

Simplified explosions – well, the explosions are essentially sprite-based already.

Basically, it all comes down to needing more code monkeys. :-/

Posted: Wed Mar 14, 2007 11:48 pm
by Cmdr. Maegil
Hi, Marianne.

I just wanted to say I almost put a target on your forehead and marked you for termination :oops:

You see, people tend to become a bit jaded out of all the spammer's pushiness.
It's not mysogeny, you see, but a woman's :shock: name in the author and "prettiness++; prettiness--;" :roll: in the topic of a combat/trading sim just spells "porno spam".
:lol:

Well, now that I've cleared that, be welcome!

Posted: Wed Mar 14, 2007 11:58 pm
by marianne
*giggles insanely* sorry if i confused anyone, guess not everyone will understand my geek humour - variablename++ and variablename-- being the way to increment/decrement a variable by 1 in C - or in other words, "more pretty and less pretty". i'm a bit of a strange girl, and very geeky. as i've often said, boobies don't cause kernel panics :P

oh and thank you for the welcome! :) (sleepy, had to edit this last line in!)

Posted: Thu Mar 15, 2007 12:20 am
by Cmdr. Maegil
/me looks for geeks to the right, then left, then right again
boobies don't cause kernel panics
(wisper) Now that they doesn't seem to be watching, let me tell you a secret: Yes it does. In boobless geeks!
But don't tell them I said so. Fortunately, this place is filled with OXP-making gnome geeks. Are you joining the team?

Posted: Thu Mar 15, 2007 12:46 am
by JensAyton
Cmdr. Maegil wrote:
Fortunately, this place is filled with OXP-making gnome geeks.
And probably some KDE geeks.

Posted: Thu Mar 15, 2007 9:24 am
by marianne
Cmdr. Maegil wrote:
/me looks for geeks to the right, then left, then right again
boobies don't cause kernel panics
(wisper) Now that they doesn't seem to be watching, let me tell you a secret: Yes it does. In boobless geeks!
But don't tell them I said so. Fortunately, this place is filled with OXP-making gnome geeks. Are you joining the team?
ah that isn't kernel panics - that's a clear case of "Segmentation Fault: Drool Overflow". viable patches include looking away if said boobies are bouncing, and walking around with your hand over your eyes. I'd love to join in with helping develop stuff, but my abilities are still somewhat limited, i could maybe have a go at making textures, and if anyone happens to go writing a non-3D-accelerated engine like i suggested, i'll be happy to test it out on my zaurus :) 400MHz ARM XScale CPU, 64MB RAM (yes, RAM, not flash storage :) ) *hides her boobies before they cause any trouble*

Posted: Thu Mar 15, 2007 11:31 am
by Killer Wolf
all good suggestions. i'd like to see more boobies -
dammit, sorry no (who said guys are easily distracted?), i'd like to see transparency options, using alphas in the texture maps so we could do scaffolding/gantry type looks for spacestations etc.
this hardcoded limit of 320 verts and 512 triangles - is that not a bit dated now?

Posted: Thu Mar 15, 2007 12:37 pm
by Captain Hesperus
Killer Wolf wrote:
all good suggestions. i'd like to see more boobies -
dammit, sorry no (who said guys are easily distracted?), i'd like to see transparency options, using alphas in the texture maps so we could do scaffolding/gantry type looks for spacestations etc.
this hardcoded limit of 320 verts and 512 triangles - is that not a bit dated now?
Did someone say 'boobies'?

Welcome to the Boards, Marianne. I look forward to seeing your work on the manual. But please, try not to point out too many of the mistakes I've made. :D

Captain Hesperus

Posted: Thu Mar 15, 2007 4:43 pm
by Arexack_Heretic
moogle! :D

and be welcome.

*proot!*
DSE of Axerack

edit: you guys almost guessed my password. lol.

edit: @Ahruman: IIRC exhaust tails are actually models, are they not?
I remember seeing the dat file.
How do they become transparent? (they are aren't they?)

Posted: Thu Mar 15, 2007 4:51 pm
by JensAyton
Arexack_Heretic wrote:
edit: @Ahruman: IIRC exhaust tails are actually models, are they not?
Not any more. When they were, they were probably special-cased. Also, they’re glowy, and thus use additive blending, which is less problematic than alpha blending.

Posted: Thu Mar 15, 2007 6:41 pm
by Arexack_Heretic
anything similar to 'shayders'?

Posted: Thu Mar 15, 2007 6:47 pm
by Cmdr. Maegil
You guys ought to rethink your pickup quotes...

Posted: Thu Mar 15, 2007 6:53 pm
by Arexack_Heretic
lol
hmm anything obscure can sound like a pickupline. ;)

to think i didnt even mention the pending joyous pouncing of Ahruman on the manual-volunteer....

Posted: Thu Mar 15, 2007 8:20 pm
by JensAyton
Arexack_Heretic wrote:
anything similar to 'shayders'?
No.
Arexack_Heretic wrote:
to think i didnt even mention the pending joyous pouncing of Ahruman on the manual-volunteer....
She was pre-pounced on IRC.