Well, this is it: after five months of hard work, I finally reached the first milestone in development.
This means that we have a good number of the game engine that are ready. And that every bug of critical and high importance have been fixed.
First, check out that video:
Let’s take a few minutes to look back at what has been done during the past five months.
One of the most important part of this first milestone is the fully functional inventory management. Developed in a very flexible way, it allows a lot of different uses with very little code.
One of this use is the playable character inventory interface.
It’s very simple, but it’s only the basis for what will be a much better and Fallout-looking inventory management in the future, with details about the objects.
On its current state, it already allows a player to equip objects using mouth / magic / battlesaddles (whatever the item can be used with). We can also drop the object, which will make them appear on the ground. And we can also directly use them on ourself.
Another use is to pick up items from a container (which could be a body or a shelf).
The screenshot also shows how items appearing multiple times in an inventory are showed in a group. What it doesn’t show is that you can move items from one inventory to the other using drag’n’drop (careful developers: needs Panda3D > 1.8.0, otherwise you’ll have to use double-clicks).
Inventories also use the weight statistic coming directly from your SPECIAL character sheet. So you probably won’t be able to fit that crate of rocket launchers between those ammunitions and nuka-cola bottles.
SPECIAL: The Cutie Mark Acquisition Program
The Cutie Mark Acquisition Program, CMAP for short, is our implementation of the SPECIAL statistic system.
The interesting part for developers about it is that it was developed in such a way that, in the near future, it will be separated from the main branch and become a library of its own, allowing other game developer to easily implement SPECIAL in their own game, using the nice MVC architecture and AngelCode scripting of the CMAP.
The CMAP aims to reimplement every characteristics of the traditional Fallout SPECIAL system, and provide an interface similar to those of the three first Fallout (the third being Fallout Tactics, not Fallout 3).
And it’s almost doing all this already: we only miss the skill affinities and the perks. Which are both planned for the next milestone.
The worldmap was always the big scary parts of Fallouts. If you weren’t a good traveler, it was the place of a thousand mutated beast waiting to make a meal out of you. It was also a place of exploring. You would venture deep in the unknown, looking for settlements you would’ve heard of and such.
This is exactly what this worldmap will be about. It works the same way as the good old Fallout one: you get out of a city, the worldmap appear, and you can travel from one city to another, or visit the wasteland places you’ve never seen before.
We still lack the random encounters, the “game clock” synchronization (days and night passes as you wander in the waste), and the terrain speed (you won’t move as fast traveling on mountains than on planes). All these features are planned for the third milestone. Though the current state of the worldmap is already working great, and allows us to already explore and get into cities.
Scripted Non-Playing Characters
Our engine also allows NPC to be scripted, putting the spark of life into these 3D models. Some samples script already show that they can check out for enemies around them, flee when they’re afraid, attack when they’re not… and many other behaviors may be implemented using our scripted AI system.
That screenshot also shows how that system allows AI to start a fight when detecting hostile characters… and eventually die before the might of the playable character.
Those are the most important parts: mostly logical stuff and interfacing with the user. There’s a lot of things I didn’t talk about: script-powered dialogues, data engine, equipping objects, doors, animations, pathfinding, and so on and so on. It’s so much work I can’t put it all in a single post. But all those things are there and ready to be used for the next milestones and, eventually, the final release !
This is pretty much it for the game engine. But of course my work doesn’t stop to simply a game engine: it would be pointless if we couldn’t generate content for it with a proper graphical interface. This is where I introduce to you the game editor:
A few screenshots will be a much better demonstration of what our Game Editor looks like and what feature it provides.
To put it in a few words, level design, item editing, dialog editing and script writing.
Oh, and the dialog editor was designed and mostly developed by Mrakoplaz, kudos to him !
Well. That’s it for the resume. It was a tremendous amount of work to have it all put together, and I believe it is worth the five month and 30 thousands lines of code already spent on it.
I’m going to keep up with the work, and I hope some benevolent souls will chose to make this project theirs as well 🙂 !
Good day fellows !