igorfs10 / rust_hero

Um jogo simples em rust
GNU General Public License v3.0
4 stars 1 forks source link

Understanding the ideal gameplay #4

Closed 1sra3l closed 2 years ago

1sra3l commented 3 years ago

The old game you mentioned is a flash game, which is not something most web browsers allow any more. I am playing around with modeling character stats and type based on the old game's wikis. I created a way to make characters from a Class, and hooked it up to the UI in my current branch. I did enough work to get to a point where I have no idea how the game is supposed to work. When do you battle? What do you battle? What happens in-between?

I may have a bit of time to put into this code if you are interested in getting things going :smile:

igorfs10 commented 3 years ago

The old game you mentioned is a flash game, which is not something most web browsers allow any more. I am playing around with modeling character stats and type based on the old game's wikis. I created a way to make characters from a Class, and hooked it up to the UI in my current branch. I did enough work to get to a point where I have no idea how the game is supposed to work. When do you battle? What do you battle? What happens in-between?

I may have a bit of time to put into this code if you are interested in getting things going 😄

It will have a random encounter system. Player will choose a location to stay and every second the game will run a function to see if a battle will happen or the player find a item or nothing will happen. The item or enemies will be based on location. The player will fight against monsters. The battle system will be automatic and based on time, probably something like this if seconds%4 == 0 player attack, else if seconds%4 == 2 enemy attack, but the player will have some actions that he can take like use items or use a special attack.

1sra3l commented 3 years ago

OK, will you look through my PR and see if you like the Character Type system based off the old game & some online stat calculators, etc.. Can you create a list of Places and Enemies in those places? Once that is in place we can begin work towards implementing the battle system. The automatic battle system can be easily handled in the while app.wait(){} maybe we pass in a variable elapsed that we increment, to be the "seconds" in the checker function:

if elapsed % 4 == 0 {
    hero.attack(enemy)
} else if elapsed % 4 == 2 {
    enemy.attack(hero)
}

Also, do you have a certain art style you want in the game? For example, the art could be all vector based, or it could be pixel art, or it could be hand drawn/painted art. I am assuming each place has a background as well, so I will need to know something about the places. If you need me to simply come up with places myself, I can also do that :smile: Oh, also I make video game music, so if you want I could add that, as well.

igorfs10 commented 3 years ago

Sorry for the delay, but my work is consuming almost all my time and I'm taking my free time to rest away from the computer.😅 I will accept the pr. I was thinking in a simpler version without a class system at start, but as you inserted it is better to work with a complete system. 😁 In the future I'll just do a small change for classes stats and move it with character struct to data folder. I think it's better to use a base stats system like pokémon games as it makes it harder for players to mess with stats and is better than dealing with stats at every level. For now, I just have some ideas for places, I will create Enemies later. I don't have a certain style for the art, I think we can discuss it here and see what will be easier for enemies and places and yes, every place will have a background and probably a song. All places will have 4 enemies: 2 weaker common enemies, 1 rare strong and 1 rarer very strong.

Places: Town, Forest, Cave, Swamp and Desert.

There are no enemies in town, it will be place to player rest and recover some hp after a certain amount of time. I was focused on the core of the game, so I don’t have so much idea for enemies and places, I’ll be happy to have help in this part, but only if it’s not a problem for you, you already helped a lot in the game. 😅

Thanks for the help

1sra3l commented 3 years ago

No problem on the delay, this is just for fun anyhow! Do you do software dev for work?

Places: I think with those parameters we could generate a variety of "Lands" with multiple Places as well, this could make the gameplay longer, and it would be easy to generate multiple versions of enemies by changing the color and bumping the level to bump the stats, so the possibility for a lot of gameplay is there! I'll think more into how to break down places and send a PR if I come up with something. We could also do something similar to Pokemon and choose a random enemy level within a certain range, in each area.

Stats: To be clear, are you talking about moving the stats into their own struct? If that is the case, I was thinking of using a trait for access from the Character, how would you do it?

Gameplay: Will it be mouse only, or are you thinking of using keyboard controls as well?

For now I will work on Places, and moving to and from places. You already have a few enemies that exist, so I can make some tests to try out some things within that framework.

igorfs10 commented 3 years ago

Yes, I work in a company focused in crm softwares for call center, so there are a lot of integrations with client apis.

For places you can look the struct at location file (maybe is better to rename for places) in data folder, it’s a struct that holds the name, enemies that can spawn and the item the player can find. It’s better to have the class struct so we can create use the trait from class and from enemy to generate the character to use in battle. I suggest doing something like enemy struct, it’s better to organize game data in a separated module and I think it will make easier to migrate to .json files to load game data in the future. I accept suggestion if you have a better idea. Mouse for now, but I plan to use keyboard for some actions likes use items, special moves and change places.

1sra3l commented 2 years ago

I think you explained the game play well enough for me to close this!