🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Quest for the Pink Key - First blog

Published May 29, 2022
Advertisement

The gameplay for this game is going to be tied closely to the NPC's of the world, and the players relationship with the different species throughout the game. There are a number of reasons for this:

  1. I want to enforce the feeling that damage done to the NPCs will also have an impact on how easy it is to progress. By making the NPC's the gateway to the information needed to continue, their importance increase drastically. Thus, the player has a natural interest in not brainlessly destroying everything, even though they easily can.
  2. What's the point of being as powerful as a god, if there's no one to admire or fear you? Making the NPC's able to learn from your actions will help underline the omnipotence you have gained - and hopefully make the player see that there's consequences to their actions beyond the apparent destruction.
  3. I am personally always most invested if there is intelligent/feeling life evolved, that react appropriately to the players actions. How I wish I could have 20 voice actors give more life to all these creatures. In my opinion, the gameplay can be as repetitive as ever, if there's just enough character work to make the world alive. Think of the insane voice acting in a game like “Hades”. Not that most of the other aspects of that game weren't polished or well tuned, but the voice acting and the characters drove a big part of the incentive to continue playing for me.

So it became very apparent to me that I had to make some tools to help me set up a knowledge database, that the different NPC's (some if which is a hive-mind) and the player can dig into by conversing. Unity has some experimental tools, which you can find guides on how to set up on youtube. I would recommend people taking a look at this here video: ( Kudos to this great gentleman, who calls himself “TheKiwiCoder”. Great job on this tutorial! ) https://www.youtube.com/watch?v=nKpM98I7PeM

He uses it as a programmable behaviour tree. What I need is a way to define dialogue, and what knowledge is gained from each conversation. My initial setup looks like this:

  1. The green nodes in my little view here represents the knowledge needed to ask a specific question, and the knowledge gained from asking a question.
  2. The Magenta nodes represent a topic.
  3. The Yellow nodes is a dialogue choice, that yields a present answer (if the NPC in question knows this) and the knowledge yielded/gained from the NPC.

This way I can tap into the different knowledges across the species, but also for the individual NPC and make them change their behavior on i.e.:

  • How well they know the player,
  • Their relationship with the player,
  • Bad or good news given by the player, etc.

So far so good.

The next step for the gameplay is to implement or create a little more interesting AI for the “bad NPC's” or monsters of the world. Combining this with the ability to speak to the intelligent NPC's, and seeing how they react to the player rampaging or helping them, will hopefully start to show the real dynamics of the game. I feel like I am close, even though there is still some work on creating the knowledge databases, modelling and animating monsters, and creating AI for each.

On a side-note, I generally feel like the world is a little empty. So I think I will focus a little more on creating smaller creatures (from butterflies to sheep), that can give the world a livelier feel. Here's a sheep:


Where ever there's life, the should also be water or some liquid. So I've started working on some crude liquid simulations to generate small waterfalls and rivers. I am still missing the last top of that, which is the mesh.

I'm considering trying out some triangulation algorithms, if they work for 3D vertex bounds. The current algorithm produces nodes that are connected, and will share their volume base on much are in them and their relative potential in height. If they fill up enough, they try to create new nodes around them. It this is not possible, they will fill up more.

So it is apparent that I have enough to do, and won't get bored soon ?

All comments are welcome!

0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement
Advertisement