Pre-Order the Game!

Desura Digital Distribution

Sunday, April 17, 2011

Technologies

I've started work on adding technology data to the game, in the process of doing so, I realized that the way I set it up, I could easily implement racial technologies (technologies that are specific to races). Each empire have its own instance of "Technology Manager", and on game creation, those "Technology Manager" calls Load function that fills their own instance with data from a data file.

I originally planned to have all technologies be available to all races, but I thought, some people would love to set up racial technologies, even if I don't like it. So I'm going ahead and implement the ability of having racial technologies, even though the game won't have any by default. This will be how it works:

Technology Manager will first load in "Default Technologies" that all races will have. When it is done loading, it will call the load function again, but pointing to the race's technology file. It will not overwrite any existing technologies (it will give an error if two technologies have the same name), but rather, it will add to the list of technologies.

Each row of technology data will contain tags (techType, canSteal, canTrade, baseCost, levelsCanResearch, technology specific tags like amount of damage, etc) so you can add, modify, or remove technologies to either the defaults or race's data. If a row is invalid (missing some critical tags or invalid data like letters where numbers should be), it will display a list of invalid data rows after it've loaded, so you can make corrections.

I don't know how flexible this will be in terms of handling special technologies, like stargates, sub space teleporters, and other specials you can put on your ship, since each usually have their own effect. I'll try my best however, but most of the important technologies are in specific categories. So you can easily add a weapon (be it a torpedo, missile, beam, or particle), armor, shield, engine, etc.

My goal for this game is to make it moddable in terms of adding/removing races, technologies, and artwork. The gameplay mechanics will not be able to be modded however, since I'm not good with scripting. The AI will be hardcoded. Maybe in the sequel if this game prove popular enough, I'll research on how to do scripts so you can modify how the game works.

5 comments:

  1. How do you plan to make per level effect? For example damage for laser level 1 and laser level 2.

    In Zvjezdojedac, technologies have no tech specific effect. All they do is provide "tech_lvl" values. Those *_lvl values are used to determine specific effect and available buildings and ship components.

    ReplyDelete
  2. Each technology will have "base" value, like "baseDamage" for weapons, and "incrementAmount" which will determine how much the damage will increase per level. So if a laser cannon have base damage of 5, and increments 3 damage per level, level 3 laser cannon would be 5 + (3 * 2) = 11 damage.

    ReplyDelete
  3. One of the hardest things to do with race specific technologies is Balancing. Unbalanced factions plague most games, and balancing is one of the major factors that made 'Starcraft' so legendary.

    ReplyDelete
  4. Balancing is generally the hardest thing when developing a game. Mostly because you simply have to play whole game to test one choice of numbers. In case of Starcraft it took years.

    ReplyDelete
  5. In general, balancing is one of the hardest things to do because in many cases single balance test requires playing game for the beginning to the end. And even then, results are fuzzy and stochastic. It took years for Blizzard to polish Starcraft and they still, after 12 years, publish patches for it.

    ReplyDelete