Hello World
Starting up a mirror account to explore using this medium as a way to write down some thoughts. Generally interested in building on the web3 space. So far, I’ve helped to build a new community-based DEX with other contributors on AirSwap. You can also find me helping out the Zapper community. I’m also currently exploring the world of coding and generative art, and most likely going to be using this as a way to journal some tutorials and learnings from my experiments. Will also leave some of m...
Manual Unstaking from the deprecated AST Staking contract
I wrote this tutorial as a guide to those who are stuck on the deprecated AST contract.Manual UnstakingNavigate to the deprecated staking contract in etherscan (or the V2 contract) -> contract -> read contractCheck the AST balance in the contractUnder balanceOf, input your address and click query (querying the chain does not require gas) Check to ensure that the amount tallies with the amount of AST you have staked Note: The amount displayed is multiplied by 10,000 to account for the decimal ...
zkSanta - An idea for a Web3 Secret Santa project
Anyone in?This idea just popped into my head, so I’m trying to get it all down before I forget. My web3 dev skills are sorely inadequate for building such a project, so I’m leaving this as an open call to any web3 developer who wants to take it up and attempt to build it before Christmas. I will gladly be the first participant to join in.SummaryzkSanta is a smart contract which opens 1 month before Christmas. Anyone can deposit an NFT into the contract using depositPresent() until 25/12 @ 00:...
Hello World
Starting up a mirror account to explore using this medium as a way to write down some thoughts. Generally interested in building on the web3 space. So far, I’ve helped to build a new community-based DEX with other contributors on AirSwap. You can also find me helping out the Zapper community. I’m also currently exploring the world of coding and generative art, and most likely going to be using this as a way to journal some tutorials and learnings from my experiments. Will also leave some of m...
Manual Unstaking from the deprecated AST Staking contract
I wrote this tutorial as a guide to those who are stuck on the deprecated AST contract.Manual UnstakingNavigate to the deprecated staking contract in etherscan (or the V2 contract) -> contract -> read contractCheck the AST balance in the contractUnder balanceOf, input your address and click query (querying the chain does not require gas) Check to ensure that the amount tallies with the amount of AST you have staked Note: The amount displayed is multiplied by 10,000 to account for the decimal ...
zkSanta - An idea for a Web3 Secret Santa project
Anyone in?This idea just popped into my head, so I’m trying to get it all down before I forget. My web3 dev skills are sorely inadequate for building such a project, so I’m leaving this as an open call to any web3 developer who wants to take it up and attempt to build it before Christmas. I will gladly be the first participant to join in.SummaryzkSanta is a smart contract which opens 1 month before Christmas. Anyone can deposit an NFT into the contract using depositPresent() until 25/12 @ 00:...

Subscribe to agrimony

Subscribe to agrimony
<100 subscribers
<100 subscribers
Share Dialog
Share Dialog


Dying of the Lights envisions a futurescape where ancient civilizations have built megalithic structures to harness the power of the stars. These civilizations have long since passed away, but the ruins of these structures remain forever locked in a state of uncompletion.
The project explores the relationship of structure and color to create otherworldly scenes. The code generates systems of swirling particles, with relationships first being defined by an underlying data structure tying both their physical and color space together before being deconstructed during the render. The final chaotic explosions hint at their original construction, encouraging the viewer to create their own stories about the Dying of the Lights.
DOTL uses a simple data structure primitive - a recursive quadtree (there are many tutorials and guides for it). split() is called recursively, with the split axis and length randomly determined.

Quadtrees have an interesting hierarchy to the nodes. These hierarchies allow traits to be inherited from parent to child. For example, in DOTL, certain sections of the quadtree are filtered out based on their aspect ratios, which (1) limits the particle sizes and (2) generates a city-like structure with clusters of objects being formed.

Traits can not just be inherited but also evolved as the tree is generated. Color is one such trait in DOTL. Evolution of the color trait is tied to their relationship in the quadtree. Every time the recursive split() is called, a new color is generated by applying a shift from the parent color. The shift itself is controlled by a perlin noise field dependent on the size of the node. Larger splits = larger shifts.
Thus, child nodes which are more closely related along the quadtree end up with more similar colors. This allows for larger sections of color to be formed and clustered in certain regions of the tree.

The structure <> color relationship is further exposed by applying a set of rotations to the system as the tree is rendered. Particles closer in hierarchy form layers of colored geometric objects, with the end result a seemingly chaotic explosion of colors. The rotations are randomly determined, introducing variance in the final megalithic structure of each piece.

The final piece is held together by a central light source which (in most cases) provides the bulk of the illumination in the scene. The environmental palettes in DOTL typically play instead with levels of illumination and contrast to achieve images which pay homage to the sci-fi classics which inspired this project. In rare cases, a more rigid color palette is applied (e.g. white-on-black) to achieve the intended aesthetics.
Hope you enjoyed the creation process! Here are some curated renders of the various environmental palettes available in DOTL.
In the meantime, you can also generate your own Dying Lights over at my repl. Have fun exploring!





Dying of the Lights envisions a futurescape where ancient civilizations have built megalithic structures to harness the power of the stars. These civilizations have long since passed away, but the ruins of these structures remain forever locked in a state of uncompletion.
The project explores the relationship of structure and color to create otherworldly scenes. The code generates systems of swirling particles, with relationships first being defined by an underlying data structure tying both their physical and color space together before being deconstructed during the render. The final chaotic explosions hint at their original construction, encouraging the viewer to create their own stories about the Dying of the Lights.
DOTL uses a simple data structure primitive - a recursive quadtree (there are many tutorials and guides for it). split() is called recursively, with the split axis and length randomly determined.

Quadtrees have an interesting hierarchy to the nodes. These hierarchies allow traits to be inherited from parent to child. For example, in DOTL, certain sections of the quadtree are filtered out based on their aspect ratios, which (1) limits the particle sizes and (2) generates a city-like structure with clusters of objects being formed.

Traits can not just be inherited but also evolved as the tree is generated. Color is one such trait in DOTL. Evolution of the color trait is tied to their relationship in the quadtree. Every time the recursive split() is called, a new color is generated by applying a shift from the parent color. The shift itself is controlled by a perlin noise field dependent on the size of the node. Larger splits = larger shifts.
Thus, child nodes which are more closely related along the quadtree end up with more similar colors. This allows for larger sections of color to be formed and clustered in certain regions of the tree.

The structure <> color relationship is further exposed by applying a set of rotations to the system as the tree is rendered. Particles closer in hierarchy form layers of colored geometric objects, with the end result a seemingly chaotic explosion of colors. The rotations are randomly determined, introducing variance in the final megalithic structure of each piece.

The final piece is held together by a central light source which (in most cases) provides the bulk of the illumination in the scene. The environmental palettes in DOTL typically play instead with levels of illumination and contrast to achieve images which pay homage to the sci-fi classics which inspired this project. In rare cases, a more rigid color palette is applied (e.g. white-on-black) to achieve the intended aesthetics.
Hope you enjoyed the creation process! Here are some curated renders of the various environmental palettes available in DOTL.
In the meantime, you can also generate your own Dying Lights over at my repl. Have fun exploring!





No activity yet