Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Hi

Pages: [1] 2 3 ... 11
1
7DRLs / Re: Rogmind - 7drl2016 - finished
« on: October 30, 2018, 12:10:06 AM »
Ok, here's the documentation

Each turn your golem votes on what action to perform and once impossible actions (like walking through a wall) are removed, the remaining action with the highest votes is chosen and executed (if multiple actions have the same amount of vote a random one is chosen).
Currently the only available action is moving in the eight cardinal directions:
movenorth
movenortheast
moveeast
movesoutheast
movesouth
movesouthwest
movewest
movenorthwest

And moving in the eight relative directions:
moveforward
moveforwardright
moveright
movebackright
moveback
movebackleft
moveleft
moveforwardleft

A vote on an action looks like this
increase <action> by <amount> <predicate>
or
decrease <action> by <amount> <predicate>

when the <predicate> is true the vote on <action> is increased or decreased by <amount>

For example to make the golem follow walls, you can give it this program

increase moveForward by 10
increase moveRight by 5
increase moveRight by 10 ( not walkable back ) or ( not walkable forward ) right
increase moveForward by 5 ( not walkable left ) or ( not walkable right ) forward

In an open space it moves forwards because forward has the highest vote.
When this is impossible it turns and moves right because right has the second highest vote.
The predicate ( not walkable left ) or ( not walkable right ) forward checks to see if the tile to the forward left is blocked or the tile to the forward right is blocked.
If moving right would leave it touching a wall (because either the forward right or backwards right tile is not walkable) then the vote on going right is increased to 15.
If moving forward would leave it touching a wall the the vote on going forward is increased to 15.
This means that it goes whichever way leaves it touching a wall.
And finally if all these directions are blocked the the golem goes in a random unblocked direction.

We don't have to stick with primitive actions, new actions that can be voted on are defined by
to <action name>
[<vote>]
so from then on you can increase of decrease <action name>
This multiplies all the votes in <action name>'s body by e to the amount of vote <action name> got.
This means you can choose to view the program as a kind of hand crafted neural network.

You can also use macros to reduce typing a little bit <macro name> is <macro body> replaces the macro name with its body within the rest of the program.


List of functions
Numeric

age : how long since you saw that location
distanceTo
- : negative
sign: sign of number
max
min
+ : add
- : subtraction
* : multiply
/ : divide
health
maxHealth
damage
speed

Boolean

immediately visible: only those tiles that are visible this turn
walkable: can you walk there
flyable
destructable: can the terrain be destroyed
opaque: can you not see through it
swimmable
named <name>: is there a creature plant item or terrain named <name> at that location
not
or
and
> : greaterThan
>= : greaterThanEqual
< : lessThan
<= : lessThanEqual
= : equal
!= : notEqual
hostile
friendly
neutral
walker
swimmer
flier

Directions

north
east
south
west
forward
right
back
left


2
7DRLs / Re: Rogmind
« on: March 13, 2016, 08:56:49 PM »

3
7DRLs / Re: anima
« on: March 08, 2016, 03:28:37 AM »
The command language for defining actions is structured like this

increase <action> by <expression> <quantifiers>
the quantifiers restrict the expression so it only operates on the specified inputs

for example to make the golem follow walls you could enter this program.
At each step the golem performs the action with the most weight

Code: [Select]
increase forward by 10
increase right by 5
increase left by 15 wall behindLeft

left is only given a weight of 15 when the tile behind and to the left of the golem is a wall. Otherwise it is left unchanged

4
7DRLs / Re: anima
« on: March 07, 2016, 12:25:26 AM »
the scripting language to control the golem with is half implemented

this is a visualization of the output of "distance walkable"
which for each walkable location outputs the distance from you.

5
7DRLs / Rogmind - 7drl2016 - finished
« on: March 05, 2016, 07:52:25 PM »
You program a golem and it plays the game for you.

May be too ambitious.

Declaration of pre-existing material:
built off the bones of my previous 7drl Hexxus-Quest

6
Early Dev / Re: The Brikverse
« on: December 24, 2015, 06:59:41 PM »
that looks very cool.

