Random Quest System

Random Quest System
Been working on the random quest system that will end up in Daggerwind eventually. Have created a separate project, but will be easy to re-implement back in as I can export it as a package. This way I will be able to concentrate on the quest system itself, be able to refine and refactor as it progresses.
The aim is to create something similar to the Radiant quest system that Elder Scrolls Skyrim uses. (Maybe not so ambitious to start with, will just see how it evolves)

Initially I have defined the following states that represent the main stages of your standard RPG quest.
  • Initialise - Initialise quest 
  • Offer - NPC Offer quest to player 
  • Accept - Player has accepted quest 
  • Decline - Player has declined quest 
  • Objective - NPC given player the objective, Kill, Speak, Find etc 
  • ObjectiveInProgress - Quest objective has been spawned 
  • ObjectiveComplete - Player has completed objective, ie Killed MOB, Spoken to NPC etc 
  • End - End Quest, NPC gives Player reward 
As the player progresses through the quest, the state changes in the order above. (Object and Objective are interchangeable in the context of the states I've defined)

As it progresses will edit this post to add some of the technical details, research, patterns etc

Endless Terrain

Daggerwind endless terrain, seamless world without bounds which will one of the cornerstones in my quest to create an Elder Scrolls style indie RPG . The terrain is generated from a World Manager that creates a 1024 x 1024 array of 1024 x 1024 terrain tiles. The tiles are selected from a set based on a seed passed into a random number generator. This creates a seemingly random world, but will be exactly the same every time (So long as the seed is the same) This allows for persistence. I guess technically it's not endless, but just very, very big. Only a 3 x 3 grid around the player is rendered at anyone time, adding and removing tiles as you move around the game world.

Endless Terrain

Cities and Towns are walled as in Elder Scrolls Arena and Daggerfall allowing me to swap scenes entering and exiting. The load time is pretty quick each way, and with the scene fading in and out isn't that obvious or intrusive. I will be able to create custom terrain tiles with small Farms, homesteads or village huts so that it feels more natural and seamless.

The Procedural terrain starts as a randomly created heightmap, black being low and white the high areas. I then make them seamless by copying the original heightmap, rotating it 90 degrees and moving it adjacent. Then repeat 3 more times by copying and rotating using Gimp. Pretty low tech but no other tool needed.

I've also got a scrollable/drag-able over world map that is stitched together using 36 1024 textures (6 x 6 grid) Have yet to make it interactive with click-able pins and stuff but is a good start.

Also see the Random Town Generator

Game Title Screen

Daggerwind menu
Have re-visited the title screen as the first attempt wasn't particularly good. The camera pans in along a spline, the candle flickers and there's a little movement from the female model's idle animation.

The title text is a little better also. Will leave it alone for now as I think it works quite well, and don't really have the luxury of spending large amounts of time making it look perfect.

Although not that crucial to the game at this point, the plan is to create a tech demo that will have everything from start to finish. Splash, Menu, Character Creation, Character Customization. Then Random Dungeon, Random Town and Endless Terrain making the full game start to finish, albeit with very short game-play to start with. 15 minutes or so until content is expanded upon.
 (Content being more random tiles and stuff)

Daggerwind NPC's

The NPC Quest and Dialog system I was planning on buying in from the Unity asset store. Wheels do not need to be re-invented, and if I have any chance of actually finishing this project, picking my battles is definitely key. However, off the shelf quest systems seem to be geared towards hand crafted NPC's, not randomly generated at run time. Daggerwind quest
I've started to create my own NPC quest and dialog system that will fit better into the randomly generated world that I'm creating.
From the screenshot you can also see real game time being tracked with the day/night cycle and timed lights from the Tavern to the right.

Torem Kelg - Evil Alchemist 

“Here you go, lad! Drink up, it’s on the house!”

Appearance: A short, stout elderly man with a bald scalp and full white beard, Torem wears a number of charms around his neck for various travel deities, all gifts from travelers. Torem wears an apron and, when not serving patrons, is constantly wiping glasses.

Roleplaying: Torem acts as if every patron is an old friend, even if meeting one for the first time. He is always cheery and upbeat, consoling hurting patrons that nothing is as bad as it seems.

Personality: He is almost giddy, but that’s because of what he’s secretly doing to transient patrons.

Motivation: Torem wants to create monsters in order to make his tavern a more popular destination for adventurers.

Background: Torem is a frustrated alchemist who was unappreciated by his previous employers due to his lack of ethics. He settled down as an innkeeper in a new land. His inn is located in a quiet village that did not sit on any main roads. Torem has decided to drum up business by poisoning travelers with magical beverages, turning them into monsters. e monsters have attracted adventurers from all around and have made the inn quite popular. Torem drinks are harmless unless the second component, a morning beverage, is taken the next day. As the two drinks are inert otherwise, Torem has managed to fool the few investigators who took notice of the drinks.

Traits: (WC) Abhorrent, business, criminal, magical, merchant

Twitter Facebook Pinterest YouTube