triptych

Building fun experiences for the web

Just to give you a little insight into one writer's thought process while starting a new novel. I'm sure that some writers get everything plotted out and perfect before writing that first chapter. Every character is fully formed and ready to get up on stage and do their thing. For me it's so much different.

For me, I feel like I'm a reporter who can travel to different worlds and see what's going on. I'm not so much creating a world, but I'm discovering something that exists outside of myself, and I'm just given the ability to see it first. It's almost like there's a story – inside a house on a foggy hill. I see the outlines of the house first, then as I approach the house I can see more details, or something that I thought was the house was really the pool house and the main building comes into focus.

I imagine I kinda peer into windows – seeing characters or situations in an isolated, disconnected way. For instance – for my next novel, I was thinking about the concept of a character who has some mystical abilities. They realize that powerful magical entities have broken free from a Tarot style deck of cards. They must find some way to confront and get the entities back into their cards. The idea at first was like a film noir character doing this in a big city.

I then hit upon something that happens a lot for me. I see a genre and think “how can I twist or invert that trope?” For me the trope of some everyday guy getting sent into a fantasy world with superpowers — the Isekai might get inverted by having a fantasy character sent to the normal Earth and be “powerless”.

These ideas kinda fused in my mind — getting further clarification of the storyline. I then tried to imagine what my MC might be like. Initially, I had written a few chapters of a novel where a girl watches a door as part of a family tradition — supposedly “guarding” it in case anyone comes through. She scoffs at this until someone actually comes through! And I thought perhaps this was the MC for my story. She would somehow have the power to control these cards and the battle weary dude who comes through a gate would have to train her.

But as the characters began to speak to me ( figuratively, of course ) I realized that the MC was actually a 35 yr old divorcee named Sylvia who runs a bookstore. Taking the house analogy — I was able to peer in and see more clearly one of the characters. I just assumed the store was a book store – though it seems kinda tropy...

This is when serendipity comes in. Watching Twitter this morning I came across this tweet:

link

And I immediately realized that the store is not a bookstore after all but a pet store. I'm not sure how it will all work out, but I'm getting closer 😁

But the point of it is this. Sometimes a story will just come to you. I have other snippets of the story – like the “Big Confrontation” and some plot twists here and there. This is just how I think about writing. I'm definitely a “pantser” and this really works for me. You might be just staring out on your writing journey, or you've been doing this for a long time. I just want to let you know that stories can come in many ways. Sometimes you have it all worked out and you know the ending before you even start typing the first word. Other times you are discovering the story as you write it. And that's exciting! Give yourself the freedom to try both ways. You never know that directions your creativity will take you.

