No Description

Kyle Perik ecb106cea7 implement adding and deleting expressions 10 months ago
rules ecb106cea7 implement adding and deleting expressions 10 months ago
.gitignore a9e33fd2ac better beginning state and cleaned up 1 year ago
README.md 351f730e7b Update 'README.md' 1 year ago
models.py cd47b1ecc4 auto show/hide param options 10 months ago
render.py ecb106cea7 implement adding and deleting expressions 10 months ago
requirements.txt 1bfbe16c45 add requirements 1 year ago
start.py 2821202ec8 add program params 10 months ago
tools.py ed718900e4 implement craft system 1 year ago

README.md

bless

Turned based farming game in the terminal

Also includes bots that you can program to work for you

The name is just temporary, I'm not sure what to call it

Story

You're in charge of mining and using an abandoned planet to get as much value out of it as possible.

How to play

Running

Get python then install the library blessings with pip install blessings

Then just python start.py

Gameplay

Ctrl-c to quit

Bots are the little @ symbols. These you can control, or program to move for you. What bots can do is limited to working with things around them physically.

Controls

Things bots can do

Movement is just like Nethack controls:

y k u
h   l
b j n

a: drop (add)

d: pickup (destroy)

i/o: switch item

Things only you can do

c: switch bot (control)

w: wait

p: toggle program mode

Program mode

To move around, again, just use j and k,

Programs are written in a list of "do this, if ... then ... otherwise..." in a structure like this:

If <expression> then <action>
If <expression> then <action>
...

There are a default list of expressions and actions that bot can use, right now it's pretty limitted

You can cycle through them using i and o.

To move from expression to action use h and l

Plans

Bots

I want to have the ability to name them, and reference by name

Addons

The plan is to be able to construct bots to have different sensors that they can use in their programming. So bots can do whatever they want to do but can only take advantage of sensors you build in. Here are some ideas

  • Camera - so they can detect items nearby at varrying distances
    • There could be a normal camera that only works during the day, and a night vision camera too
  • GPS - so they can detect distance between/direction from different waypoints/bots
  • Energy Level - Energy has not yet been implemented, but when it is, there will be a sensor
  • Clock - Days aren't implemented yet, but when they are, Get the time of day

These sensors could come with firmware that allows usage of different expressions

Same could be said about tools

  • Gun
  • Seed planter
  • Shovel
  • Pick
  • Construction tools
  • Wheels

With all these sensors/tools, bots could be anything. Some bots could be stationary, like turrets. Or you could make one with faster wheels.

Programming

Like I said, it's really limited right now. There are a lot of thing it could do. Priorities are:

  • Allow inputs to actions or expressions
    • For example `if I see Wheat at most 10 spaces away from me then harvest it
    • The use of it could be a special keyword to reference the subject in the expression
    • Both Wheat and 10 or pehaps even at most could be params
  • Another idea is a map inteface for bots with gps to go to waypoints. Or follow other bots

Seems like there is still much that can be done with this despite not being configurable to the last bit