Dialogues

Good day everypony !

Today I’ll introduce you to the first bits of the Game Editor, along with the dialog system.

Our dialogs are composed of a dialog file in JSON and a script giving him life. It uses a very simple system using dialog nodes and hooks, behaving like this :
1. A init hook let the script define which node should be used to start the dialog.
2. The possible answers are gathered from the node. Each of them have a Available Hook that determines if the player can use them or not.
3. The player select an answer :
— if the answer has a HookExecute, the corresponding script function is executed and define the next node.
— else, if the answer has a DefaultAnswer, it is used to define the next node.
4. If a next node has been defined, back to step 2. Else, the dialog is over.

The script and nodes can be edited from the Game Editor, and this behaviour is already supported in the game itself. Have a few screenshots :

The dialog editor from the Game Editor. On the left, you can create dialog, and on the right, you can add node to them, and add answers to each node. Changes are saved on the fly.

The script editor. On the left, scripts are sorted by types (dialogs, quests and AI). On the right, the editor allows you to edit the script, save it, close it. It supports every feature expected from an IDE (except for syntax check and auto-completion).

Last but not least, the in-game result of the dialog shown in the two previous screenshots.  Just as specified, the two first answers appear, and the last one, who had a HookAvailable returning false, doesn’t.
Once internationalization support will be ready, the “key” values used here to point to nodes and answers will be replaced by a text in the language selected by the player.

That’s it for today !

Do robot ponies dream of electronic bunnies ?

News ! Despite what I stated in the original plan, we will finally make use of a scripting engine : AngelScript and so easy to implement that I just can’t argue against it (plus it’s semi-interpreted and strongly typed : which means performance and easier connecting with the game engine code).

In fact, I worked on it last night and we already have the basis running : NPC’s AI can already run from scripts, which will greatly ease our work (no more compiling yay~) !
This is also the first step for developing our data engine, which we decided would use scripts for dialogues and quests purposes.

And even more than that, there is now a debug console implemented in the game, like in every good game engine ! It’s gonna be of great help while developing/debugging the game itself.
Furthermore, the scripting capabilities will make it even easier for whoever wants to make a sequel to do so. The way I see it, it should even be possible to do so without having to compile a single time. And that, my good sirs, is pretty good news.

To conclude this post, have a look at the in-game console :

Connections

Get ready folks, this one should be a bit longer than usual.

First of all, I started working on the interfaces using  the libRocket (well, more accurately, I’m learning how to use libRocket : despite the awesomeness, it’s not as easy as it looks like). Since we don’t have any 2d designer working on the interface, it’s only conceptual now but the following screenshots in these post should at least show you the beginnings of the main bar (and we also have a functional menu, but it won’t be showed here).

The second thing I’ve been working on is lighting : the tools for a day/night cycle are now developed and functionals. And I also played a little bit with some other kind of lights (like the halo that glowed around the main character in the first Fallouts). Check it out on your right.
I find these kind of lights very well rendered, and I’m sure they will create quite the ambiance once our cities will be filled with them. There’s still a lot of technical work to avoid a too big amount of lights being costly to the FPS, but I already have plans for that.

On a whole other matter, I’ve also worked and successfully implemented collision checks that allow us to do two very important things :
– Check if a character is in range of a weapon
– Check if a character has a line of sight on another character

The next screenshot will show you how it works (kinda). The rays and spheres aren’t showed in the game of course, I was displaying them for debug purposes.

The next step for this is too work on the fields of view, and detection of a character for another one. For this one however, I’ll probably not use any 3D collision detecting. Some trigonometry of my own should do the trick for the detection zone, and the line of sight method will be used to know if someone really is inside the field of view of a character or not.

Sooo that’s a lot of work already.
And furthermore, I also worked on the pathfinding and made it spotless. This is all going so much quicker than expected !

Good day !

Hope Springs

Good morning ! A lot of news today for a lot of things happened in the course of yesterday.

First of all, it’s official, there are now two of us working on this project : Mrakoplaz, who shared the idea of making a Fallout Equestria, found this project out and decided to join forces. Luckily we use the same technologies (C++ and Panda3D), so we’ll be able to quickly get some work done.

His arrival also pressed me  to create a git repository for the project, so here it is :
http://code.google.com/p/fallout-equestria/
This will reflect the current state of development. To compile, you need nothing more than Panda3D 1.8.0 and GCC (It should also work with VC, but this is yet to be confirmed. Getting it to be VC compliant was a bit hard since it doesn’t support C++11’s variadic templates… curse you Microsoft !).

