Skip to content
This repository has been archived by the owner on Feb 14, 2021. It is now read-only.
/ mh-scala Public archive

Procedurally Generated MH-like Command Line game

License

Notifications You must be signed in to change notification settings

PicoJr/mh-scala

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Procedurally Generated MH-like Command Line game

What's inside?

  • monster hunter like command-line game

asciicast

  • procedurally generated content (items, craft system, monsters & quests)
  • dot file generation from generated craft system (see below)

example

Note: icons from http://game-icons.net/

Motivations

Learn

  1. discover Scala concepts, syntax & ecosystem from scratch
  2. try-out design patterns (decorator, abstract factory, builders...)
  3. tackle design challenges (S.O.L.I.D)
  4. try out reactive programming with rescala
  5. discover Scala generics (bounds & variances)
  • Single Responsibility Principle
  • Open-Closed Principle
  • Liskov Substitution Principle
  • Interface Segregation Principle
  • Dependency-Inversion Principle

A Respectful Game

  1. random-free after procedural generation
  2. no quest order/level restrictions on the player
  3. no time-consuming mechanics (farming, grinding, randomized loot,...)
  4. quests are instantaneous
  5. configurable and (hackable...I tried)

Game Mechanics

see game-mechanics.md

Dependencies

Notes

  • doc can be generated with sbt doc
  • tests can be run with sbt test

Game Configuration

see src/main/resources/application.conf

TODO

  • take status into account inside quest logic
  • add game stats
  • make craft generation more configurable/hackable
  • add feasibility check (check at least 1st quest can be completed with provided equipment)

FixMe

  • charm slot limit can be bypassed by equipping/un-equipping armors