Started reading: Sphere by Michael Crichton.
Started reading: Sphere by Michael Crichton.
Finished reading: The Martian Way by Issac Asimov. Took me almost a month.
Read the short story The Money Tree by Nalo Hopkinson.
Finished reading: Torchbearer by Thor Olavsrud & Luke Crane. Took me nine days.
Started reading: Torchbearer by Thor Olavsrud & Luke Crane.
Read the short story The Afterlife by Jonathan Lethem.
Read the short story The Resident Poet by Katherine Dunn.
A lot has changed in the world since I last posted. I have been extremely lucky during this pandemic. I am still employed, I can work from home, and I have my wife to shelter with. I do not take these things for granted. And yet: https://www.chrisdeluca.me/article/introducing-pcg/
Also posted to: mastodon.social/@bronzehe…
A lot has changed in the world since I last posted.
I have been extremely lucky during this pandemic. I am still employed, I can work from home, and I have my wife to shelter with. I do not take these things for granted.
And yet.
While my work life has not changed as drastically, my personal life has. Most of the things I did outside work before the pandemic were in person. Can’t do that right now. So, it gave me some time to work on home-bound projects that I pushed back on the shelf.
To that end, I’m very excited to introduce PCG, or Point and Click Game engine, an adventure game creation utility for the open web.
I did a talk about it three years ago (ouch), so this project has certainly been a long time coming.
PCG is very much in active development, but I think I’ve made encouraging progress, which I’ll explore in detail later.
But first, what am I talking about?
If this is old hat to you, skip ahead to the next section.
For those not familiar, a point and click adventure game is a style of narrative, story-based games where progress is made primarily through puzzle solving, rather than violence or reflexes, something I appreciate more and more as I age.
While their popularity peaked in the early 90s for mainstream gaming cultural, they have thrived in the indie space over the past decade or so.
Mechanically, many games in the genre use a system of verbs to interact with the world. You click a verb from a menu, for example “push”, and then the person or object in the game you want to apply it to, such as “crate”. Perhaps there would be a trap door below the crate, and a new area is unlocked.
Another method some games employ is to do away with the specific list of verbs, having pre-determined actions when interacting, or relying on the levers that must be switched in the right order.
Almost all have you collecting various esoteric items, having the player apply those items to people or objects in the game, or combining them with each other.
A relatively simple system, from a game mechanics perspective, but one that hides a lot of depth, story-telling potential, and that particular player satisfaction from figuring out a puzzle.
Most innovation in the web game space is around the <canvas>
element and Web Assembly, which allows developers to “start from
scratch” and create entirely custom rendering divorced from any of
the preconceptions of the web.
This works well for action games or games with pixel-pushing graphics. However, the goal here is always to emulate a native application, and since games written for the browser cannot by definition ever be native, the best they can be is a close approximation.
While close might be good enough, this always felt like a missed opportunity to me. We spend all these resources trying to get the web to be more like native applications, but hardly any on what new and interesting experiences we can create that are unique to the web. As Marshal McLuhan wrote, an author I’m proud to say I got a few pages into, the medium is the message.
I started thinking about what kind of games would work well inside the traditional web context - aka, HTML, CSS and JavaScript (and SVG) rendered into a DOM tree.
After some thought, I settled on point-and-click adventure games.
My reasons being:
In short, I thought I could re-create many of the different point and click adventure paradigms on the web, while taking full advantage of the things that make the web the web.
Some of the unique things that are attractive about the web are:
The ultimate goal of PCG is to foster a open, welcoming, and creative community around making point and click adventure games on the web.
In game engine terms, the goal is to create a flexible, modular, and pluggable system of components that can be combined to create most if not all the point and click varieties mentioned above (and many that were not), as well as opening up the possibility for new and unique games only possible in the web format.
After a lot more thought, writing, re-writing, trial and error, and leveraging embarrassingly earned career experience, I settled on some design principles for PCG.
The thought of even having design principles was something hard earned, but one I strongly believe in: a north star for how you go about making something out of nothing.
This is a very high level introduction to the ideas surrounding the PCG project. I plan on writing posts going in-depth on each component of the system as they’re built and as updates are made. These posts will hopefully serve as a living progress report.
While I’ve spent a lot of time on PCG already, it is still in the beginning stages. It is very much a leap of faith.
I can’t predict what kind of community it will attract, if any, or what this project may or may not evolve into.
But I am excited to find out.
You can check out the Github repository or the documentation site for PCG, both very much in progress. If you have any feedback or would like to contribute, please don’t hesitate to reach out.
If you’d like to see what PCG is capable of currently (as much as I cringe to reveal the multitude of missing features) my friend made a tiny, rough demo game, and I made a little demo showcasing the text box component.
Thanks for reading all the way to the end, hope you and yours are safe and healthy, and I’ll catch you on the next adventure.
I use the unfortunately-named Ergodox-EZ ergonomic mechanical keyboard, with cherry brown MX switches. I would go for the blues, but I want to survive other people. This page is mostly for my … Read more
Finished reading: Learning to Program in C by Thomas Plum. It took me around six months. Below are my posts. Binary integers To calculate binary integers, assign each number an incrementing value, … Read more
Started reading: The Martian Way by Issac Asimov.
Read the short story The Wish for a Good Young Country Doctor by Allan Gurganus.
Finished reading Something Wicked This Way Comes by Ray Bradbury. Took me a month and a week.
Here’s a little web component I came up with to produce typewriter text, similar to old school SNES RPGs. codepen.io/bronzehed… Read more
Started reading: Something Wicked This Way Comes by Ray Bradbury.
Read the short story Love Letter by George Saunders.
Finished reading: Catacomb by Andrew Laurance. This book sucked. What a turd. Prose that somehow made me care less about the characters, and characters that made me care less about books. A plot with … Read more
Doing a little investigative journalism on the side. https://www.buzzsprout.com/967399/3166387: https://www.chrisdeluca.me/note/1585519394/
Also posted to: <mastodon.social/@bronzehe…>
Doing a little investigative journalism on the side. www.buzzsprout.com/967399/31…
Started reading: Catacomb by Andrew Laurance.
Read the short story Out There by Kate Folk.
Finished reading: The Metamorphosis by Franz Kafka. Took me a day.
Started reading: The Metamorphosis by Franz Kafka.
Finished reading: Permanent Record by Edward Snowden.