Giter Site home page Giter Site logo

Player about jadventure HOT 19 CLOSED

progether avatar progether commented on August 24, 2024
Player

from jadventure.

Comments (19)

verhagen avatar verhagen commented on August 24, 2024

This is a large issue. Better split it up in smaller issues.

from jadventure.

projectdelphai avatar projectdelphai commented on August 24, 2024

It already has been with #125 and #126. Instead, this has been designated only as a class switching issue.

from jadventure.

verhagen avatar verhagen commented on August 24, 2024

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.

projectdelphai avatar projectdelphai commented on August 24, 2024

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.

verhagen avatar verhagen commented on August 24, 2024

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.

projectdelphai avatar projectdelphai commented on August 24, 2024

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.

verhagen avatar verhagen commented on August 24, 2024

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.

projectdelphai avatar projectdelphai commented on August 24, 2024

Yeah, both would work, but I'll probably go with Character cause it's easier to work with and shorter. Thanks.

from jadventure.

verhagen avatar verhagen commented on August 24, 2024

Can you describe the idea in a BDD scenario?

from jadventure.

projectdelphai avatar projectdelphai commented on August 24, 2024

I doubt it. I'll look over your BDD examples and hopefully be able to come up with something though

from jadventure.

verhagen avatar verhagen commented on August 24, 2024

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.

projectdelphai avatar projectdelphai commented on August 24, 2024

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.

verhagen avatar verhagen commented on August 24, 2024

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.

paddatrapper avatar paddatrapper commented on August 24, 2024

from jadventure.

verhagen avatar verhagen commented on August 24, 2024

@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.

paddatrapper avatar paddatrapper commented on August 24, 2024

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.

projectdelphai avatar projectdelphai commented on August 24, 2024

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.

verhagen avatar verhagen commented on August 24, 2024

Ok, nice! The table here was just an idea of how to set it up. Wiki or so, is fine.

from jadventure.

projectdelphai avatar projectdelphai commented on August 24, 2024

added a basic list here

from jadventure.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.