Weekly Dev Update 6
GoGameDevDiscord
This week I made a Discord Server for Game Developers using Golang:
GoGameDevProgress
My own game written in Go is coming along. I plan to make a full post about my experiences so far. I have had a ton of trouble with it, however, I am really proud of what it is and has accomplished so far. I still have many hurdles to overcome, so just one hurdle at a time…
As of right now, I can login, and Google’s Geolocate API assists in getting the users location on all the tech I use, Linux, Windows, and even mobile. Getting a location based on Wifi was made pointlessly more difficult by my own complex machinations. Eventually I deleted that nightmare and started over to get eventual success. The user pops up at their location. The screen renders a map of, basically, all of Ohio right now. You can see where you are compared to the game-world objects. For now, those are just cities, but I know I’ll eventually be zooming the map in. There will be locations in National Parks, historical locations, and more. But until I can automate that, I just plan to make dummy data in Ohio.
Speaking of rendering, most of this week was spent learning how to get game ASCII art to render onto the screen the way I wanted it to. Having to overcome a ton of hurdles to move from one step to the next with the rendering. I did a lot on my own by hand. I am simply not the best with mathematics. When it came to rotating a 2D vertex, I finally let ChatGPT play a small influence and help me understand that process. However, after that, the only tricky part with rendering is getting terrain to display. I was rivers to be where real rivers are, forests where forests are. It doesn’t have to be perfect, we’re just going to do out best here. But the world’s a big place, and there simply aren’t many places that have the amount of data, for free, that I need to make an MVP of this work.
As you can see, this is an AR game. The only other that has hit the mainstream being Pokemon Go. Except this one I want to play from a terminal. Install, run the command, and play. Which sounds rediculous, and it is, and I love it.
TechLifeColumbus Meetup
I had the opportunity to check out this Meetup in Hilliard Ohio. I had never seen old Hilliard, it was incredibly pretty, and had a great atmosphere that is really hard to maintain with the size of their city.
Many amazing people and conversations ensued. More and more networking has become a chance to talk to people I consider more and more as simply friends. I got to talk about Golang, listen to people excitedly discuss their passion for soccer, helped some people brainstorm about their side projects, and more.
GoLand
This week, my stint with VSCode came to an end. Not for any reason I’m used to hearing. Simply, the debugger in Golang had updated, and I could not debug several projects, infuriatingly, this varied from machine to machine, from project to project. I tried every decent method I could to debug the debugger, however, in the end, I sucked up the yearly subscription and made the jump to Goland. Goland is a JetBrains IDE, which I loved when I tried it in my bootcamp, however, the ease of use for debugging was really the only selling point I needed. While there are many ’nice to have’’s with a JetBrains IDE, most people know I turn off Intellisense, as I’m simply not quite ready for such great autocompletion. I don’t mind a popup of a list of methods I can use on a type when I do: ‘sometype.’, but when I make a new line, and it wants to inject a whole line of code for me, you’re removing my option to put in the effort. I am very anti-ai generated code at the moment anyways. I simply want autocomplete on functions and variables, and leave me to create my own bugs that I intentionally screwed up, not make code for me, then me have to look into why the code was generated that way, and debug from there… After disabling that however, Goland has been buttery smooth and dreamy. I can hover to see documentation, which I never realized I needed. I still have a long ways to ‘Go’, but its been a great start.