Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

my thoughts on waxweaver!

A topic by boogieboots48 created 99 days ago Views: 227 Replies: 8
Viewing posts 1 to 2

First off, wow! Kaia, this game is so well made and I can tell a lot of love went into it. I discovered waxweaver through YouTube, and it has become my current favorite game. It feels so familiar yet so unique. I have a LOT of questions for you and I made an account just to ask, I'm super interested in the development process of this game! 

- What inspired/gave you the idea of the gravity mechanics, or did you come up with it on your own?

- How actually challenging was this to pull off in Godot? I read that you said that Godot's tilemaps were terrible for these kind of games, did you first start off using tilemaps and later switch to something more efficient?

- Kind of relating to the one above, what should you avoid while making these kind games? 

- Did you ever feel like this project was too ambitious?

- Was the theme of the game always space from day one? 

- Not really related to development but, what instruments/sf2's/VST's did you use for the main-menu theme?

- Opinions on my base? (not done)


Developer(+1)

hi! sorry, I'm a bit late replying to this as this post got auto-flagged for spam and I didn't see it.

I got the idea for the gravity mechanics a long time ago probably 2017ish. At the time I had zero idea how to actually make games, so it was just idea guy nonsense. It came from wanting a space terraria type game ( i really didn't like starbound ) and for it to have a more immersive world. It's impossible to create a block based game on a circular gravity planet without doing some trickery, so I had the idea to just make the planet square and have the gravity be rigid instead.

in 2021, I tried making a version of the idea, when I didn't know godot very well. This one used tilemaps, and its pretty ass. Tile maps are mostly bad for sandbox games because Godot doesn't have the option to not redraw after changing a single tile, so generating a world that's for example 100 by 100 blocks means 10,000 draw calls which is extremely laggy. If you can chunk things out and draw them separately you can generate huge worlds with one 1 draw call per chunk on the screen.

To actually answer ur second question tho, while I used tilemaps for the 2021 original project, I had learned not to use them by the time the 2024 version came around. Waxweaver just has every block texture loaded in memory at all times, and whenever the world is updated, it redraws the effected chunks. It does this by generating a 64 by 64 blank image (8x8 blocks), reading the data of the world, and then stamps the corresponding block textures onto it.

Most of the intensive scripts in waxweaver ( chunk drawing, world generation, lightmap drawing, chunk simulation, world saving ) are done in C++ rather than godot's gdscript. GDScript is an awesome and easy to use language, but its very slow when its comes to big for loops. Originally the game didn't using C++, and it ran decently well,  but I wanted to make this game run on web, and the web performance was NOT good. C++ speeds up things by a huge margin, it still chugs on web a bit but it leagues better. I had never used C++, so it was pretty challenging for me to get everything working (especially on web GOD)

honestly, it's probably a good idea to avoid using a premade engine for these types of games, they are pretty intensive and require a good amount of gamer knowledge to pull off well.  as for design things you should avoid, I really have no idea! There's so many things you can do it's hard for me to point at any specific thing to avoid, other that stuff that just applies to any game, like avoiding overscope or taking too much control away from the player.

I'm going to answer both of the next questions simultaneously: YES and YES. I guess that's what you should avoid, DON'T MAKE GAMES ABOUT SPACE!! The original 2017 idea was square planets that you could travel between, not by menu, but by getting in a ship and flying there. For waxweaver, I scoped it down to just 1 solar system, then eventually again to just the 1 singular planet. Doing multiple planets was just too ambitious, it took so long to just do the one singular planet. Also, it just wasn't as fun as it sounds to fly a ship to a nearby planet. There was nothing to do in space, flying between planets was janky since the game is 2D ( flying was really just staring at a map menu it sucked ) So as much as I wanted to make the ambitious space game, I found it just ended up being a more fun experience without it. ( technically, the planets kind of merged. There was gonna be a forest, desert, and snow planet. But I just merged them into one for a more interesting world overall )

the main menu theme was made in 2022 for a unrelated project that I just reused to waxweaver, I believe most of the synths used are from a totally legal copy of the AX73 vst. The main menu theme is the only song in the game made by me, the rest of the soundtrack can be found here.

your base is pretty sick, i like the armor stand pedestals and the cool bonsai tree lookin' thing

haha! dw about it at all. I really do appreciate the time you took for this massive response. I really, and I mean REALLY, fell in love with the concept of this game and when I had learned this was done in Godot, and as a Godot user immediately tried to do the same thing. At the time I was not sure why you scrapped the ships/planets idea because it seemed like a 'heck yeah!' Now I understand haha.


My version uses tilemaplayers,  along with chunking and the BetterTerrain plugin. It runs pretty okay so far, but I probably won't finish it because I honestly have no idea what I'm doing. I really admire your work and I really look up to you as a programmer.

Also, where did the name "waxweaver" come from? It seems like such an odd name choice but it works really well. I love the idea of the world just being wax and you can mold it into whatever you want.

Anyhow, I decided to take a break(or just scrap this idea) and focus on something smaller like a story platformer. I really love the eye design from waxweaver and as a nod to you and your games, I put one of those spinny-caps(?) on the fish's head.


Please let me know your thoughts, and I know I didnt reply to everything, but thank you again for such a detailed response. 

Developer(+1)

lol i love little squishy white ball characters, im glad i was able to inspire you ! waxweaver's source code is available on github, if you were curious and wanted to poke around (some portions are a little messy however)

"wax" was already established as one of the first items you get in the game, and personally I just think the word "weaver" is cool. The game is about creating, so you are the "weaver". And putting wax and weaver together for the title just sounded cool.

its good that ur tryin something smaller, I like the fish character. i will say: actually being able to finish a project is a completely separate skill and by far the most important one. And the only way to practice it is to finish games! It doesn't matter if it looks like crap or if its filled with spaghetti code, or if its not even that fun of a game. So long as you're able to at least finish the project, your skills will develop. I say all this because I looked at your youtube channel and it reminds me a lot of myself 5ish years ago, when I just created one little dinky prototype after another, none of which ever got past the "everything is the default godot icon" stage. While I got a lot of good coding practice in doing it that way, I feel like I only truly started learning how to game dev after I managed to finish a game. I couldn't have made waxweaver without the project management skills i learned from all the released games prior.

sorry if the advice is a bit unsolicited lol. i hope to see fish world adventure coming soon to itch.io and newgrounds perhaps

(1 edit)

I did do some poking around a rather long time ago, I don't think the code is that messy—I think jumbled is the word I'd use(not in a bad way ofc).

and thanks! I completely agree, I really need to lock in or whatever the kids are saying nowadays..

once again, don't worry abt it lol. I would love to read or listen to all you have to say about game dev—in fact I probably already have. I also really enjoyed your panel on day 2 of the Newgrounds winterfest! 

I saw that you're on bluesky, perhaps I can reach out to you there when I have something playable? Let me know! It would take be a hot min tho since I'm doing music art and programming.

Developer(+1)

ye, you can always message me wherever !

Awesome! Thank you so much, I really appreciate your kindness. 

also—I hate to keep this thread going so long but was wondering if I could use the source code of the pre cpp version? I would love to play around with it and possibly use it as a base for my own planet sandbox. I don't want to leach off your work, though.

I noticed the cpp version has an MIT license but the pre-cpp version does not, so I wanted to get permission first. Cheers! :)

Developer(+1)

waxweaver does NOT have the MIT license, they are both missing licenses (which means I should probably add one). For both of them though, you're allowed to play with it and reference them when creating your own project. If you make a game using the code as a starting point however, just made sure by the end its significantly different and that it gives proper credit. I'm also not comfortable with anybody using it for commercial purposes, so don't do that

Gotcha! Thanks!