[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