I haven’t done any dev updates before but due to the changing nature of my own interests and how I approach handling my blog, I thought I’d start a new series. I’ve been wanting to do this but haven’t gotten around to it.
So why dev updates? Because I don’t think my blog is a good platform for high-quality tutorials anymore. I enjoyed doing them but:
- they take an extraordinary amount of time that I could be spending time learning and building products
- last few tutorials have been complete duds which is highly demotivating
- last few tutorial topics were picked based on topic popularity which meant that I spent a bunch of time researching and learning about tech I did not have an interest in
- I have new ventures that I want to explore: game development, desktop app development, book writing, and some entrepreneurship ideas
Basically, I’m shifting from “development tutorial” blog style to “personal updates” and “stuff I figure out” blog style. I enjoy reading a lot of other tech blogs that work in a similar fashion.
And honestly, reading a quick “I figured out some weird shit with [tech]” is much more fun than 10K words on [tech] that takes me through the minute detail of everything from start to finish.
I actually also enjoyed writing Reccr (the story AND the tech article) but that was a complete failure as well. Basically, what people want to read is not what I want to write.
I also started Vlogging a bit so I feel like I might substitute these articles with a Vlog once in a while.
But, let’s look at my updates!
Game Development
Game development has been an interest of mine for a few years but I’ve had the hardest time getting through the initial muck. I’ve tried working with Phaser again but I just can’t wrap my head around that workflow so instead, I decided to build an engine from scratch.
I did have a simple CodePen that demonstrated:
- using
requestAnimationFrame
to create an update loop - using even handlers to detect which key was pressed and keep that up
- boundary detection where a simple square could not leave its boundaries
For some reason, that codepen never saved… so I have a codepen structure that doesn’t do anything but in my experiments lead to quite a few good things.
I learned a few interesting things along the way:
- for a good update loop, you have to keep a
keysPressed
array to know what’s happening with the keyboard. That means storing and deleting user interactions. There’s no “keys currently pressed” in Javascript as there are in other languages - the box model can screw with boundary detection. I did the math right each time but my little square always overlapped with its boundary.
Here’s the non-functional preview of my little demo:
Next, I played around with THREE.js
but didn’t really get anywhere. I created a simple rotating cube in CodePen and that’s it
My goals
I have a game in mind and it’s basically Stardew Valley’s mines mashed together with Diablo I. My goal is to:
- create a simple “level” with a character that can walk around
- create a multi-level demo using something like
ncurses
in a nethack-like fashion. - create a “game design spec” explaining the game idea
App Development
The app I’m currently developing is a markdown editor called OMEN. OMEN is a product of frustration with current markdown editors and also other writing programs. I constantly feel like writing editors lack basic features that I have in code editors and I feel like markdown editors lack good styling and functionality.
Here’s what I’m trying to build:
- 1. a Markdown editor that can style markdown as you write giving you a little preview of what the final HTML would look like (imagine a boldened
### heading
or a larger## heading
) - offset heading hashes so that it’s easy to find headings while scrolling and also keeping a better text flow
- file explorer in a sidebar so you can treat “folders” as writing projects or a writing dashboard rather than just a place you open a file from
- metadata storage – markdown doesn’t support storing data other than just plain text. I came up with a data format called MOML (here’s the spec). I wanted to write an editor that would support this format and allow storing of notes, tags, author information, etc.
I have a few other “wishlist” items that I’d like to do but they’re not part of the MVP. As of now, this is what I have:
Basically, you can read files, write them, create new files, and open new “projects” (directory via file path). I wrote around 35K of a NaNoWriMo using this editor and it was not half bad!
Goals
My goals for the next update are:
- how sub folders (almost there!)
- get program icon to show up
- some refactors
- better styling?
Writing
Not strictly dev, but I have a few writing projects down the pipeline:
- rewrite of a NaNoWriMo from 2014
- quick-edit of NaNoWriMo from 2016
- A soft-skills engineering book that I wrote in 2015…?
I don’t really want to go on about this but so far, I have chapter I of NaNo 2014 done, and I have notes for the rest of the book.
I hope to write these kinds of updates on my writing blog.
Goals
- figure out how many chapters/words I can handle per week
- setup realistic goals