7
Design / Re: malfunctioning items
« on: October 09, 2015, 01:42:59 AM »
Right now the game is at the stage of collecting ideas that give the right feeling of immersion and interesting decision. 
Mushroom_patch: I'm pretty sure you're joking but those ideas do feel immersive.
AgeingMinitaur: It is true that if there is only one way for the player to deal with it, it doesn't matter if it is a fissure in the metal or a disturbance in the Force.  But if a fissure in the metal could be temporarily closed by freezing the ring, and a disturbance in the force could be temporarily calmed by placing the ring in an anti-magic potion, then the origin of the defect matters.  The "battery" is abstract because it isn't user serviceable.
Your mention of unevenly mixed potions is interesting because it suggests a alchemy system where mixing potions matters.
Some conditions:
  • daylight
  • at least N turns after your last kill

akeley: The wand uses a mechanical metaphor because I don't have enough personal experience with magic to know what components a truly magical thing is made of.  I would be happy to hear any analysis you have.

8
Design / Re: malfunctioning items
« on: October 08, 2015, 01:51:53 PM »
That is an excellent analysis, I will use it in my game. 

9
Design / malfunctioning items
« on: October 08, 2015, 04:54:14 AM »
I am thinking about making a game where items accumulate malfunctions similar to how our everyday objects like cars and laptops do.  Currently I have a scheme for magic wands and would like to make similar schemes for other items.

A wand is composed of
  • charger: refills the battery
  • battery: stores charge
  • regulator: determines power, range and charge usage
  • aim: how it is aimed
  • trigger: causes the wand to fire

a malfunctioning battery can spark, causing the wand to fire, or lose charge over time
a malfunctioning regulator can lose range, discharge the full battery into one shot, or release several shots at once
a malfunctioning aim can veer to the left or right, or refuse to let you change targets
a malfunctioning trigger can be stuck on, or require several uses to fire.

Malfunctions start by only causing trouble in extreme states (or conjunctions of extreme states) and gradually get worse over time.
relevant states are:
  • hot, warm, cool, cold
  • very charged, normal, drained
  • wet, normal, dry
  • vibrating, still

How should I extend this to items that aren't wands, so they too can malfunction in sensible ways?

10
Early Dev / Re: Demon: A monster collection roguelike
« on: September 08, 2015, 01:55:34 AM »
very nice!

11
Early Dev / Re: Demon: A monster collection roguelike
« on: August 31, 2015, 04:20:48 AM »
the application crashes immediately on startup, most likely due to my software being outdated.  Do you know what I should do to enable it to run?
Code: [Select]
Process:         Demon [86646]
Path:            ~/Downloads/Demon_8_30_2015_Mac_Build/Demon.app/Contents/MacOS/Demon
Identifier:      unity.FerretDev.Org.Demon
Version:         ??? (???)
Code Type:       X86 (Native)
Parent Process:  launchd [104]

Per-App Interval Since Last Report:  0 sec
Per-App Crashes Since Last Report:   1

Date/Time:       2015-08-30 21:12:42.505 -0700
OS Version:      Mac OS X 10.5.8 (9L31a)
Report Version:  6
Anonymous UUID:  AC3C80F0-C1A4-4BCE-B225-B36A80587CC8

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Crashed Thread:  0

Dyld Error Message:
  unknown required load command 0x80000022

12
Early Dev / Re: My first roguelike
« on: July 30, 2015, 02:27:41 AM »
it probably wasn't me winning because the dragons are too smart for me to kill yet.

13
Early Dev / Re: My first roguelike
« on: July 29, 2015, 04:37:21 AM »
X doesn't seem to do anything, and the game froze up on me.

14
Design / Re: Monster ideas for a "color" themed game?
« on: July 28, 2015, 04:50:30 AM »
one of them can be named Darren

15
Player's Plaza / Re: angband speed running?
« on: November 04, 2014, 02:58:11 AM »
Wow. I just checked it out and that is terrible. Who thought it would be a good idea to do that?
It's the classic "speak friend and enter".  Honestly when you said that it required people to know fake Tolkien languages I was at least 50% certain what it was. But you're right it is extremely exclusionary if you haven't read the book. (the answer is "mellon").

Pages: [1] 2 3 ... 11