Archives

All posts for the month September, 2013

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.

Collider Map Editor Collider Map Editor how it works
(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, …).
Item Editor

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.
Collision Map Editor
(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.

P.S. Did I mention that I’ve been playing GTA V? It’s pretty awesome.

Hello there. Its been a long time since my last post.

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.

             1.1- The language supports: variable declaration(int, string, bool and time), if(and nested “if”), else, conditional operators(“and” and “or”), arithmetic expressions, return values, c# function call(can call any function from c#) and some built-in functions.

             1.2- Syntax:

//Just for demonstration purposes
//These variables are created when the player accepts a quest.
var monstersKilled = 0
var questComplete = false
//If the player speaks with the npc this will be evaluated.
if(monstersKilled > 9 or (monstersKilled > 4 and party.fame > 49))
      questComplete = true
      party.gold + 500 //This access a in-game variable.
endif

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

(Click to enlarge)
Main Menu Conversation Scene

             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):

one of the oldest pics for the game
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.

3d base female again
This is the base female model. 2000~3000 triangles.

siv show
This is Siv, the main heroine.

I think this is all that I can say/show for now.