[CF-Devel] FW: rogue like games gfx (info)
Michael Toennies
michael.toennies at nord-com.net
Tue Feb 13 18:27:58 CST 2001
Hi
Big mail i give out to artist who answered me.
I explain the cf animation and tile set in simple words,
so kick me if they not scope the whole reality.
I do it for giving them a quick info... Well, it is some complex
for a new people is alot.
>
-----Original Message-----
>
From: Michael Toennies [mailto:
michael.toennies at nord-com.net
]
>
Sent: Wednesday, February 14, 2001 1:25 AM
>
To: Sebastien Bracquemont [
dweeves at hotmail.com
]
>
Subject: FW: rogue like games gfx
>
>
>
>
>
> -----Original Message-----
>
> From: Michael Toennies [mailto:
michael.toennies at nord-com.net
]
>
> Sent: Wednesday, February 14, 2001 1:00 AM
>
> To: Jaakko Tapani Peltonen
>
> Cc: David [
david_eg at mail.com
]; Mitsuhiro Itakura
>
> [
ita at gold.koma.jaeri.go.jp
]; Hansjoerg Malthaner
>
> [
hansjoerg.malthaner at danet.de
]; Mårten Woxberg [
maxmc at telia.com
]
>
> Subject: RE: rogue like games gfx
>
>
>
>
>
> Ok
>
> First a thanks for all who answer me and give us tiles/permission
>
> to use tiles.
>
>
>
> I give you an overview how CF works and the gfx is included and
>
threaded.
>
>
>
> ** CF is a very very complex engine. They worked since 10 year on
>
> it, i think there are
>
> only a few programs outside with complexer map engines then cf.
>
> So, this will give you only
>
> a overview what can be done **
>
>
>
> Our real problem is, that the maps and the gfx show only x% of
>
> the real potential of the engine.
>
> Thats, what we will change now.
>
>
>
> Plase read the part about the "Animation and Muli Tiles" and the
>
> following in all cases.
>
>
>
> About the CF tile system:
>
> -------------------------
>
>
>
> It is very very flexible. It is multi tiled and animated.
>
>
>
> We use png pictures. We will use palettelized sprites and real
>
> alpha blending in the future,
>
> in fact my client can do it yet, but it is not yet in the server code.
>
>
>
> The single tile is 32x32 pixels.
>
>
>
> You can store the png in any format. 16 colors, 256 colors or
>
> true color - because the open pnglib
>
> every client/programm use can transform them in the right format.
>
> My client use 16bit HiColor
>
> yet. Thats only for speed, because some guys run the client on
>
> pc133. True color will give them no
>
> real better gfx yet but will drop speed.
>
>
>
> ** for rendered true color tiles with more then 256 colors please
>
> use RGB black (0,0,0) as default
>
> color key, for pngs <256 colors please use a 256 palette picture **
>
>
>
> Remember: Because the png 16/256 palettes stores the pixel as
>
> true color pixel of course,
>
> we always have the color information as true color. So , we eat
>
> EVERY color information.
>
>
>
> ** Because the server SENDS the png to the client, the set can
>
> changed "on the fly" **
>
>
>
> The server send every ppl who log in, the tile name and a
>
> checksum for all tiles, he can see on map.
>
> The server use a dirty map for it, so he knows which tile the
>
> user knows and he send it only one time.
>
> This will avoid lag. When the client don't have the tile in cache
>
> folder (from older logins or pre loaded
>
> from a library file) or he has an old tile, client requests the
>
> png from server who send it then to him.
>
>
>
> Map Editor and Random maps
>
> --------------------------
>
>
>
> Maps are worked out with a map editor. CF use a very very complex
>
> real time engine for animate/control
>
> the maps. In fact, you can build crazy complex mashines, which
>
> levers, teleporters, moving bolders,
>
> creators, sensors .... and so on.
>
>
>
> There are maps out, which have so complex "engines" inside player
>
> can trigger to do some, dev team
>
> need weeks to find out how because the guy who created them is gone...
>
>
>
> WHAT WE REALLY NEED:
>
> Is gfx for multi tiles structures. So, big pyramids or some else.
>
> Or terrain with big mountains etc.
>
>
>
> ** in fact you can render a whole map and put it in ' at once' as
>
> one map **
>
>
>
> Because you can put maps easy to a server with new tiles who get
>
> sended to client, you are free to
>
> draw ALL you want.
>
>
>
> btw: every gfx or tile is an object in cf. Every object can be
>
> given all object attributes.
>
> So, a simply floor tiles is the same object then the player -
>
> except he has not the right flags and
>
> the server/client handle it in different cases then.
>
>
>
> But perhaps you can have all times a event, who give a
>
> tile/object new flags and then he will be
>
> threaded then a new object... you got the point?
>
>
>
> We have also a random map generator like nethack or others included.
>
> In fact, in one of the next versions, we will put in the whole
>
> nethack quests.
>
> This will make nethack a kind of CF part ;)
>
>
>
>
>
> Animation and Multi Tiles
>
> -------------------------
>
>
>
> This is easy. To every object (remember, that a simple floor tile
>
> is an object) you attach a gfx -
>
> here a png.
>
>
>
> Lets talk about floor.png as gfx.
>
>
>
> At first, you pre define a standard object which get attacked
>
> with a picture. For the ground it is
>
> the simplest object.
>
>
>
> Now you can extend this object. To animate, you put in a animate cmd.
>
> For this (and for multi tiles) you give the picture this names:
>
>
>
> floor.111.png
>
>
>
> This is the first tile of an animation. Every picture use this
>
> namings, even when there is no
>
> animation. This make it easy to extend a picture with more
>
> animation. Simply add the animation
>
> cmd the the object and put a
>
>
>
> floor.112.png
>
>
>
> in the pic lib. You also put in a speed value and then the client
>
> (or the server) plays the animation.
>
>
>
> first floor.111.png then floor.112.png... This can be extended to
>
> floor.119.png.
>
>
>
> This is only a animation STEP. You can add more STEPS to more
>
> complex animations. This removes the
>
> 10 frame animation limits. Steps are also used for complexer
>
> animation, fo example when you look
>
> in different direction with your player picture. Every step has
>
> then a single animation row...
>
>
>
> Also, you can create multi tiles objects!
>
>
>
> This goes from x=1 to 10 and y=1 to 10. So a 3x4 or a 2x6 or a
>
> 1x9 monster is possible!!!!!!!!
>
>
>
> Lets think about a 2x2 monster. It has 64x64 pixels and is has 4 tiles.
>
>
>
> Positions:
>
>
>
> AB
>
> CD
>
>
>
> This 4 pngs make this monster:
>
>
>
> monster.111.png = A Position
>
> monster.121.png = B ""
>
> monster.211.png = C ""
>
> monster.221.png = D ""
>
>
>
> As you can see, there are the first 2 numbers for: they define
>
> the position of a multi size object.
>
> this will make 320x320 monster possible... We HAVE big demons
>
> with 6x6 inside yet!
>
>
>
> (in later versions, we can change this to 2 chars. like
>
> monster_A.111111.png. This will make
>
> 99x99 tile object with 99 standard animations... but really...
>
> you don't want do draw often a
>
> 600x400 pixel monster with 20 animations :) If you do, we make
>
> the changes asap :)) )
>
>
>
> Now, if you want look this monsters in a different direction (a
>
> different STEP):
>
>
>
> monster2.111.png
>
> monster2.121.png
>
> monster2.211.png
>
> monster2.221.png
>
>
>
> Now the trick: For every tile, you can still use normal frame
>
animation.!
>
>
>
> This for example will let the monster move the head from left
>
to right...
>
> This will be played from default tile animation system.
>
>
>
> monster2.121.png
>
> monster2.122.png
>
> monster2.123.png
>
>
>
> With this system, you can do very very complex situations and
>
animations.
>
>
>
> What that means for an artist?
>
> ------------------------------
>
>
>
> Simply draw sets of animations with the full picture like you
>
> make it for comic movie.
>
>
>
> ** You don't need to cut them in 32x32 tiles!!! **
>
>
>
> Now a guy who has access to a server or the CVS create the object
>
> with animation data for it.
>
> Also, the "cut off" to 32x32 will be done from him.
>
>
>
> ** You can give us every animation you can draw in normal
>
"movie style" **
>
>
>
>
>
> Palettelized Sprites
>
> --------------------
>
>
>
> For the 256 colors we will go to palettelized sprites - means we
>
> change the palette by client
>
> "on the fly". This will end up in the Diablo 2 monsters, where
>
> the special monsters have fancy
>
> colors, but use the same gfx data. Or in Age of Empire, the walls
>
> have a painting in player colors.
>
> There is a mask above them with a changed palette for every player.
>
> CF will do the same. The palettes will pre defined, so many
>
> pngs/monsters can use them.
>
>
>
> Example for a orc having the orc.png as tile:
>
> The server then will tell the client for a palettelized monster
>
> simply: "show tile 'orc.png'
>
> (and use the original palette of this png). For the chief orc,
>
> use same tile, but use palette 5.
>
>
>
> This will then show the orks "normal" because every palettelized
>
> png come with a default palette -
>
> even the one who in the png file. The chief or but will shown in
>
> different colors.
>
>
>
> The "palette 5" palette is nothing more then the png
>
> "palette_5.png". This png has no gfx data (it
>
> has, but it is only a 1,1 picture - the client/server ignore gfx
>
> data). The client safe it and then
>
> he rip of the palette when needed and attach it to other pngs.
>
>
>
> The big big plus of this is, that the information of the
>
> different color styles are in the monster
>
> data NOT in the gfx data. So you can crate a new city, getting
>
> the standard guard but attach in map
>
> editor a different palette to them, so they show up all with blue
>
> shields for example - different from
>
> other citys. Look for Diablo 2 and other games using it for
>
> getting more ideas.
>
>
>
> I talking about this, because i saw in many tile sets the same
>
> monsters in 4-6 different color styles.
>
> Using a set of pre definded palettes with different "ground" and
>
> "changing " colors will rip you off
>
> of all this same gfx. In fact, if you use so a set of pre defined
>
> palettes, you get automatically
>
> the different colors if you draw a new monster/gfx.
>
>
>
> Puh, that was alot.
>
> As you can see, CF is not one of this games "in development".
>
> In fact, we should had given out first 1.0 version 5 years ago.
>
> But the people had so many new ideas, we always go from 95.3 to 95.4...
>
>
>
> CF is more finished yet then some commerzial programs i know.
>
> BTW, iam a professionel game writer.
>
>
>
> cu
>
> Michael
>
>
>
> > -----Original Message-----
>
> > From: Jaakko Tapani Peltonen [mailto:
jtpelto2 at cc.hut.fi
]
>
> > Sent: Tuesday, February 13, 2001 7:34 PM
>
> > To: Michael Toennies
>
> > Subject: Re: rogue like games gfx
>
> >
>
> >
>
> > On Fri, 9 Feb 2001, Michael Toennies wrote:
>
> >
>
> > Hello,
>
> >
>
> > I'm rather tied up with the different versions of NetHack -
>
Falcon's Eye
>
> > for now, but I'll look into the Crossfire when I have time. Judging by
>
> > the screenshots on the website, I believe I could make some
>
improvement
>
> > to the graphics, alghough it depends of course on how flexible the
>
> > graphics engine is. I'll send a concept screenshot of the
>
what the game
>
> > screen could look like, after I've had time to work on it.
>
> >
>
> > Jaakko Peltonen
>
> >
>
> > PS. I'm sorry about the late response.
>
> >
>
> >
>
> >
More information about the crossfire
mailing list