Comments (19)
This is a large issue. Better split it up in smaller issues.
from jadventure.
It already has been with #125 and #126. Instead, this has been designated only as a class switching issue.
from jadventure.
Ok these reference help already a lot!
Still better first come up with a small design, what and how you think to implement it. As switching classes, does not sound very good to me.
Try to describe functionality like these in business value what we want to see being added to the game. Preferably not in have tech solutions.
_Example:_ The player should be able to switch characters in the game. If he/she stand in the room and is a sewer rat and there is also a xxx he can change to xxx ...
Something like that. Would be nice to formulate it in a BDD scenario, as it help to understand everybody a lot better what the ideas for the game are.
from jadventure.
read the link provided in the description above also linked here. It isn't a conscious decision on the player to change classes. Rather, through the actions that the user does, hsi/her personal character traits are changed until he becomes a new class. Either the character is able to progress until he levels up to a higher class or he regresses until he becomes a new class on his own.
I have a write-up somewhere but it's on paper and it got lost in the mix when I got busy. If I can dig it up again, I'll scan it and post it.
from jadventure.
Ok, thanks, for more background information. Question: would there be a better name for class here. As class is quite an (Java) programming term. I think lots of people get confused when used as a field name. Especially when written as className. I thought also that it somehow was referring to something like this:
Player player = new Player();
player.getClass().getName();
from jadventure.
Wow, that is a tall order. Umm, I really can't think of a good one. We could use "occupation" or "role" but they don't fit very well. We could use race which is more common, but technically all our races are humans. We could just prepend everything with Character or Char or just C. So like getCClass or get CharClass or getCharacterClass.
from jadventure.
Suggestion: would PlayerType do?
Or maybe Character would be an better represent the player, in the game. He / she plays with an character in the GameEngine. And the class Player, could be just the user logged in and playing the game.
from jadventure.
Yeah, both would work, but I'll probably go with Character cause it's easier to work with and shorter. Thanks.
from jadventure.
Can you describe the idea in a BDD scenario?
from jadventure.
I doubt it. I'll look over your BDD examples and hopefully be able to come up with something though
from jadventure.
Give it a try here #77 or on Reddit JAdventure, it does not need to be in BDD form, but at least you should be able to describe it in a scenario or small story-line.
Describe a series of events that should happen in the game
from jadventure.
The link already provides some basic information but here's (off the top of my head) a basic run through of what would happen for a sewer rat (since that's my preferred character type):
You start out as a sewer rat. You meet a guide who teaches you off the many different characters and places around the map. You then start to explore. If you stay underground, you are faced with two scenarios. You can either join the gangs directly in which case you have to go kill a recruit or rob a citizen. If you choose not to, you are forced to steal food from the gangs/citizens to stay alive since there aren't any other sources of food around to get from. Eventually this will brand you a thief character. If you go aboveground and talk to citizens peacefully without trouble, you will eventually become a citizen. If you rob a citizen, you become a thief and if you kill one, you become a gang member. If you turn in a gang member to the police, you become an informant or can become a politician (more work needs to be done here). If you happen to meet a recruit (by venturing too close to the wall or going to their camp), you are faced with three options: kill him, join them, or run away. If you run away, you are a sewer rat. If you kill him/her, you are a gang member. If you join them, you become a recruit. If you decide to do neither of these things and venture to the wilderness where you hunt monsters for loot, you become a hunter (of food, treasure, or bounty). If you kill high member npcs, you become an assassin. If you learn from magic books and scrolls found in secret places, you become a mage.
These are just all my thoughts laid out on paper. They could obviously do with some work and I'm slowly laying them all out on paper.
from jadventure.
That is not one scenario, that are a lot of scenarios! 😄
To add some value to the game, it would be good to just start with one character sewer rat which can change into an other character, like gang member. This can be done by rob a citizen. A possible scenario in BDD style could be something like this:
Scenario: As Sewer Rat rob a citizen, to become a gang member
Given a player of character sewer rat which is at a location underworld
When at that location is a non playing character of character citizen
And the player does rob the non playing character
Then the player should become character gang member
Correct me if I missed something, to change a players character
from jadventure.
from jadventure.
@paddatrapper Nice diagram. Can you explain the diagram with some text? What it shows, what the red (double arrowed) and black (single arrowed) lines mean.
Let me give it a try
Starter Characters
This diagram shows the different characters a player can become. As a new player, you can start as:
- Sewer Rat
- Recruit
Character Transitions
A transition table of how to transfer from one character to another one, would be nice as well.
Current Character | Next Character | Transition Conditions |
---|---|---|
Sewer Rat | Thief | .... |
Sewer Rat | Citizen | .... |
Sewer Rat | Gang Member | .... |
Sewer Rat | Guard | .... |
Guard | Sewer Rat | .... |
Guard | Soldier | .... |
The Pro and Cons of the Different Characters
Character | Pros | Cons |
---|---|---|
Sewer Rat | .... | .... |
Thief | .... | .... |
Citizen | .... | .... |
Guild Member | .... | .... |
from jadventure.
The details @projectdelphai knows better than I do, but red lines indicate hatred/competing classes while black lines show possible class changes. The rest of what you want unfortunately I do not know
from jadventure.
hmm, actually while paddatrapper is right, the diagram is unfortunately inaccurate. It works on a shallow level but quickly breaks down. For instance, technically any character can become another type though it's harder the further out you go. And while sewer rats do conflict with citizens, they do also have the power to become a citizen and vice versa. And it's all with various degrees of types. So a veteran sewer rat would be hated by citizens while citizens can moderately stand a new sewer rat who is just starting out.
The table you've laid out has been talked about before in the irc and I have the details. I'd be totally happy to fill them out. I could do it here but it'd probably get too big too fast. I'll start it in a new wiki page and then link it here.
from jadventure.
Ok, nice! The table here was just an idea of how to set it up. Wiki or so, is fine.
from jadventure.
added a basic list here
from jadventure.
Related Issues (20)
- NPC health carries over when reverting save HOT 8
- Selling to guide and then killing him causes negative gold drop HOT 5
- Creating new profiles deletes equipped armors in all other profiles HOT 2
- Saving after killing an NPC on one profile saves NPC death on all profiles HOT 1
- Items should cost more when you sell them to the npc HOT 4
- Merge json/ and json/original_data HOT 1
- Conversation menu infinite loop HOT 5
- when buy things with Guide,it will always loop.[BUG] HOT 1
- Standalone jar doesn't recognize external libraries HOT 4
- Use Adapt for Intent Parsing HOT 2
- i lost my file HOT 3
- prices display while selling HOT 1
- Save Selection Should be Clearer HOT 1
- Debug Error Reporting
- Link github pages site on title HOT 2
- Small amount of Dead code in Main Menu class HOT 4
- QueueProvider rework suggestion HOT 3
- Trading into menus package
- Jacoco breaks build
- Cucumber tests
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jadventure.