let it leave me like a long breath

let it dissipate or fade in the background

Jan. 1st, 2020

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. 1st, 2020

  • xax: purple-orange {11/3 knotwork star, pointed down ({11/3}sided)
    Tags:
    • gamedev challenge
    posted @ 08:17 pm

    okay gamedev thing

    i didn't make a post for decemeber 1-15 because i didn't get an enormous amount of stuff done -- i mentioned in the last post that i wanted to get render buffer update stuff working but i got kinda sidetracked thinking about overall render efficiency. i tested out rendering larger sections of land and came to the conclusion that letting haskell do the memory management for certain kinds of render stuff was just, enormously inefficient. rendering a given chunk of land made the program eat up ~2gb of memory, when doing a little bit of math made me realize that it actually could've been something like ~70kb of heightmap data and ~256mb of vertex/index buffer data. not all of that 2gb was haskell stumbling over lazily allocating landscape stuff, but probably a pretty large chunk of it was.

    also i then spent some time writing Storable instances for some more efficient data types only to realize a bit later on that i should've been thinking more about vertex stuff -- the bottleneck here isn't the raw memory required to store some landscape data, it's in how to construct and update the data sent to the graphics card, since that has to be a bunch of vertices. so actually packing a 'chunk' of landscape into 10kb isn't really that helpful, since that was never really the problem; the problem was being able to render out that landscape into a compact, updatable chunk. so after that i kind of lost steam, although it's something i really want to revisit now that it's 2020 and i kinda want to actually, you know, make progress with this vague game concept instead of just spinning the wheels forever.

    and then december 16-31 was mostly FINISH THE TWINE GAME. it's been in its final stages for months, and it's just needed a little more writing. this wasn't quite a success (i got sick at the last moment) but it's down to two sex scenes needing to be written and two other scenes needing to be edited, although after that i'm still gonna need to read through the entire thing to make some edits and tweaks. that's gonna be a big undertaking by itself, since the thing is at 280k words at this point. that's long.

    still you know, progress on both of those things even if it wasn't as much as i would've hoped.


    as a brief summary of the two-week projects this year: i started 2019 just piecing together the polyhedra data model i've been using for all sorts of stuff.

    • in january i used the polyhedra code to make planetoids, which was the first real usage of it. i put together a mostly-working FRP system, and used that to put together a basic ui forms library, which was a big step towards being able to, you know, manage input in any way beyond the totally trivial.
    • in february i got uniforms attached to shaders in gpipe, which really opened up how i could use shaders.
    • in march and april i got 'stretchy edges' working for graph grammar dungeons, which hugely expanded the ways they could be used and made it possible to generate way more complicated graphs.
    • in may i realized how to write the 'loft' operation in the polyhedra data model, and that that's basically a really simple way to extrude out complex shapes from simple rules.
    • june was apparently partly me working on wang tilings and partly some additional bugfixes for stretchy edges.
    • in july i apparently did nothing? mysterious.
    • august was when i got picking working, which was another huge step towards actually having any kind of meaningful interactivity -- like, on a low level, it's kind of amazing to think about how many games have an interface that is entirely "click on a ui element" or "click on an object in the world", and so now that i have the actual basics down it's gonna be way easier to actually, you know, run interactions. august was also when i wrote a new triangular-texel shader and worked out some basic texture atlasing for rendering world geometry.
    • september i used that uniform code plus the new shader to actually, uh, start for-real starting to use some uniforms in my shader code. i also tried some polyhedra coordinate systems, but that didn't really fully cohere.
    • october i put together the first render buffer code, as well as outlined some better syntax for my combinatorics data file code, which is gonna be real helpful when i next come back to that
    • november was when i did procjam 2019 and i made that knotwork star generator
    • december was kind of underwhelming, although the render allocation stuff is probably gonna pay off sooner rather than later.


    and a lot of that stuff is built on top of the 2-week projects i did in 2018 -- notably, like all the rendering and event stuff was only possible b/c on a whim i went looking for haskell rendering frameworks and messed around with gpipe for a bit. the whole existentially-quantified container concept that my forms UI library is built around started then, when i started looking at how reform did that internally. so here's hoping that some of the more disconnected projects i worked on in 2019 are things that i tie together and polish up in 2020! i guess we'll see in a year.

    • Add Memory
    • Share This Entry
    • Link
    • 0 comments
    • Reply
    • Previous Day
    • |
    • Next Day
Page generated Jun. 13th, 2025 08:51 pm
Powered by Dreamwidth Studios

Style Credit

  • Style: (No Theme) for vertical