As I was writing this post, I realized a bit more about the storyline – in terms of how the MC might discover the item that is the “gateway” that let's the fantasy character pass through. She is a marine biologist ( okay?) who runs the aquarium pet store with her mom. She's recently divorced and has moved back to her parents to help with the store. She loves to go diving off the coast nearby and discovers a kind of “pandora's box” and naturally she opens it. So, now SHE's responsible for the Tarot-style entities escape. The fantasy character who will help her is probably one of the characters from the cards ( I don't know yet). But which one? And is this character REALLY have her best interests in mind? You'll have to read the story to find out!

Unexpectedly, I am going on an Observable odyssey. I ran across a particularly interesting Observable story as a notebook a few weeks ago. It really captured my imagination as I aspire to be a “creative coder”. As someone who is very interested in things like JavaScript, Games, Web Development, Storytelling, and teaching, this site offers all of these things and more. I find myself learning about kinda obscure JavaScript features like Generators and rediscovering my love for SVG.

Observable is quite remarkable to me because it has cracked a lot of “tough nuts” in my webdev journey. I find myself making goofy little notebooks that do things like tell Chuck Norris jokes and show Cat Pictures. I've also learned how to Generate Mazes , tell stories with Inkjs, and create simple games with creative commons RPG Icons. I've learned about Entity-Component-Systems , how to use Google Spreadsheets as a mini-database, and how to use Github as my own personal “npm” to write code outside Observable, but to use it as a library my notebooks can dynamically import.

I've learned MORE about how the web works in these past few weeks playing with Observable than I have in a long time. For instance, did you know there's this thing called a Broadcast channel that you can pass messages to in a browser and every other site, page, etc. that listens to that channel can receive and send messages as well? That's HUGE! And it's just one of many discoveries I've made.

It's CHANGING how I understand how the web works. I have always thought of the web as you have this browser that has a bunch of functionality, all mish mashed together on a page. You poke at it through HTML, CSS, JS, and SVG, and HOPE it works ok. Now, I'm learning that the web is a very organized set of components. There are built-in components to the browser, that you can take advantage of, and there are user-made components you can fetch from say NPM which you also can use. I've always been this “build it myself” kinda guy. And that has been my albatross. Instead of actually making a web game, I spin my wheels trying to make pixels move. When instead I could just use a game library like Kontra or Phaser and just go!

Observable itself is also quite cool. It enforces a concept I find very appealing called Functional Programming. And it also uses async/await, Promises, require, import, and more. Writing “modern” JavaScript is the norm here, and just looking at a notebook and how it works is not only fascinating, but a valuable way to get your own notebooks working well.

Everything is “forkable” – where you can clone a notebook ( mostly ) and make it your own to spin off new ideas. There's also this really interesting idea where every “cell” in a notebook is addressable in ANY other notebook. And that cell “carries over” all it's dependencies into the new notebook ( with some exceptions). This really gives one the feeling that everything is componentized, reusable, and remixable in a way that is a step up from typical Coding sandboxes like Codepen — which is super amazing and has a much bigger audience right now — but falls short on the sheer simplicity of writing a document, and sharing a cell with another document. You can also export your notebook to another site – and it will carry over the “engine” for you. So there's a sense that if you felt like you wanted to “eject” from Observable, you could still take your stuff with you. And it has a really nice way to embed your notebooks and cells in other websites. It's a great “citizen of the web”. It GIVES as much as it takes.

I REALLY like that.

So, here I am going nuts about Observablehq all because of a random tweet about creative coding. But it's not only sparked my imagination, it's made me a better webdev ( still learning! .... Generators ugh! ) , and it's enabling me to DO more things ON the web, WITH the web. I hope you check it out and find something fun to learn and do.

I'm finding there's so many possible places to post content. One site I've been obsessing over lately is https://observablehq.com. I'm even writing a mini-blog of my journeys there. I want to see if I can embed those posts here:

I was reading Twitter yesterday and a certain tweet struck me.

I am firmly behind this. However, instead of wishing that someone else do this, I want to help make these things happen. Time to try to bring this about.

Today, colors seem brighter. Light seems to illuminate the world a bit more. Fear and hate has suffered a defeat today. There will be battles to come, of course, but today we get to have a celebration and to hold on to hope.

Anxiety siphons away creativity and joy. Imagine the outburst of happiness that will spawn so many creative acts. I am a bit more hopeful today. The darkness is a bit less dark. Let's take this and build on it. I hope you find something to celebrate today, and look forward to seeing all your cool stuff in the days to come as you begin the process of healing.

Hi there doomscrollers! 📜😱

You know those half-done side projects you've done, those tutorial apps you made but then did nothing with. Those codepens, replits, jsfiddles. They have all served their purpose. You learned a thing. You spent some time coding. You can let them go.

Think of a jogger when they are about to go for a long trip. They do stretches, exercises, running in place. All those projects you've played with are just like that. They helped you get “warmed up” and that's cool. You don't see a jogger upset that they're running in place didn't get them anywhere do you? Even if you fully intended to create the next “Big Thing”. You even got a domain name. Yes, I have been there too. It's ok. These are more like swimming laps. You are figuring yourself out. Seeing what you want to do and you learned from them. Failure is not a bad thing in this respect. You did an experiment and got a result. You can then harvest that code, or those experiences and go farther then before. Or maybe you see you should start smaller. The point is stop thinking about that backlog of stuff you've done as “failures” or “waiting to get done” or “if only I had more time?”.

Stop that. 🛑

They are your trophies 🏆 of work done in the past. Put them down, free up your head. What new thing will you start TODAY? It will be better because of all your past stuff. The spirit of those past projects, tutorials, etc. will live on in your next thing. If you feel like you are just spinning your wheels 🚗, here's some tips:

1) Make something small, but complete. 🎆

You will feel better. Even if it's just a doodle or a index.html file.

2) Be purposeful. 💭

Every little project should point you toward something. It's a stepping stone. Let it be in some direction.

3) Play. 🕹

Some of my best ideas come from just playing around. I didn't know SVG could do half the amazing stuff it can do. This is the opposite of 2) and those two opposing forces is where real creativity comes.

4) Put everything in one place. 📦

Make a github repo of your random stuff. Put it in a gdrive. Have a shelf for your clay projects. The point is if they are all together you can see physically how much progress you are making.

5) Share. 🤝

Did you make a thing? Great! I want to see it! So would other folks! You might inspire someone else. They might (steal) borrow your code, music, or theme. Sharing brings that level of “I must do this” a little higher. And it helps you find like minded people or “fans”

6) When it's done, it's DONE. ✈

When you finish a thing, unless it's something you want to keep building on , then put it away.

You need to learn from it, then let it fly away free to give you head space.

7) Write about it. 📝

You did a thing. Whoo! What did you learn? How did it make you feel? What would you do differently next time? Writing about stuff helps imprint what you learned in your head, it helps to share, it helps you with your voice, and sometimes you might discover aspects of the thing you overlooked when you were so close to it. Writing is good. Write. A lot.

8) Guilt free. 😄

