Jump to content

Recommended Posts

Howdy Nexus.

 

First of all, this is my first post! Woot woot!

 

Primarily, the point of my posting today is to share with you all some of my ideas and perhaps get some feedback and assistance reasoning around them.

 

I'm tired of playing sandbox games which are masquerading as role playing games. There is plenty of precedence behind my OPINION and I would rather not waste keypresses in this thread debating what makes an RPG. Make another thread for that, please. Anyways, as I've been researching, I've discovered the crux of allowing free choice in a game lies within the games event scripting and AI components.

 

AI and Event Scripting are the things we need to make great again, and doing so with a solid gaming community is the best place to start. No idea for a true RPG is too trivial to suggest, everything has room for discussion so please, I encourage you to contribute your ideas!

 

Whatever this project becomes, I want to keep it loosely coupled, so that assets, text resources, quest components, and even core game components can be switched out to create an entirely different game.

 

But I'll need help building up this idea and the mechanics, so I have created a GitHub repository with many of the core ideas I've come up with so far, and I'm adding more every day, but I think that if we come together as a community and contribute our ideas, we can make something truly fantastic.

 

GitHub Repository Link: https://github.com/theamazingfedex/rpic-rpg

 

Thanks for reading,

Have a nice day!

Link to comment
Share on other sites

Good luck with this.

 

Interesting that you are saying that you don't want to have a sandbox, but are wanting an AI that is pretty much designed for it (open input, adjusts based on player actions, ect). Generally speaking, the more ability you give the player or NPCs to jump off script (the narrative kind), the more you start going down the path of a sandbox instead of a story-driven experience. Assets and quests which can be pulled apart and recombined also leans strongly toward a creating a sandbox environment. I understand that you want to make an RPG where the player isn't just a pile of statistics, but the actual gameplay systems you describe are typically elements of a sandbox RPG instead of a linear story-based RPG. Just wondering how you intend to mitigate between the two.

 

As for text input... It's really great in theory, can sometimes be nice in a limited context... But becomes sheer hell when it comes to anything of substantial size or complexity. The main problem is the fact that a lot of this text input ends up being a game of "guess the verb" and requiring extensive use of a thesaurus to struggle through certain events. This was very much the case back in the days of the old Kings Quest games, and is still a valid case for many of the independent text-based games out there. There is a reason why Sierra went to a graphical interface for their games back in the 90's almost as soon as mouse support became more common. There is a reason why many of these text-based games have been trying to hack in ways to add clickable links or interfaces. Not only does this make it more accessible for the average player who doesn't have the word "quaff" in their vocabulary, but it also makes it easier for the programmer who doesn't have to code in thousands of additional words to use as synonyms for basic actions. There's a reason why most of the iconic CRPGs of the 90's tried to switch to a system of selecting from a list of dialogue options instead of trying to coax the player into manually asking these questions. There's a reason why the original Everquest moved away from their hailing and dialogue input system to clickable links and then pre-formatted dialogue choices. It all goes back to accessibility and ease of implementation. You can still do a great deal of depth with a pre-formatted dialogue system, but it ends up being far more approachable. One compromise I was toying with in my own planning dealt with using a sort of ad libs style of creating messages and commands to NPCs that would be context driven instead of being completely open, but even that felt very problematic from the standpoint of establishing syntax without just forcing the player to say certain things at certain times.

 

Afterall, the point of having any dialogue system is to have the player interact with the environment, but also to have the player being able to meet whatever criteria is needed to progress without prolonged exhaustive effort. This is not to say that the player should be guided on rails through everything, but there is a distinctive difference between a player struggling with a game like Darksouls where most of the challenge comes from timing and coordination of inputs, and a player who is sitting at a text input box trying to figure out what magic grouping of words is needed to do a thing they already know what they need to do. Eg:

The door to the north is locked.
use key
You cannot use this item.
unlock door
You do not see that here.
look north
The door to the north is locked.
use key in door
You do not have a key in door.
examine door
You do not see that here.
... Some hours later followed by searching Google...
put key in lock
The key slides effortlessly into the lock.
turn key
I do not understand.
rotate key
With a click the key turns in the lock.
north
The door to the north is locked.
open door
You do not see that here.
quit

And other similarly frustrating scenarios. Even the best programmer cannot account for everything, and when it comes to text interfaces you've personally made, it becomes very difficult to see it with the eyes of someone fresh to the project to know what they will or will not try.

 

If it wasn't for Bot Colony being discontinued I could have suggested taking a look at it just to understand some of the difficulties you might be facing. https://en.wikipedia.org/wiki/Bot_Colony

 

As for Python, I havn't personally worked with it or seen it used outside of simple applications or ren'py stuff, but the language itself might not have the flexibility and support that you might need for a project as large as what you are talking about. Foreseeably, you will need to either make or use an engine that allows for live editing and utilizing data in a persistent 'hard' format instead of just being present in temporary memory. You'll also need an engine which can read and write this information quickly and seamlessly so that you can adjust NPC behaviors, affiliations, ect on the fly based on player interactions and keep those changes without bloating the main character save or requiring large portions of the game to be retained in memory (where glitches can occur due to memory loss or garbage collection, or just simply bleeding like an open wound). You'll also probably want something that can be compiled and packaged in a format that is easy for the end-user. In my own research, C++ and C# were the better candidates for this primarily because of their widespread use and ability to just use an existing engine (Unreal, Unity, ect) instead of having to build your own. But also because this language seemed to support these kinds of operations more readily.

Link to comment
Share on other sites

  • 2 weeks later...

The door to the north is locked.
use key
You cannot use this item.
unlock door
You do not see that here.
look north
The door to the north is locked.
use key in door
You do not have a key in door.
examine door
You do not see that here.
... Some hours later followed by searching Google...
put key in lock
The key slides effortlessly into the lock.
turn key
I do not understand.
rotate key
With a click the key turns in the lock.
north
The door to the north is locked.
open door
You do not see that here.
quit

 

That pretty much sums up my first experience with text-based RPGs, after which I wouldn't even look at them for a period of 10 years. Not to mention that there was nothing like google or even the Internet back then...

 

Fast forward to 1995: I managed to find a good one, the first game I played on Linux. I can't remember the name, but I clearly remember that it kept me in front of the screen every night for more than a week.

 

The thing is: It might sound quite easy to create a text-based RPG but in reality it's even harder than using graphics. You constantly have to remind yourself that you need to describe things in a way, that the player is able to see the picture that you have in mind.

 

If you want to start such a thing, I'd recommend using a system similar to Morrowind's conversation system. Just create links for the things of interest. It could be done in HTML/Javascript/PHP and maybe a database. Plus it would be highly accessible even for the "modern" player.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...