Jump to content
  • Advertisement
  • entries
  • comments
  • views

Research & Technology System design and implementation

Sign in to follow this  


A couple of days ago i begun the task of designing the research system, and honestly, I have always been a research nerd (that's also my main job in life, but I am talking of those people that would have loved Civ's technology tree to never reach the annoying Future Tech cause at that point all the research fun was over).


I already had the modifiers integrated in the game engine (even though all zeroed), but it was time to go for the design of the research system. I wanted to have it nerdy, very nerdy, but trying to keep it also interesting for those people that are not real research nerds.

During the last months, i kept a file in which i was noting down ideas about research topics, but now I realized immediately that to plan dependencies and requirements it was vital to have a graphical visualization of it, now other way around

I googled a bit around for some free quick access tool to draw a diagram, and ended up on https://www.draw.io/. It looked easy peasy and usable and I begun trying to use it to build up the technology tree. After a couple of attempts i noticed something that finally woke me up from my dumb moment. The diagrams were saved in XML...mmm...XML....mmmm mmMMMM!!

I took a look at the produced XML, it wasn't the cleanest i had ever seen but it was good enough. The i run to the C# documentation (EiR is built in Unity3d/c#) and took a look at System.Xml. Apparently by using it your executable gets 1 Mb larger, but when in less than 10 minutes i had the first node with the name of the research topic loaded in the game i realized that yes, trading 1 Mb of space with having a 30Kb file with all the research straight from graphical design to the game was absolutely a good, great, no, awesome deal.

A few hours of XML loading refining and expanding the diagram and yes. I am abso-bloody-lutely happy about it.

Now to balance the size of the technology tree, the specifications of each research and costs is gonna be an awfully long work, but that would have been it anyway. But the system itself works like a charm. Here's an example of how it is coming out.


Now the second part : i said I wanted to make the research system interesting also for those people that are not research freaks and don't wanna have to upgrade every single thing manually.
How does research work in EiR? Simple system. Depending on you assets and investments, each turn in the tactical map you receive a certain amount of research points that you can spend in technologies.

Now I begun designing two alternative systems to the "i wanna chose my topics by myself" way.

a) Research goes on automatically according to a queue I will decide before trying to keep it smart and balanced)
b) Player can choose a the order of priorities (Military, Building, Resource gathering, Soldiers, etc..) and the research will go on automatically, according to a queue I will also design before, but balancing a bit of every topic according to the priorities set by the player.

Now, I don't think I re-invented the wheel, but all together i think it is a decent system to quickly and visually design a research system and get it into use. Even if it is complex, the interactions and dependencies are managed visually, so it shall be easier to balance and modify for later.

Here's the first draft of a small part of the research system GUI design


What do you think? Here's how the tree looks so far (still temporary but getting similar to the real one)

In the while, stay tuned with us through :



Sign in to follow this  


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!