Standardized Graphics/Graphics Engine

All development of pixel art, maps and other graphics.


Post Reply
User avatar
krismichael
Novice
Novice
Posts: 79
Joined: 29 Jul 2004, 11:17
Location: California (USA) + Tokyo (Japan)
Contact:

Standardized Graphics/Graphics Engine

Post by krismichael »

STANDARDIZED GRAPHICS/GRAPHICS ENGINE

I know we've talked out it before a bit but I want to re-open this discussion to help gets things back on track and get things moving along.

What would help the overall development process go quicker is if the graphics guys/gals where working on their own without having to wait for programmers and vice versa.

We need to setup a standard way for graphics to be included into the game (if it isn't already). We need to them post those specs and stick to them.

We have a few Tile Set templates and even avatar templates floating around but that isn't enough.

Here is what I propose:

The general naming convention for ALL graphics to be included in the game would be the following:

gfx_[category]_[subcategory]_[type]_[detail]_[id].bmp (id is 8 digits)

When we release a version we would package all graphics into a single data file called gfx_[release-number].dat (release numbers would be 8 digits)

Graphics that are included as patches, updates, or individual downloads would be called gfx_hot_[release-number]_[category]_[subcategory]_[type]_[detail]_[id].bmp

These to would be packed into a single data file titled gfx_hot_[release-number].dat

Programmers

When the game loads the engine searches the directory where graphics are located and loads gfx_[release-number].dat files first then gfx_hot_[release-number].dat files.

Currently the graphics are located in Graphics directory. I would like to change that directory to data/gfx

I would also suggest moving Sound directory to data/sound

We can discuss the other directories at a later time.

When a player enters a new game/server the application/game requests any new graphics packages from the server and those are downloaded (gfx_hot_[release-number].dat)

Designers

When creating graphics for the game you should first look at the most current graphics files and work from those using them as a template.

All graphics will be organized as follows:

gfx_main.bmp ? This contains the main graphics for things like loading screens, server login information, icons, etc. Stuff that isn?t specific to any other category yet can be found throughout the game.

gfx_text_[detail]_[id].bmp ? These are the Bitmaps that contain Text. In the detail field you would include the purpose of the text. For example text that is used for chat features would be gfx_text_chat_[id].bmp.

gfx_ui_[id].bmp ? This is the Bitmap file that contains all user interface information. For now we should only have 1 Bitmap file of this type. Later when the game becomes more customizable we might have other versions which would be ?skins? for the user interface.

gfx_character_[sub-category]_[type]_[detail]_[id].bmp ? This is for ALL characters in the game including players, avatars, and NPCs. Playing characters (i.e. characters you as a player can select to use) are gfx_character_player_[type]_[detail]_[id].bmp. Type would be the characters race (human, elf, etc) and detail would be the character?s gender (male, female, other). For NPCs you would use gfx_character_npc_[type]_[detail]_[id].bmp. For monsters you would use gfx_character_monster_[type]_[detail]_[id].bmp. With this naming system we can introduce new types of characters into the game as well such as bosses and special characters.

gfx_inventory_[sub-category]_[type]_[detail]_[id].bmp ? This is for inventory graphics such as weapons, gold, books, etc. I can?t go into too much detail right now because we need to first create some inventory items but the naming would work like this. gfx_inventory_weapons_[type]_[detail]_[id].bmp would be for weapons. Type would be hand-help or ranged weapons, etc. Detail would be the class of weapon such as long sword, etc.

gfx_environment_[sub-category]_[type]_[detail]_[id].bmp ? This is for all world tiles including dirt, water, buildings, plants, etc. gfx_environment_forest_[type]_[detail]_[id].bmp would be for the forest tiles. Type would be things like dark forest, normal forest, burning forest, etc. Detail would be the specific types of files on the Bitmap in case of special situations where we have lots of buildings or objects and need to break up the Bitmap into a few different pieces.

gfx_objects_[sub-category]_[type]_[detail]_[id].bmp ? There aren?t any right now but these would be things like boxes, ladders, rocks, and anything else that use you can find anywhere throughout the game no matter what kind of environment you are in.
It's not my fault I'm new here! :)
User avatar
Shura
Novice
Novice
Posts: 96
Joined: 15 Jun 2004, 01:36

Post by Shura »

well first of all thx for the presentation of a new concept. even tho it'll be another additional effort i'm sure this type of storage will give us quite some advantages.

atm we have a quite similar way of doing things, tho it'll bloat our directory trees or just produce a mess when not taken care of correctly. basicly it goes like this:

everymap (*.gat) is related to a certain data file which then contains the tileset to be used, animated sprites a.s.o. currently there is only one datafile that both maps which are in the game link to. so far there was no reason to expand this but it will come as soon as we have more than just 1 type of area and a bigger amount of monsters.

if i get this right u were talking about having several major datafiles which contain all items of a certain kind. w/ the current system that will not be possible w/o keeping an external hashtable that can reference to indexed items within different datafiles as far as i know.
Don't argue with idiots. They drag you down to their level and beat you with experience.
User avatar
krismichael
Novice
Novice
Posts: 79
Joined: 29 Jul 2004, 11:17
Location: California (USA) + Tokyo (Japan)
Contact:

Post by krismichael »

Well perhaps we can come up with some kind of hybrid solution. Based on the way things are done now we will come up with problems not only in game performance when the game gets bigger but development problems as well.

For example, say I want to change the look of one character in the game or even add a whole new character. We need a way that makes it easy for a designer to make changes or even add new elements into the game without having to bother the programmers to re-do work, change code, etc.

We also need to prevent designers from changing someone else's work.

Again maybe we can have a discussion of how to improve what we already have without making too much extra work for everybody.

Any thoughts?
It's not my fault I'm new here! :)
Post Reply