Well, I am doing it right this time. The first engine I made is derived from another first engine I made as a school-project. So it makes a lot of reference to it’s first generation engine from which it came and it has to be backward compatible. I need to manually remove all obsolete functions later. This time I am not going for a backward compatibility. I am starting everything from scratch.
For that, I needs to write tools first and am not going to use tools left by the first engine. Bye, bye font generator and PIC format. Here come the SPT format (read Sprite) for picture file, FNT format
(read Font) for Font and GDX format (Game Data in XML) for game data (everything from menu configuration files to custom game data files).
So, for first step, I need to create tools to generate those data. Here is the list:
SPT Image Converter: convert raw image format like png into SPT file. SPT file format not only has just raw image data, it would have alpha buffer, hit-test buffer, and color buffer. It would also have named rectangle marker, custom pivots, animation information, and image compression and automatic pivot adjustment.
Packed Resource File: loading resources by their filename causes a lot of trouble in the past so I gonna use a resource packer and resource meta data to load the resources inside the game. So for example, if I need to load resource with filename “Resource\worker.spt” whose ID is “worker0″ and whose index value is 30, I can load it with ID “worker0″ or index 30. I don’t need to use the actual filename which make replacing graphic easier and less error-prone. And these resources will be packed into a single file. I will not be using the old file packer which pack the entire file structure under the game folder. I will only pack the resources (graphic, sound, game data etc) because they are the files used by the game in most time and don’t need/want for player to edit them. Setting and other file types can stay unpacked and under game folder.
Font Maker: one of the thing I always wanted is a font maker. Right now, making Burmese language game s sucks. It may be because our mother language itself sucks
(haven’t thought of computers at the time of language creation, aren’t we
). Font maker will allow the user to insert any character or add more characters later as needed for localization and we don’t have to recompile the game again whenever the language changes B) And only one font will be loaded for all languages meaning a single font file include all characters for all languages. And they will be loaded only when we need to display a character from specific language – saving a lot of VRAM. Right now, there are separate fonts for separate languages giving me headache for managing multiple language builds
These 3 tools will be created first before actually designing and developing the core engine. Wish me luck