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.
//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.
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):
I think this is all that I can say/show for now.