Javascript Game Engines, Very Low Frequencies, and Randomness
#065 - Creative Coding / Generative Arts Weekly
"Creativity is the art of connecting randomness, the harmony found in unexpected patterns, the beauty in the chaos. It's our mind's dance with the universe's spontaneity.” - ChatGPT by the wisdom of humanity
My apologies for not sending out a newsletter in the past couple of weeks. I've been finishing up some master's classes, and the work has been quite intense. However, I am still here and hope that you are too!
I want to thank you for your subscriptions and continued support.
2D Javascript Game Engines
I feel guilty about including gaming platforms in a creative coding/generative art newsletter. Part of me thinks they don't belong within the realm of generative art. However, gaming engines use the player's random actions to create a generative experience. I believe this falls under the branch of creative coding, but can we consider it a part of generative art?
Art is for art's sake, right?
Yet do we see the most significant art collections have a place for a video game? Or we might say a game is a museum unto its own.
However, I’ve been wanting to play around with wanting to see what can be done with a gaming engine and generative experience.
So where to start? There are several different libraries and frameworks out there. We have talked about some of them in previous newsletters.
But here are a few to get started with! (p.s. This was supposed to be a table, but Substack doesn’t support tables for whatever reason.
PixiJS - https://github.com/pixijs/pixijs
2D WebGL renderer for digital content creation
Features: Fast rendering engine, support for texture atlases, filters and shaders, interactivity and input handling, support for multiple platforms
Phaser - https://github.com/photonstorm/phaser
Open-source game framework for Canvas and WebGL
Features: Fast rendering engine, support for physics engines, input handling, audio, support for multiple platforms
MelonJS - https://github.com/melonjs/melonJS
Open source HTML5 game engineComprehensive collection of components, support for third-party tools, fast rendering engine, built-in physics engine, support for multiple platforms
Matter.js - https://github.com/liabru/matter-js
2D physics engine for the web
Features: Fast and efficient rendering engine, support for collision detection, rigid body dynamics and constraints, modular architecture, support for multiple platforms
Stage.js - https://github.com/shakiba/stage.js
DOM-like tree data model for web applications
Features: Fast rendering engine, simple API, support for rendering graphics and animations, input handling, event handling, support for multiple platforms
Planck.js - https://github.com/shakiba/planck.js
JavaScript (TypeScript) rewrite of Box2D physics engine for HTML5 game development
Features: Fast and efficient rendering engine, support for constraints, modular architecture, support for multiple platforms
There are more places to start, but these are in active development, and I found them fascinating. I hope you do as well!
Have a great week!
Chris
P.S. If you find this newsletter interesting, I always appreciate shares
#GenCodeCraft: Checked Board
Two newsletters ago, I started experimenting with a coding challenge. First, I wanted to see if there was some interest.
I have received a submission by Aric R. Maddux; thank you so much for adding. I do enjoy the color choice and then the recurrence of the boards!
As for now, I think I’ll try to experiment with this later. As summer comes along, I know that usually means less time. So maybe in the fall, I will try to make that happen again.
Who Made Me?
For the next edition… Who made me?
The Sferic Project
The Sferic Project is an ongoing art and research project studying Earth's natural radio and atmospheric noise. The project involves recording data in the wild using a Very Low Frequency (VLF) radio receiver, and transcribing this into a digital format. These recordings are being used as a source of random entropy for new cryptographic protocols and generative artworks.
Matt is always up to some exciting work. I have been following him for years and have always been a massive fan of his work and understanding of color. Not to mention his level of finesse. Check it out!
Pulsar Synthesis
Curtis Roads' book Microsound is a must-read for any nerdy music technologist. Despite its age, it contains many exciting techniques under the granular synthesis umbrella that still sound fresh and experimental. I recently started exploring one of these methods, called pulsar synthesis, and thought it'd be fun to write my own review of it and demonstrate how to accomplish it in SuperCollider or any similar environment.
I was floored by the sounds Nathan Ho has created using SoundCollider, and his blog posts are worth reading and checking out.
From Random Number to Texture
A noise function for 3d rendering is a function which inputs at least a coordinate vector (either 2d or 3d) and possibly more control parameters and outputs a value (for the sake of simplicity between 0 and 1) such that the output value is not a simple function of the coordinate vector but contains a good mixture of randomness and smoothness. Dependent on the type of noise, that may mean different things in practice. A noise function is usually chosen based on its ability to represent a natural shape, so it should emulate structures in nature.
Self-Programmed Generative Ambient Music
In today's episode, we are going to talk about generative ambient music, which is music being programmed to be randomly generated, paying particular attention to 'Random' and 'Probability' devices.
Tesselated Art
Welcome to the world of tessellated art, where talented artists craft a figure that interlocks with itself perfectly to fill the page. Dutch artist M. C. Escher mastered the form first, inspiring artists worldwide to create the captivating art shown on this site.
iKeleton-OSC
An application capturing body tracking data.
It’s a rather exciting project; this can be done through the browser using Tensorflow or other implementations. However, this does work as an input device to TouchDesigner and could be an exciting opportunity to play with if those are your tools.
Interesting Released Papers
Books
Internet_Art
Since 1989, the year the World Wide Web was born, the art world has grappled with the rise of networked culture. This unprecedented survey of the artists and innovators in this area from 1989 to today is interwoven with the personal narrative of one of the leading voices on the digital world. In this book, Omar Kholeif, whose prolific career parallels the growth of the internet, tells the story of this mass medium and how it has fostered new possibilities for artists, both analog and digital.
Website | Instagram | Youtube | Behance | Twitter | BuyMeACoffee
Your posts are awesome! I am recommending you.