After ~3 years since my last blogpost and several dropped projects I returned with a new game. The game has a big scope (which is a mistake that I will never learn from) and I’m working alone (game design, programming, art, music, etc).

source_code is a open world action rpg that takes place inside a virtual world known as the GridOS. I’ve had the idea for source_code for a while, but I only decided to start working on it when a small local (Goiânia/GO Brazil) indie event was looking for expositors. In two weeks I built the prototype and I got a decent result. The main goal of this project is to improve my skills as a solo developer (I’m primarily a programmer) so I don’t have rely on freelancers or collaborations (which rarely works).

The goal is to have a simulated world where the player actions can change several aspects of the world (NPC behaviors, schedule, etc) and work flawlessly in multiplayer. There will be a huge focus on non-linear exploration and story-telling where the player can even ignore the “world story” and just explore while the NPCs will “advance” the story by themselves. The story will be fairly simple, but I want “story threads” for every state of the world.

This all sounds very complicated (and it kinda of is), but I chose a very simplistic art-style and genre so I can focus on gameplay.

The action portion of the gameplay (movement, platforming, combat, etc) is inspired by Dark Souls and Mega Man Legends, so there will be a lot of rolling and knockback (player and enemies). I want to make the player think before acting, but I also want a decent pace (not only for combat but to navigation too), so it will be more arcade-y. Most enemies will have a few different attacks and patterns and will (most of the time) have different spawn locations (that is a given for procedural levels). To make the combat more intense, there are two “main” penalties for death:

35% (not final) of the player’s Bytes (currency and “experience”) will be permanently lost when the player dies.

If the player dies inside a Node (dungeon) then the player will be kicked out and the Node will be regenerated. But The player can place a limited amount of Backdoor programs (before death) to quick access certain fixed areas in every Node to reduce the severity of this penalty.

This week I’ve been busy with my entry on Ludum Dare October Challange. My game will be a 2D action side scroller in the veins of Cave Story. I don’t have any art (nor name) for it yet, but I’ll hire a awesome pixel artist for this small project.

Back to Bifrost. This week I’ve implemented the Quest System and the Quest Editor for the game. The system is quite complex and AL (Antisocial Language) can interact with it. It’s Event based and it can call C# functions (through AL) to instantiate monsters or other actions.

As shown above, the editor is node based. I chose this kind of interface because I think it’s easier to deal with this amount of fields and variables.

This is the second iteration of the editor. The first one was a normal window with fields and fields and fields….Then I decided to write the node based system. The unity serialization was giving me some trouble and I almost had to write my own serialization system, but I got it working after I rewrote it (again).

A good chunk of tools are already done, so I’ll work on the combat system next week to make the game playable.

This morning I almost rewrote the Collision Map Editor, since the one I showed last update was bothering me. I’m still trying to find a way in Unity to get the last deleted objects or prevent them from being deleted within the editor (a event or something), I tried a few hacks, but they were ugly/nasty. There are events for deletion and hierarchy changes, but they don’t work as expected(or as I expected). I resolved this problem by hiding the “Collision Map” object from hierarchy and created a list of colliders and a search field on the editor. There are some other additions to the editor as you can see in the pics.

(As the art isn’t ready yet, I’m using this flat image (no layers))

The last pic shows the colliders generated by the editor, with that I can generate the Navmesh easily.

I also started working on the Quest system, which shouldn’t take long to implement. The Quest system will also be tied with AL(Antisocial Language).

Last week I’ve been busy with GT… stuff, so I haven’t done much. I’m still working on underlying systems and tools.

The most important things I’ve done last week are:

1-Item/Equipment System and Editor. These are the most basic things that need to be done before I start working on the Combat System.

1.1-The Item/Equipment editor is quite simple. The icon selection is missing, but will be implemented after Unity 4.3 release, because they will add native 2D support (sprites, atlas, …).

2-Item/Equipment Database. Just store stuff and make them available during the game.

3-Collision Map Editor. The game has 2D environment/background, so I can’t use mesh colliders since everything are just images. This editor is used to create walkable and non-walkable areas. Those areas will be used by the Navigation system to create the Navmesh later on.
(The environment/background is just a (poorly edited) screenshot from Baldur’s Gate, for testing purposes)

I haven’t decided what I will work on next, but may be quests, spells/skills or basic combat. See you next week.

I’m back to my game development activities with two projects. My own project which-shall-not-be-named(for now) which is a platformer/RPG that I mentioned on my last post. The game is still on paper only(the game design is almost done), but soon I will be hiring some artists.

