Finally, the GSoC coding period is coming to an end as I finish up my project. In this post I aim to summarize all of the work I have done during the past months.
Anatomy and organ systems
I’ve a developed a basic anatomy system which helps define body parts and their uses for an entity. Damage taken is now also dealt differently depending on the body part hit and the effect it has on the entity. It can easily be extended for human players, animals and even fictional creatures like monsters and zombies. You can find a detailed description of my work in my posts GSoC - Summarising the Anatomy discussions and GSoC - Completing Anatomy.
Genome and Mating of wild animals
I refactored the existing Genome module and added a novel breeding mechanism. I also introduced baby deer and a growth system for animals. I made a new module for mating in animals based on the new breeding mechanism. You can read more about it in GSoC - Baby deer and Mating.
List of contributions
With over 7000 lines of code and 63 commits, and a lot of debugging (which can’t be put down in stats) over the past few months, I have gained a lot more knowledge about the codebase and internal workings of Terasology. Here is a list of the different repositories with the commits I’ve made -
Although most of my work is complete and playable, there are still a few things pending according to my proposal -
- Extend breeding and genetics to plants in SimpleFarming. This is already in progress.
- Integration of Equipment with Anatomy, so that equipment can correspond and apply effects to specific body parts.
- Linking Physical Stats with Anatomy having body parts contribute to the entity’s stats (like legs contributing to speed). Another level of depth can be added by integrating genetics into the mix.
- A flavor module combining Anatomy and breeding. This will come in due time with the addition of some more Anatomy content (hopefully with GCI). This could get integrated into Light and Shadow or a new survival/combat based gameplay module.
The summer was an amazing experience for me. There have been a lot of highs and some lows (read debugging). I ran into some issues with getting multiplayer to work which stretched out the last stages of the project. However, writing code which then comes to life on the screen is an awesome feeling, which makes all of the hard work worth it.
The community has been extremely helpful and the experience was more than I could have asked for. I would definitely love to keep up my involvement with MovingBlocks as a contributor and hopefully as a mentor as well, for the upcoming Google Code In.