And finally, last but not least, I developed a whole new pathfinding system based on Justin Heyes-Jones’s implementation of A* : it will always find the best way very quickly, while supporting every feature of the old pathfinding (e.g: we use a grid, but connecting cases using arcs, each arc having its own weight).

Stuck

New progresses in the engine : as predicted, interactions with objects are now almost done, which allowed me to implement the first doors.

Along with that I also implemented the first pieces of items and inventory management : it is now possible to pick up items from the ground.

I have a quite busy week and won’t be able to do much for the next few days.
But for when I find the time : next on the schedule are improvement of the pathfinding system, considerations about field of views, and interfaces for inventory management.


EDIT: Oh, and I also managed to do the ceilings today : again, same system as in Fallout, when you get under a ceiling, all the ceiling smoothly fade away, and appear again when you’re out. I have a few ideas to improve it in order to make the maps way more gorgeous, more detail on this once I’m done 🙂 !

Subject 00

Howdy ! So this is the first post about the progresses of the development : I’ll try to make a few of them every once in a while when I have time.
Since I just started development three days ago, I don’t have much to show yet, but I still have two screenshots and a few thing to talk about.

To your left you have a demonstration of tilemap rendering.
Ground, walls and ceilings will work just as they did in the two first Fallout. Right now and it’s probably here to stay, maps and all their details are stored in JSON files.

The camera watches the map from above, with a slightly inclined angle : I plan on using a few camera effects, maybe for fights and dialogue scenes.

You can also see two pandas on the map : as of now, they are the earliest implementation of the game’s Characters. There’s already a few features implemented on them, the most important one being pathfinding (Dijkstra with limited depth).

And the second visible feature for these characters appears in the next screenshot : this is the contextual menu that appears when you try to interact with other characters.
Mouse interactions work exactly the same way as in Fallout : the cursor has two modes (regular and interaction), and you swap between one mode and another with a right click.

In interaction mode, if you click on a character, a contextual menu appears next to it and offers you to chose your an action such as : talk to it, use it, use an object from inventory, use a skill…

This is it for now. In the next few days I’ll work on some objects and interactions with them (starting with doors, and allowing to open/close them).

Good night !

New Beginnings

In the course of the past year, since Kkat’s introduced us to the magical land of Fallout: Equestria, the fandom formed around this awesome piece of art have produced a tremendous amount of fan-made content.

Right now, there is so many fanfics written about Fallout: Equestria that one wouldn’t have enough time in his whole life to enjoy them all.
And yet, among the fruit of all this work, to my knowledge, there hasn’t been a single Fallout: Equestria game.

This is wrong. And it is a wrong I intend to fix.

This is why, my fellow bronies, I present to you my new videogame project : a RPG in the world of Fallout Equestria. A videogame taking the gameplay of the oldest and greatest Fallout. With ponies. Though I know Fallout: Equestria was originally based on Bethesda’s Fallout, I’m more a fan of the first ones, and it was my dream as a kid to, one day, create a game that come at least close to the awesomeness of the two first Fallouts.
Sorry if you were expecting something closer to the new generation of Fallout, but I’m not part of the “Shooter RPG” school.  Plus this way it’s way easier to develop : which means more content !

The game will feature :
– 3D levels with isometric view
–  Turn per turn fights
– Ideally, the “Fallout quest pattern” : a main storyline composed of two big quests, and a myriad of side-stories divided on so many side-quests.
– Developing tools (probably just a level editor. But a lot of the engine will be – and is already for what exists – based on text files, so it should be really easy to mod the game)
– Ponies

So when do we get a Fallout game with ponies ?
It’s way too soon to tell : I could give you an estimate of when the game engine will be ready (I’m crowded on work, but at this rate I should be done with it by the beginning of winter).
The game development, however, should take way longer. Depending on who is willing to join me, and how much time are we willing to be spending on this project.

I’m a developer, and for some reason I care about what technologies you use
Well, the game will be fully in C++. No script engine.
To make the dependencies list short, I decided to work with Panda3D : it’s supposed to be easy to use, and it includes seamlessly everything that is needed for this game. Now that I’m actually working with it, I find it a bit messy, and the C++ documentation isn’t in a very good state : but the framework still does a lot of things, does them very well, and despite these downside I’m still pulling through.

Can I help ?
Of course you can.
I’m a lousy artist when it comes to drawing interfaces, or making 3D models. And I never managed to write a music quite fitting to the Fallout world.

Right now I’d be glad to get help from :
– 2D and 3D artists
– Sound / Music artists
– Writers for the main story and quests

Let me know if you’re interested. I’m not expecting a lot of people to jump on this project right of the bat, but I’m sure the enthusiasm will grow with the development of the game engine.