The other one is Bifrost which is a isometric-ish/top-down RPG in the veins of Baldur’s Gate. Bifrost is Ellenor’s idea(my team mate/boss/project leader) and we are developing and designing as we go. Ellenor already wrote ~75 pages of the story, wrote some lore, did some concept art and designed a few mechanics. I did… you know… stuff…

Both games have some mechanics in common(conversation, day/night cycles, …), so I’m developing a framework that will work on both games(and in most RPGs). I’m using Unity engine for both projects.

What I’ve developed so far:

1-Antisocial Language(AL) and the Virtual Machine(VM). I developed this language to be used on the Conversation system(below), console and etc. This language won’t be used for gameplay logic so it doesn’t affect the game’s performance.

2-Conversation system and the Tavern(the Conversation Editor, see the images below). This system supports multiple dialogues and multiple choices.

(Click to enlarge)

2.1- As seen in the second picture, there are two different colors(green and black) of text(each line is a node). The green nodes are called “Questions” and represents the lines/speeches of the npc(s). The black nodes are Called “Answers” and represents the player choices.

2.2- Conditions: If the evaluation succeeds then the “Question” will be displayed or the “Answer” will be available.

2.3- Actions: If it is a “Question” then the actions will be executed after the evaluation of the condition(if it succeeds). If it is a “Answer” then the action will be execute if the “Answer” is chosen.

3-Entity and Entity Manager. The manager controls every entity in the game and their actions.

4-Time system. You know… Time flows.

This isn’t much, but it’s still early in development :D.

Now let’s see what Ellenor done for Bifrost(art wise):

This is the oldest art/concept for the game(I wasn’t even on the team). The game has changed to 3D characters and 2D background.

For almost a month I barely worked on The Dawn Age. I feel that this shouldn’t be my first game(I still love roguelikes). Before I started the development of this game, I had three projects in mind: a 2D Metroidvania, a Roguelike and a Tactics game. My first option was the 2D Metroidvania game, but a friend of mine had a project with the same genre, so I decided to go with the roguelike. Now, his project didn’t move forward, so I want to start to develop the game I wanted at first.

The Dawn Age will be put on hold until I finish the other project.

Since I didn’t show anything for so long, I decided to record a bit of the gameplay.

That’s it. You will hear from me soon. I will contact some 2d/pixel artists and start the new project.

This week I’ve worked on: core gameplay mechanics, AI, editor tools and other stuff. I don’t have much to show this week, since I replaced all the placeholder environment with colored blocks(it looks ugly) to do some tests.

For the AI, I created a system called AI Blocks. This allows me to create generic enemy behavior like patrol, hunt, attack, flee…. Each one of these are basic AI Blocks that I can put on the enemies or extend them to create more specific behavior.

Art Section

The concept artist, Jonathan Arnold, created two new creatures.

Goblin Mage

The Blob

Ghislain Girardot started the modeling of the Goblin Mage.

Goblin Mage Preview

Every dungeon will introduce 5 new enemies(6 if count the bosses). Some dungeons will have some previously introduced enemies in addition to the 5 new ones.

Next week I will work on visual stuff(UI, First Person Hands, animation setup, etc).

Yesterday I finished the dungeon generation. I’ve never worked on a dungeon generation before, so I had to think for a while and write down what I needed. It ended up working perfectly and have a lot of parameters that I can change to customize the dungeon.

This is a “mini-map” view of the dungeon.Blue – Walkable.Yellow – Door.Red – Wall.

There are 4 types of areas: corridors, rooms, locked rooms and secret rooms. The secret room don’t have doors, you may have to break the wall(if there is a crack) or pull a lever.

This is the dungeon generated above. The environment is placeholder, but we will get there eventually.

Next week, I will focus on core gameplay mechanics and pathfinding. Bye.

Hi, I’m Cássio Eduardo Ferreira da Cunha a 21 years old programmer, game designer and founder of this company(Dumont Studios), based in Brazil. I will use this blog to keep everyone up to date on our game development process and other stuff.

Last week we started development of our new game, The Dawn Age, that should take at least one year to develop. The Dawn Age is a Turn Based First Person Roguelike set in Dark Fantasy World. The game will be released on Windows, Mac, Linux, Android, iOS and Ouya. This game will feature: deep character customization, random dungeons, random quests, alchemy, crafting, ungodly difficulty(there will be a casual mode), permadeath and much more. The game will have a basic “story” that will lead you into dungeons to kill stuff.

I hired 2 artists to help me out. And here is what they have done so far:

Jonathan Arnold, the concept artist, worked on the concept of the first creature, the Goblin.

Ghislain Girardot, the 3D artist, gave life to the concept.

I’m still rounding up the GDD, but next week I will start on the programming side of things. For this game I’m using Unity 3D Pro engine and C# as the language.