A peek at the future
Posted: Sat Apr 28, 2007 9:08 pm
Hey everyone,
I'm up writing a research power-point (I'm doing a 25 minute presentation to a group of professors/grad students on Monday...)
Anyway, that's not the point of this post! I met Thunderhorse last Thursday and he pointed out to me that I'm not doing a great job of keeping you guys updated with what's going on; I promise given a few weeks that will change. But here's what I've been doing.
The next version of the map editor and client will be radically different from a development perspective. I've recoded the entire underlying content system and interfaced it with a script parser--in English, I've made it so that any non-programmer can edit a text file to change models, textures, ground types and almost anything else that shows up in the game! An example of this is as below:
While this might look like jibberish at first sight, I think almost anyone can get the hang of it once it's explained. The "Texture" defines the type of the name that comes next; in this case, the name is the name of textures. Inside the curly braces is information about that texture. The first number is it's unique ID number. Next, after a semicolon, comes the file-name of the texture in quotation marks. After that is the number of horizontal and vertical divisions; for each of the textures shown, there are four parts--two horizontally and two vertically. This just lets the program split up textures so you can use them later.
OK, so what's the big deal, you ask? The power of this system comes from the fact that, by adding another Texture line, you can instantly make the program load another texture--even something completely different! But even more powerful is what you can do afterward. Here's another, similar structure:
This definition adds a whole new ground type to both the map editor, client and server! The definition goes like "GroundType name { (ground type id#); &(textureName); (part of texture); };" If you add your own texture to the definition file, then link it to your own ground type, it will show up in the map editor and the client program instantly! No more waiting to see how your stuff looks in PV. There are similar systems written for the 3D models, and I'm going to implement animated models, special effects, items, and spells this way later.
Don't worry about understanding the specifics of the system; I'm going to write a whole tutorial on how to modify the media file for PV from scratch later.
Karl
I'm up writing a research power-point (I'm doing a 25 minute presentation to a group of professors/grad students on Monday...)
Anyway, that's not the point of this post! I met Thunderhorse last Thursday and he pointed out to me that I'm not doing a great job of keeping you guys updated with what's going on; I promise given a few weeks that will change. But here's what I've been doing.
The next version of the map editor and client will be radically different from a development perspective. I've recoded the entire underlying content system and interfaced it with a script parser--in English, I've made it so that any non-programmer can edit a text file to change models, textures, ground types and almost anything else that shows up in the game! An example of this is as below:
- Code: Select all
Texture grass { 03; "Grass.png"; 2; 2; };
Texture grasdirt { 04; "grasdirt.png"; 2; 2; };
Texture dirtover { 05; "dirtover.png"; 2; 2; };
While this might look like jibberish at first sight, I think almost anyone can get the hang of it once it's explained. The "Texture" defines the type of the name that comes next; in this case, the name is the name of textures. Inside the curly braces is information about that texture. The first number is it's unique ID number. Next, after a semicolon, comes the file-name of the texture in quotation marks. After that is the number of horizontal and vertical divisions; for each of the textures shown, there are four parts--two horizontally and two vertically. This just lets the program split up textures so you can use them later.
OK, so what's the big deal, you ask? The power of this system comes from the fact that, by adding another Texture line, you can instantly make the program load another texture--even something completely different! But even more powerful is what you can do afterward. Here's another, similar structure:
- Code: Select all
GroundType grassType1 { 60; &grass; 0; };
This definition adds a whole new ground type to both the map editor, client and server! The definition goes like "GroundType name { (ground type id#); &(textureName); (part of texture); };" If you add your own texture to the definition file, then link it to your own ground type, it will show up in the map editor and the client program instantly! No more waiting to see how your stuff looks in PV. There are similar systems written for the 3D models, and I'm going to implement animated models, special effects, items, and spells this way later.
Don't worry about understanding the specifics of the system; I'm going to write a whole tutorial on how to modify the media file for PV from scratch later.
Karl