Engines NIFE Roadmap Shatterloop Game Projects
Deprecated 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