Foreseeable Future Format Problems

Mobile Optimization
This project I am developing is an army building app. Many have been developed, and for many different games. I don’t expect this project to do anything incredibly different or evocative in its final state. However, there is still the question of what that final state will look like, and how to plan for it in a way that anticipates future development needs. For the time being, the project is being developed for use in a browser. However, there is the question of how this will look on a mobile device, both in a mobile browser, as well as in an app. These are the kind of thoughts that used to paralyze me before development even begun. There is only one repository I can truly call my own, and these kinds of issues were one of the many things that killed my drive in developing them.
Tree Wars, a Project Neglected
The project is titled “Tree Wars”. At the time, I was in college and had a mentor who I would meet with on a semi-regular basis. This was during COVID, and I had more than enough time on my hands to develop something that might help me grow beyond the classes I was taking regularly. My mentor suggested making a game, with the theme being “trees”. The initial idea was based on an old flash game whose name I can’t remember, where you gained resources over time and used those resources to send auto-moving pieces to try and destroy the enemy base. The key part of the game I wanted to incorporate was a multiplayer aspect. I had no idea how multiplayer games worked on a technical level, and wanted to challenge myself in the world of making games talk to one another. Too often, the difficulty — and the temptation of easier, more enjoyable pastimes like video games — kept me from continuing the work. I don’t know what I don’t know, and once, several hours of bug fixing resulted in my mentor informing me that I had a misunderstanding of JavaScript syntax. An easy fix, but a morale destroyer. I couldn’t even get syntax correct. How did I know I wasn’t going to just have to refactor everything in a couple months because I had no idea what I was doing?
Refactoring, and Other Hard Lessons
The solution, funny enough, was to do just that. Eventually, I got my current job, where I was given tasks and expected to carry out solutions. There was no true way to find the “best way”. I stumbled my way through development, along with one other co-worker, and eventually did have to refactor months of code into something more robust and readable. Two years later, I’m still developing on the bones of that project we developed, and I still am learning of critical errors I made while developing that I now incorporate into what I make. I did not know what the Python module “logging” was until a few months ago. I only recently tried adding decorators to functions, and I’m not even using them all that effectively. With this project, I have reached that place, after years of experience, that not only am I not sure what I’m doing, I know I will be refactoring this code over and over as I learn more about developing a MERN stack project. By no means am I pleased with this, but knowing it’s not the end of the road, and that you can fix months of work with more work successfully is extremely reassuring.
What You Don’t Know Makes You Stronger
Getting to the place where you have an inkling of what you don’t know is long and arduous, but peaceful and worth it. That’s when you start asking the right questions, which puts you on the path to becoming a master in your field. I hope to claim at least a piece of that by the end of this endeavor. The next steps are really to pick a format and set it with best practices. I need to make sure I set up unit tests along the way, which I have never done before. I will also need to consider what logic will be seen and used across multiple platforms, and thus putting those functions in a greater “packages” folder, as suggested. I am enjoying the project so far, and I hope the learning experience results in a real product used by, and appreciated, by at least a few folks.
Subscribe to my newsletter
Read articles from Israel Booth directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
