My attempt at Building the Metaverse in Public (pt 1)

Nathan Bowman
4 min readNov 18, 2022

--

I’m not going to try to introduce all about myself here, but a quick TL;DR for why I’m attempting this project would be:

  1. I’m in the middle of starting my own adventure with my own startup, and need to be able to prototype ideas.
  2. It’s been a crappy year and I could use something I’m proud of.

I’m Nathan, and I’m not an especially adept coder. I started when I was 6 by flirting with BASIC on a TRS-80, then moving to my parents Amiga 2000 where I built about six million halfway abandoned games. I’ve built macros, websites, cron jobs, and SQL queries, built dozens of PCs and have had a couple of my own servers sitting in closets and under desks. I’ve usually been able to figure things out with a combination of clicking around until something does what I want it to, combing through old forum posts, frantically googling, and general osmosis from hanging out with developers.

HOWEVER — I’ve never really felt like I understood what I was doing, and never really got past the ‘script kiddie’ phase at best.

I don’t expect this project to change that…

The task: To take a relatively complex (from my point of view) piece of open source software and use that to build a prototype for some ideas I’ve had. The goal isn’t a fully featured ‘product’ — but it’s also not just ‘learning.’ I want something that’s actually useful for me to show to prospective users (and investors) and be able to get meaningful feedback from.

I’ve broken this into a few phases, and I’m going to try to document these as I make it through them. First step though, is a rough outline of a plan. I’ve learned that I can’t plan for everything, and that I shouldn’t try, but that it is helpful to have a mental map of what needs doing and in what order I think they should be done in.

That being said — a lot of these will run simultaneously or will happen out of order. I know that — I just don’t have a good way to indicate “this is a separate task from this other one” without numbering them, indicating a heirachy that may or may not actually apply.

Step 1: Get the right software/providers set up. I know that I’ll need to install node.js, and probably VSCode or some other editor. I’ll also need to remember how to log into my github account, and find somewhere that will give me some hobby server space so I don’t waste too much time yak shaving to run node.js on my NAS here.

Step 1a: Refresh/learn the fundamentals of the tools that I’ve installed above in Step 1. These are things that I have either never done or haven’t done in a LONG time.

  • Clone a Repo
  • Fork a Repo (those are different, right?)
  • Connect VSCode to Github
  • Compile code
  • Connect whatever hobby server I select to Github
  • Whatever else I don’t know that I don’t know how to do

Step 2: Compile/build and run the code locally. This will be a good first step, and the software that I’m working with has some very lightweight instructions on how to make that happen.

Step 3: Make minor/trivial edits to the code and run it locally. This won’t have instructions, but I should be savvy enough to swap out some text/images or make minor modifications to the code — enough to be able to give myself some confidence.

Step 4: Compile/build and run the code ‘in the cloud’ — still not sure what that needs to look like, but I’m assuming it’ll be on the hobby server level.

Step 5: Figure out a method to make changes locally, test them, and then upload them to the hobby server.

Step 6: Figure out how to make more substantial edits to the code.

Step 7: Figure out how to read and understand the code (this is one of those “might not happen in order” tasks).

Step 8: Figure out how to bring in additional parts of code or create my own.

When I’m starting out on a slightly ambitious project, sometimes it’s helpful for me to remember this meme:

So yeah — I know there are a lot of known unknowns and many many more unknown unknowns — but really it’s just 8 things.

Wish me luck…

This will link to Part 2, when there is one. (Update: Oh look, there it is!)

--

--

Nathan Bowman

Just a guy that likes helping with connections. Former Gather.town. Former Voxy.com. Eagle Scout. Based out of Butte, MT.