the end of june
It's been a few weeks and I really don't feel like I've been on top of things or making progress. It's really difficult to keep motivated on things when it feels like there is never any time to actually do any of it. Sometimes it feels like I blink and the routine of the week has caused days to fly by without me being able to work on things. So I think it's time to sit down and figure out where everything stands at the moment. It's also a good time to take account of the resources I have and what things might lead to distractions.
So let's start with the MUD/[Evennia](https://www.evennia.com). I've got an instance up and running on a server. I'm using a VPS host out of Los Angeles at the moment. I think it's probably the best option at the moment for overall connection and accessibility. I think having it that far away from where I am located is also a good thing because it will help me account for latency when implementing things. I don't want to put anything into the game that is overly sensitive to ping times, since that isn't something a player can control and its something that can quickly become frustrating. This generally takes the shape of combat mechanics and trying to balance things out. I don't know what I want to do when it comes to combat yet. I know the idea of the auto-combat wet noodle slapfest that most text games seem to rely on isn't really of interest to me. Though I'm not sure how to make it more interesting and engaging yet. I think it's something that needs to be more engaging and interactive, but that's something that pushes against the idea of making things less ping-sensitive.
The "good news" is that I feel like I have a pretty solid idea for the things that I want to be the foundation of a crafting system. I've been trying to break it down into a series of commands/stages of putting things together that makes sense to do. So like if you're making a spear you basically would have the following resources: 1) a stick that is the right length, 2) a stone knife, 3) cord or twine made from a fibrous plant or animal hides. From there you'd have these kind of basic crafting steps: 1) seat the stone knife onto the stick, 2) lash the stone in place. Of course that's after you've broken the stick to the correct length, taken the time to knap or grind a stone into a stone knife, and made the fibrous plant or animal hide into cord/string.
My goal is to kind of make things that build upon themselves. Give people building blocks and let them go crazy. Hell, I'm sure that once I get things going and people start bashing away at the systems, they'll come up with tons of uses and combinations of things I haven't thought of. Though I'm not really sure how that will look going forward. That's half the fun though.
My goal is to kind of make things that build upon themselves. Give people building blocks and let them go crazy. Hell, I'm sure that once I get things going and people start bashing away at the systems, they'll come up with tons of uses and combinations of things I haven't thought of. Though I'm not really sure how that will look going forward. That's half the fun though.
As far as resources and potential distractions are concerned there are a couple. First is just the tutorials from the Evennia people. They've only done maybe half of what they have outlined, and it seems to be a bit less than that. Part 1 of their Tutorial is just kind of showing you around the system and its basics. Part 2 (which I don't believe is finished) is actually about planning things out and implementing them. That's where I'm trying to get by the end of July. Finished with those things and working on putting stuff into the game proper. They have the basic ideas for Part 3 and Part 4, but they haven't really been started in any kind of public way.
The second thing I have at the moment is [Boot.dev](http://www.boot.dev). I started working on Boot.dev because it deals with a bunch of back-end server stuff (which seems like a good thing to learn when you want to build a game that is literally like 90% back end server stuff) and programming in Python (which, surprise, is what Evennia is coded in). So I figure win-win, right? I've been totally stalled out on Boot.dev since our move. I've been trying to get back into it, but I really hate the project I'm on. I've been trying to force myself through it, but it sucks. I'm hoping I can get through it and it will pick back up again and become fun again. I really did enjoy it up until this project.
This definitely has the potential to be a distraction. There's a non-zero chance of getting sucked into work on this and making progress on it and it takes away from time spent on the final goal. I know I have a problem with Educrastination (sorry, I like to make up words). Basically I'll want to do something and then go, "ooo, I'll work on that just as soon as I learn this..." and like 50 different learned things later, I still haven't started on the thing I wanted to do in the first place. In this case, it is stuff that will genuinely help. But I'm planning to set aside specific days to work on it. And we will see how things progress.
Next we have the MUD Client I was talking about. This is one of those things that definitely started that Educrastination engine. It's been a while since I've touched Swift. So my immediate thought is to jump into one of the 100 Days of Swift things ([Hacking With Swift](http://hackingwithswift.com) is awesome for this). I really want to try and do as much of the project as I can using SwiftUI, but I have no idea if it has the capability to do what I need it to for this project. Which is part of the reason I really feel like I need to find a point to dive in and make some projects to get the hang of things again.
My biggest problem that I have no idea where to even begin to figure out how to handle is that of being able to continuously update a huge box of text over a telnet connection. I mean it's pretty much a basic TCP/IP connection and just bursts of formatted text. I think I'm making it overly complicated in my own head because I don't actually know enough to know the correct question to ask to be able to (theoretically) easily figure it out.
And I feel like I also need to talk about Godot.
So Godot is a thing constantly in the back of my mind. I love working in the engine and I really do want to make games with it. The MUD isn't the only thing I want to make. And at the end of the day the more time I put into Godot development, the better games I'll be able to make that would get some sort of non-niche audience. I really do want to make games. I really do want to learn Godot. But I know adding more Godot stuff on top of what I'm doing with Evennia is going to hinder the development and advancement of ideas for the MUD.
Long term, this isn't a terrible thing. Since the end goal is to be doing other style games in Godot. But I really do want to just COMPLETE SOMETHING. And I do really want to get a MUD up and running because I think it would be fun. A guess a weird thing that wouldn't be too bad about trying to do the two together is that GDScript, the language I really like for Godot is very similar to Python. So they might compliment each other?
What I think it all comes down to is this. I need to establish an order of priority, which I think should hopefully be pretty obvious from what I've been talking about so far. So Primary is the Evennia-based MUD right now. Secondary is Boot.dev work and learning more about back-end server stuff. Tertiary is the iOS and Swift stuff. And finally we have Godot. So for the month of July I'm going to try this:
- Tuesday and Thursday are all about Evennia and building the MUD.
- Mondays I'm going to work on Boot.dev stuff
- Wednesday I'm going to focus on getting back into iOS and Swift development
- And Friday I will start working on some stuff with Godot. And we will see how we feel at the end of the month there.
We will see how things go and if I am spreading myself too thin. It will be interesting to say the least. I will see you guys then.