Jump to content

Update Design Document


Recommended Posts

I am a student of computer science and engineering from India . Recently I reported some minor bugs with 0ad like sheep running away too fast , wild animals destroying buildings etc . I thought that these bugs were minor and i could use my limited knowledge of c++ and java-script to sort things out on my own and start to contribute to the project and later on once I have grasped game programming I can help the team add the remaining features which are yet to be implemented . But the moment I looked at the design document and then tried getting to grips with the code i was in splits banger.gif . I found it very difficult just to navigate and find which part of the source code contained which features of the game . Everything seemed muddled up . I was unable to abstract the sections of the code which i would have to modify . As a result I gave up and left it to experienced developers to correct the bug's . Now I personally feel that it is essential to have a thorough design document . The design document should contain the following .

1. All the current and proposed features of the game in detail .

2. Detailed explanation of how each and every current features are implemented .

3. Where in the source code are the features implemented like which folders , sub-folders files corresponding to which features of the game .

4. How have they been implemented using c++ , java-script and XML etc .

5. Future scope of improvement and implementation of yet to be implemented features .

If the above mentioned improvements are done then it will become much easier for new programmers to contribute the project . This will be especially help full to 0ad as it can access the vast pool of students who have a lot more free time on there hands especially during the summer and winter vacations . I am sure many students would not mind working 6 to 7 hours a day for a couple of months in a year to help complete the 0ad and there learn a lot about gamee programming . This would also help issues such as manpower turnover by allowing new developers to quickly come to grasp with the project . I hope you will consider my suggestion .

Edited by ac892006
Link to comment
Share on other sites

It would be helpful if someone familiar with the game and how the vision has changed over time would put a notice on the outdated pages of the DD, and possibly add them to a list of pages requiring work. Fully bringing the DD up to date will be time-consuming but this is a good first step.

Aren't Jeru and Erik scheduled to do this?
Link to comment
Share on other sites

Aren't Jeru and Erik scheduled to do this?

