Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Logo designation, aka 'turtle is gone wild'  (Read 940 times)

Abadrausar

  • Bay Watcher
  • empowering ideas
    • View Profile
    • ♫♪♀HDFPS♂♪♫
Logo designation, aka 'turtle is gone wild'
« on: December 07, 2014, 06:16:12 am »

Now that Toady is revisiting designations design and reintegrating cumulated knowledge...

Why not profit for introducing a Logo-like 3D designation kind of macros?

Pros:

Simple to understand and implement (proven grounds: OpenGL and Cairo reuse some of the best ideas in Logo as decoupling context) yet versatil and even OverPowered paradigm to minimally describe regions in the space.

Quickfort most notable optimizations come from a clever algorithm to recognize the shortest logo-like patterns to draw a given designation (The mathematical theses that it is based upon are of masterwork quality  ;))

Separating Context state (size of pen, up or down?, kind of foreground brush [type of designation, construction or painting operation], default filling operation of background of a designation, starting position, ...) from the compact  movements parts of a region description we could obtain a quantum leap in the completeness and usability of the DF macro system cutting down his verboseness.

Contras:

Logo is considered a childdish lang by some because even the youngest can learnt intuitively with it and do astonishing things (sorry not sure that is a contra but clearly can be a prejudice)

Your thoughs?
« Last Edit: December 07, 2014, 10:46:58 am by Abadrausar »
Logged
::: Humble Dwarf Fortress Publishing System ♫♪♀HDFPS♂♪♫ Mods Push Published in DFFD are auto updated in local Players Catalog :::

Abadrausar

  • Bay Watcher
  • empowering ideas
    • View Profile
    • ♫♪♀HDFPS♂♪♫
Re: Logo designation, aka 'turtle is gone wild'
« Reply #1 on: December 07, 2014, 07:02:08 am »

Spoiler (click to show/hide)
Logged
::: Humble Dwarf Fortress Publishing System ♫♪♀HDFPS♂♪♫ Mods Push Published in DFFD are auto updated in local Players Catalog :::

Reelya

  • Bay Watcher
    • View Profile
Re: Logo designation, aka 'turtle is gone wild'
« Reply #2 on: December 07, 2014, 07:17:34 am »

idk Logo is a vector-based drawing language and DF is a cell-based mapping system. Logo isn't really a good fit for DF. You want rasterizing functions, and then it might as well be any language other than Logo. Logo maintains a "current pos" e.g. a single cursor location. This is actually a drawback of the system because only having a single cursor location means you have to carefully reverse your steps to generate e.g. a tree.

A 3D designation system could pass the x,y,z center for a new block as parameters and then that function generates the local designations. When the function returns, then the old x,y,z location would be restored automatically. Logo doesn't do that. So just using recursion and subroutines would give you the "relative cursor" effect of Logo, without the heavily constricted language model. A variant of Basic might be the best bet if you want something that people can use that won't be syntactically complex for non-programmers.

I don't think Logo is necessarily "childish" as a language, just because it's used as a teaching aid. Logo doesn't give you much high-level functionality, you have to basically implement a lot in it that you'd get handed to you as libraries in any other language. If you want to do anything meaningful in Logo it's actually pretty damn hard.

What I think would work best is a heirarchical system: partition space into "blocks" (fortress areas) then decide how each block connects to the other blocks, and then subdivide the blocks into levels and rooms. Doing a recursive subdivision of space down to the room/doorway level is the best way to lay things out because then you never have the risk of one room accidentally overlapping another one. So, a language which supports this sort of recursive subdivision of rectangular blocks would be best. Even better if the system can also have angled or curved edges to regions, so it can lay out e.g. a circular tower and buildings clustered around that.
« Last Edit: December 07, 2014, 07:41:03 am by Reelya »
Logged

Abadrausar

  • Bay Watcher
  • empowering ideas
    • View Profile
    • ♫♪♀HDFPS♂♪♫
Re: Logo designation, aka 'turtle is gone wild'
« Reply #3 on: December 07, 2014, 11:17:40 am »

I don't think Logo is necessarily "childish" as a language
Like you, I think that some ideas or abstractions implemented in Logo can have a use refactoring the designations of Dwarf Fortress and the associated macro system.

Having the possibilty of decoupling context from movement is paramount, if you can save and restore both of them separately you have a flexible and powerful system to describe regional features in a delimited space.




Logged
::: Humble Dwarf Fortress Publishing System ♫♪♀HDFPS♂♪♫ Mods Push Published in DFFD are auto updated in local Players Catalog :::