[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [liquidwar-user] Re: Liquid War tenth birthday

From: Christian Mauduit
Subject: Re: [liquidwar-user] Re: Liquid War tenth birthday
Date: Thu, 21 Jul 2005 10:35:49 +0200 (CEST)
User-agent: SquirrelMail/1.4.4

On Sat, July 9, 2005 3:31 am, Kasper Hviid said:
> On 7/5/05, Christian Mauduit <address@hidden> wrote:
> 1) The level textures has the same size as the games standard
> resolution (800x600?). As long as the user sticks to the standard
> resolution, the textures won't be resized. At highter resolution, the
> graphic will just be upsampled.
> 2) The level textures has the same size as the games recommended
> resolution (1024x768?). Setting the resolution higher than the
> standard resolution gives the graphic more details. But the game will
> also be a heavier download.
> I'm not quite sure how big the textures should be. I LW5, big textures
> would often slow the game down.
mmm, what I'm planning is even more than switchable resolution, it's
simply a resizeable window. Of course in fullscreen mode you'll end up
with 800x600 or 1024x768 or 1280x1024 and so on. But basically, we
shouldn't expect any resolution to be better than another.

How can this be achieved?

1) use scalable font. The solution I imagine is using a hudge .ttf (True
Type) font. Let's say 72 pixels. I draw letters on an internal bitmap.
Then this bitmap is used as a texture in OpenGL, et voilà, font is
displayed/scaled to a reasonnable size, according to the current viewport
2) use vectorial stuff as much as possible. Basically when thinking of LW6
graphics, I always try to think in term of lines, planes (in 2D or 3D,
doesn't make so much difference) and then we'll apply textures to that.
This applies pretty well to most aspects in the game I think, including
cursors, "liquid level", and so on.
3) as for LW5, do not rely on the internal map resolution but always scale
it to fit the screen, or a fixed portion of the screen.

> I am interested! Speaking of text, it would be nice if the font in LW6
> had foreign characters like æøåö.
Yep, they'll be supported since I'll use an external .ttf file and not a
built-in home-made ugly custom font.

What I've decided today is that display will be composed of 3 parts:
1 - the background, basically a texture or some hudge bitmap, could
possibly be enhanced with effects (3D perspective, translation, rotation,
underwater effect,...) or various animations.
2 - the actual battlefield, with system information on its side (time
left, network feedback...). A possible option is to decide that every map
is a square, this leaves room on the right/left to fit these informations
within a classical 4/3 screen. Liquid War 1 & 2 did that. If a map isn't a
square, we could always stretch or pad it.
3 - the menus. The menus will be displayed "over" the battlefield. I mean
it will be possible to fire the menus in-game, do some tuning stuff, then
come back to the game. And in a network game, you need the game to keep
going in the background... U61 does this (not very original though...).

So in short, 3 items are stacked: background, battlefield, menus.

What's not decided is how each part will look exactly.

FYI, the short-term needed things for LW will be:
- some sort of background. It might only be a 2048x2048 tileable texture.
Think of it as a general background image. Should the game be a space ship
battle I would draw planets and stars randomly. Should it be a doom-like
there would be clouds and stuff. Now what fits for Liquid War? Fishes?
Some ocean-like stuff? Old XVIIIth century battleships? I have no definite
idea. So any idea is welcome.
- a set of colors. I mean: ideas on which color to use for the font. A
special color for hilighted text? And then do we use a special color to
draw a "level border" or to display in-game information (time left, liquid
- other ideas on how to articulate all this. For instance I would imagine
than when the menu is displayed, everything in the background is darker.
But you could imagine that it becomes lighter, if we write in dark on a
light background. Or even, we could make everything in the background look
blueish and write in a color that sticks out well when put on blue.

Keep in mind that with OpenGL operations like:
- redrawing and moving everything at each refresh
- transparency, alpha blending, colorization
- fog & lights  effects
- scaling/stretching, rotations
are pretty straight forward and not very time consuming. At least as long
as you go the OpenGL route you need a driver and hardware acceleration. If
you don't have it it will be slow no matter how simple your display is. If
you have it it will run at a correct speed even with complicated effects.
Liquid War is sufficiently simple so that we don't risk awfully slow
display. And on the other hand it's, despite its apparent simplicity, a
heavy CPU consumer (I suspect the recent relative success of the game is
due to the powerfull modern CPUs which make it run like a breeze compared
to what it was with my antique S86 SX16), so a few cycles from the GPU
won't make a difference when the CPU is collapsed.

My idea is that the best way to proceed now is to sketch stuff with Gimp
or Blender or whatever good graphical tool there is. Simply draw it and
send it on this list (if it's small enough) or on my email. As a side
effect, having some actual drawings might be interesting for putting on
the website to say: "hey guys, here's how it will look like, pretty cool

Then I'll work on the question of "how to make that a reality in LW6",
with code and all the required stuff. It's a chance that there's not much
code yet in LW6: everything is still possible 8-) There's room for

In the long run, we'll need other graphical stuff, like new "cursors", 
ideas to implement the more complex menus like the map chooser, maybe an
introduction video, in-game animations, but well, for now, it's not

> Maybe the levels should be kept as .png files instead of being built
> into the binary? It would make it possible for gamers to see how the
> levels works, or recycle them in their own levels.
Choice for LW6: every graphics as .png, sounds as .ogg, musics in Csound
format if I get it to work, fonts in .ttf, and in a general manner
everything in plain easy to understand folder structure. No .dat.

And, hey, FYI I set up recently a script which packages every night the
latest Liquid War 6 (and Liquid War 5 as well) source. Of course there's
not much in LW6 yet, more like an empty box.

Available on



Christian Mauduit <address@hidden>     __/\__ ___
                                        \~/ ~/(`_ \   ___                   /_o _\   \ \_/ _ \_            \/      \___/ \__)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]