Jump to content

Technology implementation


Recommended Posts

Transmission sent from: Darth_Malloc

Location: Sith Empire

I have accepted the task of implementing the technologies for the civilizations of 0ad.

My plan is to activate the techs one civilization at a time, fix any observed bugs with the tech implementation, and then release the patch.

It would help me greatly if one of the staff of Wildfire Games would be willing to provide me with a complete version of the intended tech tree, as I intend to implement all technology and unit dependencies, and I would like to be able to use a full tech tree for quick reference.

I am also working on the issue of the Linux build of the map editor crashing when the user tries to save files. For that, I will need to create at least one new C++ header file and one new C++ source file. Is this ok?

End Transmission

Link to comment
Share on other sites

It would help me greatly if one of the staff of Wildfire Games would be willing to provide me with a complete version of the intended tech tree, as I intend to implement all technology and unit dependencies, and I would like to be able to use a full tech tree for quick reference.

Hello Darth, after some discussion it seems the technology tree has not been finalized, in fact what we have to this point is available in the mods data directory (binaries/data/mods/public/technologies/). However I don't think you should tie yourself to that data, because it's due for revisions and highly likely to change. Also see the design document which has some useful information, as on phases. Looks like there is some code for a previous implementation of techs in source/simulation/, just note that old code is totally not compatible with the current engine design :)

Which part of territories did you want to work on? There is unlocking, which basically means a technology or entity becomes available once the player has satisfied some criteria (like researching other techs). The other part is entity stats modification, such as dynamically increasing HP of certain units. Of course they are intertwined, but I think you could focus on one or the other for an initial implementation. Unlocking would be great for a start.

For specifying techs, I would suggest following the XML and inheritance structure we use for entity templates, unless someone knows of a better way. Also you needn't worry about finishing techs all at once, but rather incrementally, such as starting with a simple demonstration of unlocking allowing arbitrary combinations of entities, techs, and civs. With a good implementation it would be trivial for a developer to add, remove, or modify techs as they see fit, once we have the tree designed.

I am also working on the issue of the Linux build of the map editor crashing when the user tries to save files. For that, I will need to create at least one new C++ header file and one new C++ source file. Is this ok?

There's no problem with adding new source files and any patches you submit will be reviewed anyway. Without knowing more information, I can't say whether you should add a new file :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...