Minihack Code
Small and minimalistic text-based hack 'n slash RPG
Status: Beta
Brought to you by:
hiquality
File | Date | Author | Commit |
---|---|---|---|
COPYING | 2013-02-25 |
![]() |
[0b1f3b] Updated license info and added COPYING file |
Makefile | 2013-02-06 |
![]() |
[647039] Added points system to show your score in the end |
README | 2012-12-15 |
![]() |
[878ee5] Added an ingame daytime |
minihack.c | 2013-02-25 |
![]() |
[0b1f3b] Updated license info and added COPYING file |
Minihack, Lifeless Planet Software Minihack is an old-school text-based fantasy roleplaying game. In Minihack you must fight against both hellish army of demons and hunger, to which many adventurers have died. Story: When the portals of Hell were opened, doom spread all over the land. You, a young and determined adventurer, are the only person who can stop this bloodshed and plunder. Character classes: First thing you will do in Minihack is choosing character. Your choice will (hopefully) affect your gameplay very radically, so some background information is in order. Warrior: What you would expect warrior to be. He has great health but low damage. His special ability is warcry, which may scare mobs away. Archer: Archer has medium health, but due to ranged weaponry he has small damage boost. His special ability is tri-shot, which fires 3 arrows to the enemy causing triple the damage. Magician: Magician has low health, but also packs a lot of punch in damage section. He has Magical Shield as his ability, which blocks all enemy attacks for 5 turns. Priest: Priest has medium starting stats, but his specialty, heal, easily replaces the lost health and damage. This character makes for longer games and increased tactics. Assassin: Assassin has very low health, but his weapons are unmatched. His specialty is single-hitting 100% sure-to-kill backstab. This character usually has shorter lifespan, but it makes for extreme tactics and the most interesting games. When playing for the first time you should play as Warrior, Archer or Magician until you understand the basics. You should then try every class in the game and find one that suits your style. If you prefer shorter games with trading and tactics, you may find Assassin and Magician great characters. If you, on the other hand, like long games full of character leveling Warrior and Priest are more suited for you. Archer is a general character, made for medium length games with no specific special abilities. You may find it interesting when actually trying to beat the game, instead of your highscores. Gameplay: Instead of the typical Rogue or Nethack style of gameplay, I went with more familiar MUD-style command interpreter. It understands basic one-word commands like "attack" or "cast". To refresh your memory you can use the "help" command to list all available commands and what they do. Also, remember to read all the information you are given, at least when playing for first times! For example, if you don't give a notice to your health levels, you may find yourself fighting agaist a demon with no chance of surviving. Hunger is another important aspect, to take care of. Many adventurers have fallen due to the simple fact they found nothing to eat. Each game lasts for 5 to 20 minutes. You should also remember, that you are going to die A LOT. Even I have trouble keep my character alive and I am, after all, the creator of the game! Gameplay aspects in detail: Moving around and exploring your surroundings: First thing you need to do is get around in the world. This is achieved by using commands "west", "east", "north" and "south". Before each turn you are given information about the place you are currently at. This data isn't currently too important, except when hunting for food. Figting and special abilities: Second most important thing is to know how to fight. The world is a dangerous place and if you don't know when and how to fight your journey is doomed from the beginning. When moving around the world you find enemies "spawning" near you and they will try to kill you. Only ways to keep them from achieving their only goal in life is to either fight or run. To fight you can use command "attack" which does random damage from 0 to your current damage level. You may also "cast" a special ability, which has either passive, offensive of defensive effect. To see which ability each class has, check the "Character classes" above. Hunting for food: Without food your character dies of starvation pretty quickly. To prevent this, you must either hunt for food or buy food from local villages. Because villages are pretty rare and because it is expensive to buy food from them, you should know the basics of hunting. To hunt you use the "hunt" command. After this the game tells if you found anything or not. This depends on your luck and which biome (environment) you are in. Thick and dark woods are most obvious places finding food, while deserts rarely have anything in them. Interactions with villages: Villages are great places to rest and buy new equipment. To simply rest, you can use the "wait" command, which will also restore some of your health. You can also use "buy" command to buy health potions, food and weapons. The buy command takes you to shopping interface, which is simple list/select interface similar to class selection. (Actually) winning the game: After wandering a while you might wonder how to really win the game. For variety TWO conditions have been set under which you may win the game. Number one is to kill 5 demons, so the army of evil will lose its leadership and disperse. This condition is for those who prefer fighting over adventuring, but it may take time to find all the necessary foes. Second way to win the game is by finding the Library of Awesome Truth (shortened: Library of Truth) to find a way to cast the evil army away from your realm and close all the Hell Portals. The library is set into random coordinates and you will have to manually find it, but there are rumours that the location was written to few scrolls that were scattered all over the land. To win the game this way requires patience and curiosity. You also need to travel further and be extremely careful with hunger and village locations. Gameplay tips: 1. Use 'wait' and 'hunt' in forests to gain much health. 2. If you are a magician, use 'cast' when you want to 'wait' or 'hunt'. 3. Exploit the 'cast' command every time possible. 4. Don't spend too much time on swamps. 5. If prices are too high on villages, wait a bit and try again. 6. Don't panic. About the project: Minihack borned out of frustration with current roguelike games that have keymaps that are simply too hard to remember correctly, especially in the middle of a tight battle with dozen of kobolts. (Yes, that really happened and I ended up running into walls...) After that failure I decided to make a combination of roguelikes and text adventures. Currently game has a single word "parser" and a random map generator. This combination has worked very well, because every game is different and I can still remember every command I need. Decision to go with parser was also influenced by my previous experience on creating small text adventures. Minihack is currently in quite early state, although all originally planned features have been implemented. New features will be added however when they are come up with. Minihack is also free software (free as in freedom) so you can take the code and build on top of it or re-use code from it. You can also send feature requests. (I am not sure if I implement them, but at least they give me another point of view into the project.) For Minihack I went with GNU's GPL to quarantee freedom also for those, who use redistributed versions or forks of Minihack. Special thanks: Iceknight93, for your awesome reports and feature requests. Also, thanks for being open-minded about my game, even though it is most likely the simplest game you've ever seen. You are also the first one to truly roam the whole map (3600 locations). Kimtu/Jantucent, for excellent conversations and helping me stay on good mood. Although you will probably never play the game, on your own way you have helped me create it while staying sane. JanTTuX, for bug reporting and cool development ideas regarding porting Minihack to different platforms. My dad, for good advice on programming. He also helped me when I decided to learn about programming a while back. ... and many others. Sadly, I don't have enough space to credit all of you, there are simply too many people, that have influenced my life.