An open API service indexing awesome lists of open source software.

https://github.com/charafzellou/theminigogame

A simple RPG mini-game in GO around the Witcher lore
https://github.com/charafzellou/theminigogame

game go golang rpg

Last synced: about 2 months ago
JSON representation

A simple RPG mini-game in GO around the Witcher lore

Awesome Lists containing this project

README

        

# TheMiniGoGame

TheMiniGoGame is a... well, everything is in the title πŸ™„

It is a school project to learn basic *`Go`* / *`GoLang`* skills based on The Witcher lore.

The minigame is a turn-based RPG allowing you to control a character and **fight your friends** or play a **multiple-choice story** πŸ“ŠπŸ’¬.

Choose one of the **five available classes** β™ž-🏹-πŸ±β€πŸ‘€-πŸ™-πŸ’ͺ, explore the **world** πŸ—ΊοΈ, make the right choices *(or not?)*, brew **potions** βš—οΈ, learn **combo attacks** πŸ›‘οΈ, and defeat the **dangerous boss** πŸ‘Ή waiting at the end of this beautiful pile of code πŸŽ‰!

## The game

```go
// work in progress
```

## Project Roadmap
- [x] Create two functions: "getHit" and "hit" which respectively remove life points from a user and remove them on a monster. Parameters are to be defined freely.
- [x] Create a function which, depending on the fate suffered, allows you to restore life points.
- [X] Create the corresponding Structs (at least two Structs: Player and Attack), which would allow two players to compete in PVP.
- [X] The Struct must allow players to have predefined attacks as well as basic life points.
- [X] Create a Combo function (corresponding to the Player Struct) allowing you to chain several attacks together at the same time, and therefore to subject an opponent to several attacks.
- [x] Implement a way to allow groups of players to compete against each other (hint: use Collections)
- [x] Each player must be able to register when accessing the program using a pseudonym and a password. Set up a β€œregister” function.
- [x] Once this is done, ask for the player's username and password and offer them players with +- 20% of their level to be able to play with them and/or face them.
- [X] Create a "Monster" Struct which will allow players to do PVM (Player Vs Machine).
- [ ] Once connected to the program, a monster can attack a player if the player remains inactive for more than 20 seconds.
- [ ] BONUS: Develop a mechanic allowing several players to face several monsters at the same time.

## Contributing
Pull requests are always welcome πŸ€“, though we have no desire to turn this school project into a full game.

For bug fixes or improvements, please open an issue and we will get back to you as soon as we can! πŸ”œ

## License
Please cite the author [Charaf ZELLOU](https://linkedin.com/in/charafzellou/) and the source [theminigogame repository](https://github.com/charafzellou/theminigogame/) in any copies, forks or use of the material in this repository.

[GNU Affero General Public License v3.0](https://choosealicense.com/licenses/agpl-3.0/) πŸ₯