Yes. For now think of all pages except the Civ pages as outdated :P The structures page should be generally up-to-date as well, though specifics vary (i.e. the stats are not exactly like that, it's mostly the houses that vary from civ to civ and similar).

Link to comment
Share on other sites

I know it would be difficult to update the entire design document overnight but I think you should divide the document into sections and update it gradually . Once a section of the design document has been updated all patch submission or all code alterations must be accompanied by adequate documentation and alteration to design document , otherwise it would only be a matter of time before the design document would go out of date again . I humbly suggest that initially you could start by updating the design documentation relating to the various plethora of xml files such unit attributes , behaviour etc .

Link to comment
Share on other sites

I know it would be difficult to update the entire design document overnight but I think you should divide the document into sections and update it gradually . Once a section of the design document has been updated all patch submission or all code alterations must be accompanied by adequate documentation and alteration to design document , otherwise it would only be a matter of time before the design document would go out of date again . I humbly suggest that initially you could start by updating the design documentation relating to the various plethora of xml files such unit attributes , behaviour etc .

That would be this page: http://svn.wildfiregames.com/entity-docs/

Link to comment
Share on other sites

thanks . But I have another request a searchable list of which folder or file contains what type of data , info etc . This would be really helpful otherwise as of now people just ask about in the forums or quake-net where can i find this or that etc . Example suppose i want to stop lions from attacking buildings so i need lion unit xml file so where is it ? Search in search box and wala here it is .

Link to comment
Share on other sites

thanks . But I have another request a searchable list of which folder or file contains what type of data , info etc . This would be really helpful otherwise as of now people just ask about in the forums or quake-net where can i find this or that etc . Example suppose i want to stop lions from attacking buildings so i need lion unit xml file so where is it ? Search in search box and wala here it is .

One thing you can try is using a text search on the 0AD folders. If you have a search that does indexing this can be very fast. Also all the data about any entity in the game is in the binaries/data/mods/public/simulation/templates folder. The rest is mainly source code with javascript stuff being in binaries/data/mods/public/simulation/ and the C++ source has a wiki page here but I don't know how accurate it is.

It would be nice to unify it but I think a searchable system would be too much effort since you can do text search anyway on your computer.

Link to comment
Share on other sites

One thing you can try is using a text search on the 0AD folders. If you have a search that does indexing this can be very fast. Also all the data about any entity in the game is in the binaries/data/mods/public/simulation/templates folder. The rest is mainly source code with javascript stuff being in binaries/data/mods/public/simulation/ and the C++ source has a wiki page here but I don't know how accurate it is.

It would be nice to unify it but I think a searchable system would be too much effort since you can do text search anyway on your computer.

I completely agree with you but at-least we should have a list of which part of the source does what work and is in which folder . Once such a list is created we can do a simple text search even browser these days have such facilities (either inbuilt or with add on's or extensions etc)

Link to comment
Share on other sites

I agree with the OP. I think the game is really neat. I'm a computer science student at City College in New York. I work on machine learning for satellite data. I'd like to contribute to the project the but the documentation is working against me. If you truly and honestly want more people to contribute you need to make the documentation your number one priority until it is very polished and easy to use otherwise we are all going to give up. I'm married and have precious free time. I don't want to spend six months wandering through the source code figuring out things that should be clearly documented before I can make any useful contributions.

Link to comment
Share on other sites

  • 2 weeks later...

I am a student of computer science and engineering from India . Recently I reported some minor bugs with 0ad like sheep running away too fast , wild animals destroying buildings etc . I thought that these bugs were minor and i could use my limited knowledge of c++ and java-script to sort things out on my own and start to contribute to the project and later on once I have grasped game programming I can help the team add the remaining features which are yet to be implemented . But the moment I looked at the design document and then tried getting to grips with the code i was in splits banger.gif . I found it very difficult just to navigate and find which part of the source code contained which features of the game . Everything seemed muddled up . I was unable to abstract the sections of the code which i would have to modify . As a result I gave up and left it to experienced developers to correct the bug's . Now I personally feel that it is essential to have a thorough design document . The design document should contain the following .

1. All the current and proposed features of the game in detail .

2. Detailed explanation of how each and every current features are implemented .

3. Where in the source code are the features implemented like which folders , sub-folders files corresponding to which features of the game .

4. How have they been implemented using c++ , java-script and XML etc .

5. Future scope of improvement and implementation of yet to be implemented features .

If the above mentioned improvements are done then it will become much easier for new programmers to contribute the project . This will be especially help full to 0ad as it can access the vast pool of students who have a lot more free time on there hands especially during the summer and winter vacations . I am sure many students would not mind working 6 to 7 hours a day for a couple of months in a year to help complete the 0ad and there learn a lot about gamee programming . This would also help issues such as manpower turnover by allowing new developers to quickly come to grasp with the project . I hope you will consider my suggestion .

The DD certainly does need some work, but in the short term have you tried getting in touch with the devs via IRC? It's #0ad-dev on quakenet.

It would be helpful if someone familiar with the game and how the vision has changed over time would put a notice on the outdated pages of the DD, and possibly add them to a list of pages requiring work. Fully bringing the DD up to date will be time-consuming but this is a good first step.

Aren't Jeru and Erik scheduled to do this?

Yes. For now think of all pages except the Civ pages as outdated :P The structures page should be generally up-to-date as well, though specifics vary (i.e. the stats are not exactly like that, it's mostly the houses that vary from civ to civ and similar).

Well actually the file locations are pretty straight forward. If you want to edit an entity, you go to simulation/templates/fauna/lion (or something like that) :)

One thing you can try is using a text search on the 0AD folders. If you have a search that does indexing this can be very fast. Also all the data about any entity in the game is in the binaries/data/mods/public/simulation/templates folder. The rest is mainly source code with javascript stuff being in binaries/data/mods/public/simulation/ and the C++ source has a wiki page here but I don't know how accurate it is.

It would be nice to unify it but I think a searchable system would be too much effort since you can do text search anyway on your computer.

I know the documentation is a problem here, just jump into IRC.

The people there are quite helpful.

So can any one tell me which parts of the documentation is up to date as of today . posting links to it would be even better .

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...