Giter Club home page Giter Club logo

ofmiceandmechs's Introduction

OfMiceAndMechs

a prototype for a game

discord: https://discord.gg/uUMWHbS mail: [email protected]

the aim of this game

OfMiceAndMechs aims to be about adventures exploring hierarchies in a living complex world.

This means you should be able to walk around and kill enemies and do quests. On your quests you should explore a vast map and have companions that walk, fight and die with you.

The NPCs and the player should give each other commands and quests and sometimes complete a big quest together. If you do good, you should get a promotion and underlings to boss around.

These quests should usually not be player focused, but generated from the world and should have an impact on the world. A hardcoded story wouldn't hurt either, so things don't get too boring.

state of the game

A lot of work has been sunk into this project. Currently i'd estimate the game to be 25% done. A lot of things are still missing. I did get simple playable version to try out. That way i got some player feedback, which resulted in massive changes an lot of polishing. I'm pretty proud of it by now and think i may reach demo this year.

Check the website for downloads, more in depth information and texts. But most important:

Try the game and send me some feedback!

ofmiceandmechs's People

Contributors

b3yond avatar darkoroso avatar hero-clashes avatar hexdecimal avatar marxmustermann avatar umbralreaper avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

ofmiceandmechs's Issues

furnace refireing broken

wenn ich den ofen einschalte, mit dem gefΓ€hrt rumcruise und der ofen geht wieder aus, bleibt der boiler weiterhin an, wenn ich rechtzeitig nachfΓΌlle, ich kann aber nichtmehr rumcruisen.

Make autosolvers navigate menus correctly

from tester: "the autoplanner doesn't accout for missclicks?"

The autosolver navigating though menus is not always giving the right instructions for each menu when not followed correctly.
This dampens user experience and should be fixed

crash with keyerror 'a'

{}
game ready press enter to startTraceback (most recent call last):
File "executeMe.py", line 570, in
interaction.loop.run()
File "/usr/lib/python3.6/site-packages/urwid/main_loop.py", line 287, in run
self._run()
File "/usr/lib/python3.6/site-packages/urwid/main_loop.py", line 385, in _run
self.event_loop.run()
File "/usr/lib/python3.6/site-packages/urwid/main_loop.py", line 790, in run
self._loop()
File "/usr/lib/python3.6/site-packages/urwid/main_loop.py", line 823, in _loop
alarm_callback()
File "/usr/lib/python3.6/site-packages/urwid/main_loop.py", line 173, in cb
callback(self, user_data)
File "/home/user/OfMiceAndMechs/src/interaction.py", line 2966, in gameLoop
processInput(key,charState=state,noAdvanceGame=True,char=char)
File "/home/user/OfMiceAndMechs/src/interaction.py", line 1488, in processInput
done = charState["submenue"].handleKey(key)
File "/home/user/OfMiceAndMechs/src/interaction.py", line 2012, in handleKey
self.char.inventory[self.subMenu.getSelection()].apply(self.char)
File "/home/user/OfMiceAndMechs/src/items.py", line 2971, in apply
self.createCommand()
File "/home/user/OfMiceAndMechs/src/items.py", line 3024, in createCommand
while not self.character.macroState["macros"]["a"][-counter] == "i":
KeyError: 'a'

Message unclear + exception on choosing yes

14:51:11:OfMiceAndMechsπŸ”  python3 executeMe.py
could not load gamestate. abort (y/n)?y
Traceback (most recent call last):
  File "executeMe.py", line 425, in <module>
    raise e
  File "executeMe.py", line 421, in <module>
    gameStateObj.load()
  File "/Users/ebernoth/coding/OfMiceAndMechs/src/gamestate.py", line 59, in load
    state = json.loads(rawstate)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/__init__.py", line 348, in loads
    return _default_decoder.decode(s)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

replace satiation display with warnings display

The current satiation display is confusing and when discussing how to change it the it turned out to be complicated, but with little importance to the player.

The conclusion was to replace it with a generalized warning that can cover more cases and needs not to be interpreted by the player.

