Cutie Mark Acquisition Program

Hello !

It’s been a very busy month, but I still managed to do a lot of work for this project ! And most of all, I created the Cutie Mark Acquisition Program (if the name doesn’t ring a bell, you should probably go check out Friendship is Witchcraft right now).

But what is the Cutie Mark Acquisition Program ?
Well, when Fallout was first created, the most awesome statistic system was designed so that players could create their own characters, describe them and make them evolve. Some of the rules of this system changed, but it kind of stayed the same (Special points, statistics, skills and perks always stayed).
Despite the awesomeness of the Special system, it has only been used in a few Black Isle Studio games (Fallout, for which is was made for, and Lionheart). After buying the Fallout license, Bethesda Studio mainly sticked to Special, though they tweaked it a little bit.

But enough of history.
The Cutie Mark Acquisition Program is our implementation of Special. Mainly, it’s a little library that should allow any game developer to include a Special statistic system in his game: it uses
– C++ for the main runtime (an elegant MVC architecture, where the view is an interface. We also provide an implementation of the view using libRocket).
– JSON for describing statistics, perks, and recording characters sheet
– AngelScript for scripting the rules (such as relations between a trait and statistics/skills/special, and so on)

Right now, our system is based on a mix of the Fallout 2 and Fallout Tactics implementations of Special, with some minor changes to make it work in a unicorn-populated land.

I did my best, but the lack of interface designer, again, make it look like quite ugly.
However it works quite well: every statistic you see there is computed with our system, based on Special statistics and Traits.

This screenshot is displaying one of the three possible states of the character sheet that Fallout players must know very well: this is the character creation state (you can change name, age, race, set your special points and your traits).
The two other modes are implemented as well:
– the displaying mode, on which you can only check out your statistics, perks, and check out your experience points and how much you need for the next level.
– the level up mode, on which you can assign your newly gained skill points.

What is left to be done is the dialog that allows you to pick perks when they’re available.

On other news:
– The new system for selecting which waypoint is under the mouse is finally ready, and supports the multiple floors. Yay !
– The game can be load and saved from a level or the worldmap. It’s not completly ready yet, but we’re almost there.
– I’ve been working on an actual drag’n’drop for moving items from an inventory to another.

Oh and also…
We just reached the 30 000 lines of code.

Catch you later folks !

Advertisements

To the moon !

Onwards and upwards gentlecolts and fillies !

I’ve been working a bit last week-end and I bring fond news about the state of the engine’s development. Indeed, it now brings support for multiple floors !
We can now get up and up and up and up… until the moon and even the stars.

How does it look ?
Well, when you get to another level, the camera smoothly moves up or down, while the upper and lower floors fade away and the current one appears.
For performance issues, all other levels can be hidden: this will most likely improve rendering performance a lot with the weakest configurations, so this behavior will stay as an option. But I’m also working on a better behavior, only hiding the upper floors, and only if they are in the way between the player and the camera.

Well.
A few other stuff happened, mostly work on the interface: the pieces are coming together better than expected. If only we had more graphical assets, we would probably be able to show off a little good looking demo of the engine.
Looks like we’ll have to settle for an ugly-looking demo 😉 !