If you’re looking for a dense, but understandable crash course in Godot, I highly recommend these tutorials by @godotneers. They cover useful things like shaders and how to structure components properly.
Painting to Avoid Burnout
I’ve been pulling back this month. Instead of coding some nights, I’ve been painting a bit. I am trying to find the sweet spot where I am only coding when I’m enjoying it. I don’t want to hate this game, whatever it is going to be (I’m saving that for the eleventh hour). If you find yourself frustrated and your eyes are crossed cause it’s late and you’re tired, do something else. Paint, instead, if you must create. So I painted this week:
I don’t know what it is exactly, but I think it’s kinda cool. I tried to apply some color theory knowledge that I’ve been studying a bit and attempted at an accurate light source. I don’t know if I succeeded, but it was fun nevertheless.
Scrapping WFC for Perlin Noise
I scrapped Wave Function Collapse and opted instead for simple Perlin Noise for the terrain. It doesn’t look awesome currently, in fact, it looks pretty crappy, but it really is more in line with what I want for the terrain and Perlin Noise is really simple to implement.
My First Shader
I’m currently working on selecting objects on the map and wrote my first shader this week. You can select a tile or character on the map, which highlights using a shader – sweet! It took a night to get that working, and for reference, took only about 1 hour in Game Maker Studio. In Game Maker, adding a color to a sprite is just a matter of adding a color parameter to the draw call. Creating a shader in Godot requires knowledge of the shader language and how it interfaces with GDScript. But it is simple enough after you’ve learned how to implement it.
Moving Forward & Looking Back
Godot has been great so far, but I do hope there is enough support out there to solve more of the basic problems (clicking on/selecting objects, cloning, instantiating objects, path finding, etc). So far it’s going well, but I’ve never implemented real path-finding, other than the basic implementation I did at Octopi around 2006. Here are a couple screenshots from a game I built there called “Fishin Fever”:
We built games for old Nokia phones using J2ME and also Poxnora, a turn-based fantasy game. Your entire game had to be no more than ~256KB, which included sounds, images, and code. It had rudimentary path-finding, some physics for reeling in the fish, and kept track of the different fish you caught each year. Each area of the lake (as outlined in the image) was considered a zone, and fish would spawn in those zones according to random probability and be visible in the fish finder as you drove around the lake. It was basic, but was by far the most fun I’ve ever had as a developer. I miss those days often!
Anyway, back to selecting objects…see ya next time!
Blake