Symphonic recommended the following as a file format for the maps. If you've got any comments/recommendations, this is the thread for it.
View Profile
Re: Blog 03/30/09: The Blind Mapmaker's Guild
« Reply #46 on: April 14, 2009, 09:47:09 AM »
Reply with quoteQuote
Not to belabor the point, I think Squidi is saying that if the project is commercializable as-is then we're doing it wrong - I agree. And; I agree that any procedural generation system with merit will have great commercial value once it is ported to a real game, but we shouldn't be worrying about that anyway.
I am all behind GPL as a license for the code and CC-NC-SA for art.
Implementation Thoughts:
To begin with I think per-tile collisions (ie passable/not-passable) is fine.
I propose a file format along these lines:
struct BlindMapmakersFile
{
int VersionNumber; // this is Version 1
struct V1HeaderStruct
{
int xSize;
int ySize;
} Header;
struct V1TileDictionary
{
int NumTiles;
char TileNames[NumTiles][256]; // null-terminated strings
} TileDictionary;
struct V1MapData
{
struct V1MapCell
{
int Depth; // how many tiles are stacked in this cell (could be a char, how many cells are going to have depth > 255?)
unsigned int Flags; // properties of the cell, passable? wet? on fire? I dunno...
int Tiles[Depth]; // each tile is an offset into TileDictionary.TileNames
} Cells[Header.xSize * Header.ySize];
} Map;
};
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Symphonic recommended the following as a file format for the maps. If you've got any comments/recommendations, this is the thread for it.
View Profile
Re: Blog 03/30/09: The Blind Mapmaker's Guild
« Reply #46 on: April 14, 2009, 09:47:09 AM »
Reply with quoteQuote
Not to belabor the point, I think Squidi is saying that if the project is commercializable as-is then we're doing it wrong - I agree. And; I agree that any procedural generation system with merit will have great commercial value once it is ported to a real game, but we shouldn't be worrying about that anyway.
I am all behind GPL as a license for the code and CC-NC-SA for art.
Implementation Thoughts:
To begin with I think per-tile collisions (ie passable/not-passable) is fine.
I propose a file format along these lines:
struct BlindMapmakersFile
{
int VersionNumber; // this is Version 1
struct V1HeaderStruct
{
int xSize;
int ySize;
} Header;
struct V1TileDictionary
{
int NumTiles;
char TileNames[NumTiles][256]; // null-terminated strings
} TileDictionary;
struct V1MapData
{
struct V1MapCell
{
int Depth; // how many tiles are stacked in this cell (could be a char, how many cells are going to have depth > 255?)
unsigned int Flags; // properties of the cell, passable? wet? on fire? I dunno...
int Tiles[Depth]; // each tile is an offset into TileDictionary.TileNames
} Cells[Header.xSize * Header.ySize];
} Map;
};
Ignore this and use the other Map File Format thread, I copied this over wrong