Get epoch reward task breaks when rewards are claimed out of order.

Near the start of a game you are tasked with claiming epoch rewards, this gives to a list of what to claim.

The first item in this list will be removed when any reward is claimed, which makes it easy to lose track of what to claim if a reward is misclicked or rewards are picked out of order.

Other things to note, it might be nice to know which NPC's of each type currently exist when in the epoch reward menu, but I'm not sure of the design goal here.

exception in second room examining red `@` field

If I stand on the red @ in the second room (swampy) and click e to find out what the red @ is, it dies.

Traceback (most recent call last):
  File "executeMe.py", line 459, in <module>
    interaction.loop.run()
  File "/home/me/mice/lib/python3.6/site-packages/urwid/main_loop.py", line 286, in run
    self._run()
  File "/home/me/mice/lib/python3.6/site-packages/urwid/main_loop.py", line 384, in _run
    self.event_loop.run()
  File "/home/me/mice/lib/python3.6/site-packages/urwid/main_loop.py", line 788, in run
    self._loop()
  File "/home/me/mice/lib/python3.6/site-packages/urwid/main_loop.py", line 825, in _loop
    self._watch_files[fd]()
  File "/home/me/mice/lib/python3.6/site-packages/urwid/raw_display.py", line 404, in <lambda>
    event_loop, callback, self.get_available_raw_input())
  File "/home/me/mice/lib/python3.6/site-packages/urwid/raw_display.py", line 502, in parse_input
    callback(processed, processed_codes)
  File "/home/me/mice/lib/python3.6/site-packages/urwid/main_loop.py", line 411, in _update
    self.process_input(keys)
  File "/home/me/mice/lib/python3.6/site-packages/urwid/main_loop.py", line 517, in process_input
    something_handled |= bool(self.unhandled_input(k))
  File "/home/me/mice/lib/python3.6/site-packages/urwid/main_loop.py", line 563, in unhandled_input
    return self._unhandled_input(input)
  File "/home/me/OfMiceAndMechs/src/interaction.py", line 135, in show_or_exit
    processAllInput(commandKeyQueue)
  File "/home/me/OfMiceAndMechs/src/interaction.py", line 143, in processAllInput
    processInput(key)
  File "/home/me/OfMiceAndMechs/src/interaction.py", line 514, in processInput
    mainChar.examine(itemMarkedLast)
  File "/home/me/OfMiceAndMechs/src/characters.py", line 603, in examine
    messages.append(item.description)
AttributeError: 'NoneType' object has no attribute 'description'

the goo dispenser doesn't dispense goo

In the first room there is a goo dispenser. I would expect if I interact (j) with it, that it would do it's thing, which intuitively would be dispensing goo. It should at least say something. If it first tells me after running it, that I can j it and then I can't it's frustrating.

PS: You owe me some goo.

crash when starting the game

from discord

When trying to run the game, i got errors due to lack of 'fcntl' in urwid.
[10:43]
I'm pretty sure this is because of this line:
[10:43]
try:
import fcntl
import termios
import tty
except ImportError:
pass # windows
[10:43]
Do you know how to avoid this error?

more information needed to reproduce hunt bug. Offending code is not in the game, probably a dependency issue

Machining table glitch

  • Activate a machining table
  • Select "produce item"
  • Cancel out with the escape key

I'd expect this to exit the menu without performing a task, but instead time is spent creating a machine that produces MetalBar -> None

some broken characters in unicode mode

info from: #2

the following chars do not work for this person. The chars are shown in unicode mode

+foodStuffs = ["՞՞","πŸ–","☠ ","πŸ’€","πŸ‘‚","βœ‹"]
+hub = "🜹 "
+vatSnake = "πŸ‡ "
+randomStuff1 = ["πŸœ† ","🜾 "]
+randomStuff2 = ["🝍🝍","🝍🝍","🝍🝍","πŸ–΅ ","πŸ–΅ ","πŸœ• "]
+winch = "πŸž‡ "
+winch_inactive = "πŸž… "
+winch_active = "πŸž‡ "

hotkey confusion

