let it leave me like a long breath

let it dissipate or fade in the background

Jan. 4th, 2019

Profile

xax: purple-orange {11/3 knotwork star, pointed down (Default)
howling howling howling

Nav

  • Recent Entries
  • Archive
  • Reading
  • Tags
  • Memories
  • Profile

Tags

  • art - 2 uses
  • asteroid garden - 4 uses
  • code - 19 uses
  • demos - 1 use
  • dreams - 5 uses
  • ff7 fangame - 23 uses
  • fic prompts - 13 uses
  • gamedev challenge - 82 uses
  • hell game - 76 uses
  • nanowrimo - 11 uses
  • plants - 9 uses
  • process - 52 uses
  • programming - 51 uses
  • screenshots - 5 uses
  • writing log - 83 uses

May 2025

S M T W T F S
    123
45678 910
1112131415 1617
18192021222324
25262728293031
    • Previous Day
    • |
    • Next Day

    Jan. 4th, 2019

  • xax: yellow-orange {7/2} knotwork star, pointed down (7sided)
    Tags:
    • programming
    posted @ 02:55 pm

    graph grammars

    so when i was doing my old dungeon generation/landscape generation code i was using a handmade graph grammar system that was cut into two halves: the actual graph expansion code, which did subgraph identification and proposed random expansions; and a graph embedder that was responsible for successfully placing a proposed expansion or rejecting it as impossible.

    it's a pretty simple setup but it works, but also it's kind of impossible to declare or run various kinds of more complex expansion/embedding rules -- or at all handling rules that involve expansions dependent on the embedding like e.g., connect two random unconnected nodes: the expander can't sort possibilities to only try adjacent nodes; it would have to try adding an edge between every pair of nodes. my graph embedder also couldn't really handle expanding an edge into a node, since that would involve pushing existing nodes apart, and i never worked out all the physics-like code for handling those kinds of situations. and since that was the code i was using i started to think like "oh well there are some problems like solid map generation that graph grammars just aren't good at", when actually the real problem was that my code was very bad at them; they're entirely reasonable to use for all sorts of stuff that my code is atrocious at.

    so i'm thinking i should probably try to fix up the graph expansion and graph embedding code. i wrote a way to extract a graph from a given polyhedra, and so theoretically i could use that to construct some graph embeddings in 3d, but as my code currently exists it would be very poor at building a real world map. very poor support for wraparound. but that's an artifact of my bad embedding more than anything else, so, maybe it's time to actually try to fix that.

    • Add Memory
    • Share This Entry
    • Link
    • 0 comments
    • Reply
    • Previous Day
    • |
    • Next Day
Page generated Sep. 4th, 2025 03:23 pm
Powered by Dreamwidth Studios

Style Credit

  • Style: (No Theme) for vertical