RPG system

Started by
8 comments, last by Zefrieg 19 years, 6 months ago
Well, I'm beginning a game that I have been wanting to make for quite a long time. I'm basically putting a new spin on rogue-like games. I'm using some AI techniques to randomize quest, story, and NPC elements so they would be different each time you play the game. Though, I leave the world relatively static besides the fact that the orientation of areas on the game map changes each time you play. The game map is the method of travel between each area whose location is randomly selected upon creation of a new game. The location is hidden from the player until they gain information about where it is, or travel in proximity of the location granted it contains a visible landmark. All data that is used for the static areas, randomly built NPC personalities (based on TypeLogic), dialog, quest generation, creatures, image of the game map (along with a polygons that contain contour information), and object properties are defined in sets of loadable data. The gameplay is going to be completely turn-based in a fashion similar to rogue-like games. Time progresses through the actions of the player in a rogue-like fashion. A player's speed in doing certain tasks determines the amount of things that a NPC can do in a turn. I have to do it like this because I have to account for the actions of every NPC character in the game world. Although, a general account of actions and consequences are used to process each NPC that exists in locations outside of the general area of the player. Otherwise, a player will see each and every NPC doing the tasks associated with their lifestyle. Obviously a great deal of them will be in taverns, shops, and other local places, but you could run into some of them in dungeons if a "quest" has been generated for them to complete. Their quests can involve the player if they chose to help them. Though, everything will be killable in the game, so you can just kill, mug, or steal whatever prize they were after. NPCs will have a history of the things they have done that the player can ask about. They might share their deeds or NPC relationships with the player. Personality vs personality relationships and certain player skills will probably determine what information the NPC shares. Players can build object based sentances to communicate their own knowledge from NPCs and to gain feedback on certain things. This also allows NPCs to communicate with other NPCs. I might put in some kind of synonym support so you can use alternative words or phrases beyond the core language (as long as you define their meaning with a previously known object word). Though, that would be defined in outside data. As you can see, my whole emphasis is on an evolving environment. One that I or people interested in the project can continually add extra things to. The only thing that needs to be done for each area is to: 1. Build the map of the area and designate certain structures. 2. Define certain item types that are found in the area and specify what kind of quest component they represent. The items themselves are integrated into quest stories randomly, but the designer can specify certain restrictions to make any integrated quests more logical. 3. Define a central theme of the area. This basically insures that the majority of NPC types/races are found in the area that seems most logical for them to be in. Other things in the game are just defined in a file that contains the object and stats associated with what it does. The player themself will be able to select the number of areas and NPCs that exist in the game they want to start. They select the level range and distribution of NPCs that are to be generated in the game. The areas that are used are randomly selected. I should probably mention that the game will be in 2d, and that graphics will probably have no animations. I plan on using a single picture sprite for each respective NPC or creature in the game. My focus is on gameplay and AI. Now, I could obviously use some input on this project. Does anyone have any extra insights on this? Also, I would probably need to use a core rules system for the combat aspects of the game. Does anyone know of or have anything that would fit into this type of game? I was thinking about a d20 system, but I'm unfamiliar with it at this point, so I really don't have any kind of preference on it. What kind of stats do you think should be defined in such a game? [Edited by - Zefrieg on October 5, 2004 3:41:32 AM]
Advertisement
Quote:Original post by Zefrieg
I was thinking about a d20 system, but I'm unfamiliar with it at this point, so I really don't have any kind of preference on it.


The problem with d20 is not scarce resources (Wizards o.t.C. provide the whole stuff as word documents IIRC), it's the license. The license explicitly forbids creating computer games or even utilities like character generators based on the d20 system. This is due to an exclusive license granted to some unnamed publisher. Since Neverwinter Nights is d20 based, I guess the license was granted to Atari.

(Disclaimer: IANAL!) Theoretically, it should be possible to circumvent that restriction by creating a very general rules engine that can be fed different rulesets. You can then distribute your d20 based ruleset as a set of script rules for your engine under the free gaming license or whatever it's called. I think it'd be easier to just steal the Angband ruleset and adapt it to your needs.
Yes, that would probably be the best idea. Scripting the ruleset would be no more complicated than implementing it in the code. Thanks for the advice.
You better figure out how your AI system will actually work and how much logic must be programmed to implement the behaviors you have mentioned.
You may be suprised how complicated/large it will turn out to be for even the simpler things you described.

Look into FSMs, Planning, Hierarchical Goal/Solution/Task mechanisms.

Because of your reliance on a text based information/command interface, you should work out some mutateable menu mechanism to streamline the players interactions (ie- show button options appropriate to the situation, a repeat last selection, as well as a line input for sentence queries/commands )
Look at expandable Pie Menus.
I don't understand what the attachment to D20 is. Probably because of your familiarity with it, but now would be a great opportunity to invent a fresh system.
william bubel
Quote:Original post by Anonymous Poster
You better figure out how your AI system will actually work and how much logic must be programmed to implement the behaviors you have mentioned.
You may be suprised how complicated/large it will turn out to be for even the simpler things you described.

Look into FSMs, Planning, Hierarchical Goal/Solution/Task mechanisms.

Because of your reliance on a text based information/command interface, you should work out some mutateable menu mechanism to streamline the players interactions (ie- show button options appropriate to the situation, a repeat last selection, as well as a line input for sentence queries/commands )
Look at expandable Pie Menus.


I am quite familiar with various AI techniques. It is true that the system could be very complex, but I have some simplifications in mind. The gameworld that evolves outside of the player's area is actually done in a statistical manner. In fact, I'm thinking about only processing that sort of information when the player rests or the player moves from one area to another.

I suspect that it would be fairly uncommon for the player to actually witness a great deal of NPCs enganging in their own quest stories. The player plays more of a detective role in finding out what has recently happened to the NPCs that exist around them.

The biggest problem facing me in this project is definately the knowledge base aspect of the AI. I'm spending a good deal of time looking into various generalized setups for knowledge representation.

The interface with these games are fairly crummy, and I hope to improve on them considerably. Though, that isn't my highest priority.

This is definately a build-me-up game where you just can't get it right the first time.
And yes, I understand how difficult it can be to get an agent to just shop correctly.
Bah, I posted AP
(IANAL) I don't think it would matter whether you included copyrighted material in the exe or a script; it would be the same either way. They can't copyright ideas, though. What they're licensing is the right to label a game as D20/D&D/whatever. They don't own the concept of a random number between one and twenty. You should legally be able to use a system similar to D20.

Despite that, I don't really like the d20 system. It was designed to be relatively easy to use with pencil and paper; a cRPG should (IMHO) have more going on behind the scenes and less displayed to the player. I don't even like the concept of levels, but some people like a concrete indication of progression.

[Edit:] Stupid lab computer with a sticky/broken spacebar!
Well, I think having a scripted ruleset is still a great option. I mean, people would be able to tweak and add to your ruleset to fix any shortcomings or add features not already present.

Now, the question is what kind of objects and operations would be needed to create a variety of rulesets? There obviously needs to be support for logical and mathematical operations.

I would think that RPGs contain 3 core descriptions of a player/NPC:

Attribute - Statistic that measures physical and mental prowess.
Skill - Certain abilities that a character possesses.
Characteristic - A specific feature that distinguishes the character.

Attributes define a physical/mental value and can depend on characteristics.

Skills define a profeciency level and can depend on attributes or characteristics.

Characteristics would context special personality or physical properties of the character that affect skills or attributes.

I would agree that level isn't required at all. It seems that level is merely an amplification of a character's attributes or skills. As such, I would probably classify it as a characteristic.


This topic is closed to new replies.

Advertisement