Maybe you weren't happy with that sketch, or you got busy and didn't finish it. It's NO BIG DEAL. It's in the past now. It's purpose fulfilled. Do not let it become baggage or an anchor. Use it to help drive insights into yourself. Why did you not finish it? Are you super busy? OK what can I do to work around that? Maybe I have issues with finishing things? Ok. Why would that be? Feeling like an imposter? Self sabotage? The point is even our “failures” or “half-dones” can be windows into how we work. If we let them give us insights into ourselves, then their value is beyond measure.

9) Do something different. 🎭

You like making React apps? Working with watercolors? Try doing something different. That “other” ness will spark your creative side and put you in a slightly uncomfortable place. That's a GOOD THING. Your brain loves novelty.

You will discover * what is different about this? * how is it the same? * can I make generalizations? * this is kinda cool? * this sucks, and now I know that...

Lastly,

10) Have FUN. 🎉

If you aren't having fun doing a thing. Stop doing that thing. Especially as side projects. You hate Java? Stop and try out... Python! Or you hate doing tutorials. Maybe write one! Or get a mentor and talk! The point is – having fun will energize you and help you finish those (side project) things. So above all, relax. Put away the guilt. And go make something fun!

(See what I did here? I made a thing! I had fun! I wrote about it! I did something different [added emojis]. I put it in the same place [ write.as ]. And finished it! )

I did it! I am doing several things today that are “day 2” of a process that's been challenging for me. During this pandemic, I've seen my attention span drop to that of a gnat on caffeine — flitting from games to novels to coding to whatever seemed interesting for 5 minutes. This due to a desire to stay distracted and not thinking about the times we are in.

But that's changing.

For me, writing is fundamental to who I am. If I'm not writing, then something is wrong. And I've not been writing or doing much for a while. So many times I will try out a thing like https://cables.gl and after a day or so move on. But I know that if I want to regain that lost sense of self, and to move forward as a person, I need to start writing more, and getting my “voice” back. So many goals and plans, I cannot build on them if I'm just doomscrolling all day.

So today is a big milestone for me. I set a challenge for myself to start writing every day. For whatever reason, and who knows what about. But still, I'm writing on day 2! A huge step forward for me.

I've tried off and on to blog for many years, and never really found a good “place” to do it. But with write.as I can write, embed code, apps, and more to create a place where perhaps folks will find something interesting to learn.

I worked on a “TinyIF” game today using Svelte. You can check it out here:

I've been off the writing horse for some time now, and while things are not great anywhere, I'm just trying to live every day one at a time and seek out answers as they present themselves. One thing that is bugging me is that I'm not writing. And when I'm not writing, I'm building up a creative “backlog” that makes everything worse.

So, with that in mind, I'm going to try writing “something” every day. And posting it to Twitter will help keep me honest and potentially I'll write something worth reading!

What am I doing right now? I'm working on a tiny interactive fiction experiment called Tiny IF. If I can get this working, I'll share my code and build on that to perhaps get back to the place I was when I was so ambitious about creating a game making tool.

I'm also working on several stories, and just trying to get all the randomness less random. I'm using GitHub as a personal goal keeping tool now, and I'll write about that at some point in the future. I'm also trying to find a game that I can play for more than one sitting. I'm so impatient now and my attention span is so low, I'm unable to even get to “day 2” on many games. But yet I want to play them!

Hoping things go well in the world in the next few weeks. We are on a negative path, and I hope that we can course correct in a huge way.

Anyway, have a good weekend everyone and I'll be back again here tomorrow – hopefully I can at least “day 2” my blogging.

Just (re)discovered I can use write.as to write for myself, or even do long form tweets!

Have you ever played a “long” RPG ( are there any that aren't) and then life happened and it was a long time before you got to play that game again? That happened with me with a game called Legend of Heroes Trails in the Sky.

I originally played it on Steam in 2014 as I love RPG's but for some reason I was stuck on some part of the game and other things came around to prevent me from progressing. Probably another RPG.

So, fast forward to 2020 and here we all are stuck at home with ourselves. I still have my old game saves, and I was thinking of just “continuing where I left off” but I would not have any idea what to do! So, I'm going to try to play this game through from the beginning. I've NEVER finished an RPG in my life. And RPG's are my favorite game genre. And I'm 50 years old. What the heck right?

My problem has always been sticking with a game long enough to finish it. There's always some new game that comes your way you want to play and the “old” game doesn't seem as fun. Well, I'm hoping this time I can stick it out and get to the ending. Will I succeed? Well, I'll post about it here!

I hopefully can fast forward through the parts I've already played and get to the “new” part quickly.

Do YOU have a game like this? You enjoyed playing it, but life happened and you just couldn't finish it. Do you finish many games? If you are like me you can count the number of games you've completed on one hand. Perhaps I can change that for myself and stick with this fun RPG and see how it ends.
> Written with StackEdit.

Enter your email to subscribe to updates.