Engines Aether Legend of the Lunar Priest NIFE Roadmap
Shatterloop Game Projects Deprecated Starwright
Saepes Mundi Other Projects Blog  

Game Projects

CMG project notes

Posted October 29, 2021 by Xhin

Very loose and disorganized for now.

  • filter
  • tag
  • + filter by tag
  • change color
  • move, delete, create, etc
  • def (rename functions, command strings, multi-line commands, pieces of
  • functions with spec context (like "north"))
  • conditional commands

  • high scores based on command string lengths to solve a particular problem


    filter [X>5 Y>2 color=blue] tag [bluo]
    filter [tag=bluo] move north 2



    filter [tag=bluo]
    move north 2
    move east 3
    if [east=green] trade east


    successive lines refer to the same filter

  • filter [] would back out of this and go back into the global space, like:


    filter [x>5] tag [bluo]
    filter [] tag [all]


    Functions


    define ne [$amt] context move [$1]
    move north $amt
    move east $amt
    end



    define bluemove [$color] context function
    filter [tag=bluo]
    move north 2
    move east 3
    if [east=$color] trade east
    end


    more complicated (probably TOO complicated)


    define bluemove [$color $dir] context function
    filter [tag=bluo]
    move {cw $dir} 2
    move $dir 3
    if [$dir=$color] trade $dir
    end


    redefine function names


    define f context rename filter
    f [tag=bluo]


    moving block behavior

  • stop
  • jump over
  • replace
  • trade

    these should be settable, ie

    options move [block=stop8]


    syntax

    [] anything in here is a list, whether it's part of a function or an array of
    values
    {} this allows you to execute commands inside other commands, replacing the
    block with that command's output

  • commands are meant to be long and loquacious, so you can set shortcuts at your leisure.

  • Reply to: CMG project notes

    Username
    Password