let it leave me like a long breath

let it dissipate or fade in the background

Nov. 10th, 2015

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

    Nov. 10th, 2015

  • xax: purple-orange {11/3 knotwork star, pointed down (Default)
    • Current Music: toby fox - Undertale
    posted @ 12:29 am

    nanowrimo day 9

    i wrote 1829 words today! so, not exactly catching up but not falling any further behind either.

    no excerpt today really; most of what i wrote was an even-more scattershot collection of scenes early on. finally writing brulvundojn's introduction proper!!

    there's a character that is like... an enormous lanky goat silhoutte w/ glowing eyes and teeth. he's solid but his fur is utterly matte black. he's also mute & has a silencing aura and so he signs everything w/ glowing letters (and sometimes incomprehensible monster glyphs), and out of all the characters he's the one i would want to date. sometimes i think i'm writing him a little too... precious way though. like ha ha isn't he wacky

    FUCK HIM OR KILL HIM I SAY, he signed. BUT I WON MY FIGHT, SO YOU CAN DO WHATEVER YOU PLEASE SO LONG AS YOU DON'T MAKE A SCENE. His head swung around, grin huge. OR FOLLOW HIM INTO THE PIT; I'D ALLOW THAT.

    "Wow, you're even more, uh--" Luis started. _weird_.

    ADRENALINE, Noktigo wrote, and then (THE MONSTER VERSION) beneath in smaller letters.


    for those of you attempting to vaguely follow the characters and their interrelations, he's the bouncer (well, bouncer-equivalent) at malicajn's ring. probably he kills people sometime. people like humans who trespass on their place w/o an invitation. (he fucks luis too b/c basically... everyone does?? luis fucks half the cast before he starts dating brulvundojn and fucks the other half during/after/during again)

    basically all the characters are super obnoxious it's just the nuances of how that change

    no actual excerpt today!! i've been slowly pinning scenes down to focus more and more heavily on the actual start of the story so maybe tomorrow i'll have the actual opening written. we can hope.

    • Add Memory
    • Share This Entry
    • Link
    • 0 comments
    • Reply
  • xax: purple-orange {11/3 knotwork star, pointed down (Default)
    • Current Music: Dee D Jackson - Automatic Lover
    Tags:
    • code,
    • programming
    posted @ 01:04 pm

    ha ha ha ha it works it worksssssss

    {-# LANGUAGE MultiParamTypeClasses, FlexibleInstances, FunctionalDependencies,
    OverlappingInstances,
    UndecidableInstances, TypeFamilies,
    TypeOperators, ViewPatterns, FlexibleContexts #-}
    
    module Generation.Layer.Render
      ( Extract(extract)
      , render
      , (?)(..)
      , Term (..)
      , Extend (..)
      ) where
    
    import Prelude hiding (map)
    
    import Data.Map
    
    render :: Extract from (Map k v) => from -> (v -> r) -> Map k r
    render t f = map f . extract $ t
    
    infixr 5 ?
    data a ? b = a :? Maybe b
    
    class Extract from result where
      extract :: from -> result
    
    instance (Term from k v) => Extract from (Map k v) where
        extract = final
    
    -- OVERLAPPING
    instance (Extend from from' j k v, Extract from' (Map j v'), Show k, Ord k) => Extract from (Map k (v' ? v)) where
        extract v = case next v of
            (rs, n) -> n `unify` (rekey v) (extract rs)
    
    class Term t k v | t -> k v where
      final :: t -> Map k v
    
    class Extend e t j k v | e -> t j k v where
      next :: e -> (t, Map k v)
      rekey :: e -> Map j a -> Map k a
    
    unify :: (Ord k, Show k) => Map k a -> Map k b -> Map k (b ? a)
    unify = mergeWithKey
      (\_ a b -> Just (b :? Just a))
      (mapWithKey $ \k b -> error $ "unify: bad generation @ " ++ show k ++ ".")
      (map $ \b -> b :? Nothing)


    (those Show instances aren't really needed except for when i crash on a bad generation, b/c uhhhh it seemed like i wanted at least some vague detail if that situation ever crops up)

    this provides an Extract type class with a single function, extract. this type class is let's say creatively instanced so that i can extract any depth of generator (the Term and Extend typeclasses) into a set of values. this makes it possible to write a render function that takes any extractable value (i.e., any generator stack regardless of depth) and a function that renders based on those values, while still typechecking to make sure the types match. (previously: i needed separate functions for each depth of generator)

    the punchline to all of this is that in nearly all practical situations you really don't need or want to render the entire generation stack; you just want to render the final value, which it's always been trivial to extract. but this lets you make debug overlays and fancy generation visualizations, so of course it's useful!!

    • Add Memory
    • Share This Entry
    • Link
    • 0 comments
    • Reply
  • xax: purple-orange {11/3 knotwork star, pointed down (Default)
    posted @ 01:39 pm

    huh i guess this means i should start working on actual procedural-generation stuff again

    hmmmmm maybe i will just sit on this new code and do nothing with it for a while

    • Add Memory
    • Share This Entry
    • Link
    • 0 comments
    • Reply
  • xax: purple-orange {11/3 knotwork star, pointed down (Default)
    posted @ 06:36 pm

    my brain decides to think "i have done nothing all day; i have just sat around and been idly amused at the internet" at the slightest provocation even when i have that big post about how i solved this programming problem that's been bothering me for the past two weeks, like, right there. shut up brain yr the worst

    (next programming step: make it an IO thing that does threaded loads & unloads w/ actual mutation i guess :V)

    • Add Memory
    • Share This Entry
    • Link
    • 0 comments
    • Reply
    • Previous Day
    • |
    • Next Day
Page generated Sep. 3rd, 2025 06:07 am
Powered by Dreamwidth Studios

Style Credit

  • Style: (No Theme) for vertical