In this topic I would like to start talking about the way the game is implemented as it is directly related to modding.
Well, essentially
the game IS a mod for the engine. It uses available API to create the entire game. There is nothing that is hidden from the players.
The entire
core.cpk package is a
VisualStudio Project with EVERYTHING we have. It is completely open to the players. Every single game system is
100% open-source 
If you remember we tried to do something similar with VoidExpanse, but it is not even close. There we had some parts of the game as scripts to allow modding, but ultimately it proved to much hassle, impossible to debug, etc. and in the end VoidExpanse didn't see many big mods. With this, however, it is extremely easy to develop. You just take an empty project (that we will prepare beforehand) and start coding with all the nice things available in Visual Studio. Autocomplete, debugging, live-editing (yes, the game will be running and you can edit the code live), etc. And yes, it is C#, not some crappy Lua or JavaScript

We wield the power of real C# here!
You can read a bit more about the engine here:
http://wiki.atomictorch.com/Renkei_EngineAnyway, let's take a look at how the project is structured.

We are using the same notations as in our previous games, so it should be self explanatory. But let's go over everything.
Content - Contains folders for all in-game content. That includes the graphics, music, sounds, etc.
Data - Different data files, such as localization. Well, to be honest for now it is only the localization

, but we might include some other things if needed.
LibsGameAPI - This is needed to compile the project. Different DLLs, you don't need to worry about it
Scripts - This folder contains the actual game logic. Everything is here. Everything related to how the game works is here.
UI - Again, should be quite self explanatory. This folder simply contains XAML definitions for different UI elements in the game.
As for files, there are only two that are interesting for us.
header.xml - This is the mod definition file, it is exactly the same as in VoidExpanses. It lists the author, version of the mod and other such things.
AtomicTorch.CBND.CoreMod.sln - this is the actual project file that can be opened in the Visual Studio.
Now let's take a look how certain elements in the game are actually implemented.
Ammo implementation.

There are a few interesting elements here. First - there is no logic in this file. It is only definition for the particular item. In this case it is 10mm ammo. The logic is actually contained in the
ProtoItemAmmo file. We have many of these proto files. This allows us to reuse the same logic for many items, rather than creating tons of files with and without logic on the same level of hierarchy.
You can obviously inherit from these proto files for your items. Just to be clear - all that is opensource, so you can take a look what's inside and create your own proto files.
Next, this item also implements an empty interface
IAmmoCaliber10 - this essentially means that it can be used with any weapon that accepts 10mm ammo. It allows us to have many-to-many relation between ammo and weapons. There could be many types of ammo (standard, expansive, ammo piercing, etc.) and many weapons that use that ammo.
Okay, let's take a look at the following code now. As you can see, it simply specifies the properties for that specific item. In this case it is an ammo-piercing bullet that deals 15 damage upon hitting the target. And its type of damage is set as impact+kinetic. There are many other properties that can be specified if necessary.
And here is another example. This time for a berry bush.

As you can see it also inherits from the proto class and specifies the necessary properties.
We put testing values there for now, but as you can see it means that the berry bush grows 10 seconds and then bears berries every other 10 seconds from there. Later it will obviously have more realistic values.