Either the tutorial needs to redo the hotkey lessons a few times that one can remember or one needs a way to look them up again. After just playing 5 mins I think I've learned j,k,J,e. It would also be cool if the keys would be related. Like e - examine makes sense, but why is pickup k?

tile based renderer crashes when used with --nourwid

Traceback (most recent call last):
File "executeMe.py", line 193, in
raise e
File "executeMe.py", line 186, in
loaded = gamestate.gamestate.load()
File "/home/user/src/OfMiceAndMechs/src/gamestate.py", line 158, in load
self.setState(state)
File "/home/user/src/OfMiceAndMechs/src/gamestate.py", line 184, in setState
thisTerrain = src.terrains.getTerrainFromState(item, creator=self)
File "/home/user/src/OfMiceAndMechs/src/terrains.py", line 3377, in getTerrainFromState
terrain.setState(state)
File "/home/user/src/OfMiceAndMechs/src/terrains.py", line 2188, in setState
item = src.items.getItemFromState(itemState)
File "/home/user/src/OfMiceAndMechs/src/items.py", line 978, in getItemFromState
item = itemMapstate["type"]
File "/home/user/src/OfMiceAndMechs/src/itemFolder/plants/commandBloom.py", line 9, in init
super().init(display=src.canvas.displayChars.commandBloom)
AttributeError: 'TileMapping' object has no attribute 'commandBloom'

crash when saving while driving a mech

narf@0:~/OfMiceAndMechs$ python3 executeMe.py
load gamestate? (Y/n)
{}
game ready press enter to start
Traceback (most recent call last):
File "executeMe.py", line 563, in
interaction.loop.run()
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 286, in run
self._run()
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 384, in _run
self.event_loop.run()
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 788, in run
self._loop()
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 821, in _loop
alarm_callback()
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 172, in cb
callback(self, user_data)
File "/home/narf/OfMiceAndMechs/src/interaction.py", line 2966, in gameLoop
processInput(key,charState=state,noAdvanceGame=True,char=char)
File "/home/narf/OfMiceAndMechs/src/interaction.py", line 1488, in processInput
done = charState["submenue"].handleKey(key)
File "/home/narf/OfMiceAndMechs/src/interaction.py", line 1743, in handleKey
super().handleKey(key)
File "/home/narf/OfMiceAndMechs/src/interaction.py", line 1691, in handleKey
self.followUp()
File "/home/narf/OfMiceAndMechs/src/interaction.py", line 950, in trigger
gamestate.save()
File "/home/narf/OfMiceAndMechs/src/gamestate.py", line 88, in save
gamedump = json.dumps(state,indent=4, sort_keys=True)
File "/usr/lib/python3.6/json/init.py", line 238, in dumps
**kw).encode(obj)
File "/usr/lib/python3.6/json/encoder.py", line 201, in encode
chunks = list(chunks)
File "/usr/lib/python3.6/json/encoder.py", line 430, in _iterencode
yield from _iterencode_dict(o, _current_indent_level)
File "/usr/lib/python3.6/json/encoder.py", line 404, in _iterencode_dict
yield from chunks
File "/usr/lib/python3.6/json/encoder.py", line 404, in _iterencode_dict
yield from chunks
File "/usr/lib/python3.6/json/encoder.py", line 404, in _iterencode_dict
yield from chunks
[Previous line repeated 1 more time]
File "/usr/lib/python3.6/json/encoder.py", line 437, in _iterencode
o = _default(o)
File "/usr/lib/python3.6/json/encoder.py", line 180, in default
o.class.name)
TypeError: Object of type 'function' is not JSON serializable

undo or go-back button

I just happened to misclick and the dialogue continued without any option to go back.

pygame doesn't load own window?

So, there's a separate window, but it's not doing anything so far. And the game itself seems to load in the shell, just like without -t:

pygame

give feedback on UI interactions success

A tester tried to use a menu and did it successful some time and unsccessful some times. The tester was not sure if the whole interaction succeeded or failed.

Each interaction should have given some feedback to allow to see what was successful and what was not

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.