I'm 17, I shipped a 3D open source island adventure game

I’m a 17-year-old solo dev, and I just released CRAFTLANDER, a first-person island adventure game I made over 11 months, starting in November 2025 on Steam ( CRAFTLANDER on Steam ) and itch.io ( CRAFTLANDER by SQUABIX ).

The entire project is open source under the MIT license here.

You can watch the trailer here.

Where I started

I started learning to code in Python when I was 8 years old. Later, I started learning how to make games using Blender, back when Blender was both a game engine and 3D modeling software. That was version 2.7.9. I then heard that the game engine would be discontinued in version 2.8. Around that time in May of 2019, when I was 10, I saw a new tutorial on YouTube from the main channel I had been watching Blender game engine tutorials from, BornCG. This video was his first Godot tutorial. I downloaded Godot and followed the tutorial, which grew into a series, and so I kept learning.

I really connected with the engine; Godot has been an incredible tool for me. I have been uploading games I make with Godot to itch.io for a very long time, and I have loved seeing the engine evolve and grow. As I grew up, the engine grew up as well. My first Godot version was 3.1, and the engine and GDScript have improved so much since then. Godot has taught me a ridiculous amount about programming, design, and project management. I’m really excited to see where Godot goes next.

Why I built CRAFTLANDER

I had been wanting to build an island adventure game for a while. Years ago, I came across a tutorial on YouTube about how to procedurally generate islands in Godot. All these years later, I ended up using very similar logic to that tutorial.

Originally, the game was not going to be procedurally generated at all. It was going to be a handcrafted, first-person space exploration shooter where you explore planets in retro 3D graphics. I decided it would be too much work to handcraft a world and that I’d be able to make more content by procedurally generating levels. The sailing mechanic clicked into place and grounded the game loop: sail to an island, gather resources, upgrade your ship, sail to another island. Sailing was a crucial game loop beat that I could reuse as many times as I needed for many different islands.

I wanted the game to be free and open source because I wanted many people to be able to play, interact with, and experience this world I made without having to pay. It was also important to me that all of the code be open source under the MIT license. Being able to create code and let anyone in the community see and reuse it really intrigued me. I loved that aspect of community, sharing what I’ve made in multiple ways: not only on Steam and itch.io, but through GitHub and through the code.

Making procedural terrain feel like islands

My first islands were okay, but they were bland. The terrain wasn’t extremely varied and interesting because I was using a single gradient and a single noise texture to generate the entire island. The islands were also much too big; for a large island to feel full, and not like a barren wasteland, it needed many, many items, props, and enemies, and that would be a major performance bottleneck. Therefore, the islands ended up shrinking a fair amount.

I also changed how the noise and gradients work. The terrain now came from multiple gradient textures and multiple noise textures, plus some sampling tricks (each noise texture is sampled differently). I added a few extra settings over time that make the terrain feel more varied, more realistic, and more island-like, instead of a boring, bumpy slope above sea level.

Filling the islands

There are four islands, and each one has its own enemies.

The first island, Lush Isle, is a forest island. Rootlings are tree-themed melee attackers that hit you with maces. Little taluses are small rock enemies that throw stones at you. Shroomoids throw mushroom clouds at you and can teleport. There are also bee nests around the island. You can attack them to get honeycomb, but when you destroy one, a swarm of bees spawns and attacks you.

On Skelly Sandbar, there are skeletons, which are similar to the Rootlings but use golden pickaxes. There are also Cactoids that run at you and clap their hands to damage you, giant snails that spit slimeballs, and crabs that block your attacks.

On Frost Holm, there are evil snowmen that throw snowballs at you, yetis that jump into the air and slam down to attack, candy spiders with a unique dash attack, and little ice taluses made of ice cubes.

The final island is haunted. It is where you fight the Ghost Captain.

The Ghost Captain

The Ghost Captain was a really interesting part of the game design, and I think that fight is one of the most fun parts of the game, if not the most fun. His state machine, progression, and attacks are so unique and interesting to me. He also uses a ridiculous amount of code. He ended up being so fun that, by the time he was finished, all of the game’s other enemies felt boring to me by comparison. They used to all essentially be the same enemy, either running at you and attacking or spitting something at you—that was all any enemy did.

As I added telegraphs for the boss and more complicated attack styles, the fight was so good that I needed to redistribute almost all of his attacks to different enemies throughout the game in order to spread that fun around. Doing so ended up being a great design decision because it also foreshadowed all of the captain’s attacks to players earlier in the game. The Ghost Captain is possibly my favorite piece of design in the entire game.

What went wrong

Probably the biggest thing that went wrong was miscalculating how long the game would take to finish. I originally wanted to release it by the end of the last summer— the summer before my senior year—so I wouldn’t have to work on it during school and could focus on classwork and applications. But it ended up being really difficult to schedule and scope the game because I’m just one person doing all of the code, all of the 3D modeling, all of the drawing, and all of the design. It was tricky to plan how long all of it would take, and I ended up misjudging my timing quite heavily.

I learned that, because it’s so difficult to plan how long a big game like this will take, it’s best to have some sort of time margin. I wish I would have scoped the game differently and guessed that it could take months longer than anticipated to finish. I would have been a lot less pressed for time.

Numbers

  • 11 months of solo work, started in November 2025

  • About 30,000 lines of GDScript (excluding addons)

  • About 1,600 commits

Tools

  • Built with Godot

  • 3D modeled in Blender

  • 2D art drawn in Procreate

  • Audio edited in Audacity

I originally planned to use asset packs and get art from elsewhere, but it was difficult to make free packs combine and look as though all of the art assets belonged together. I didn’t have any budget for this game, so I didn’t spend any money on art assets, and I ended up making all of the art myself.

What’s next

I want to add more content to the game in the future. On a smaller scale, that might look like more items, weapons, and enemies per island, and some more story elements. On a grander scale, that might look like new islands, a world navigation system where you actually control the boat as you sail between the islands, and possibly another boss fight fought from inside your boat.

If you want to play it, I’d love to hear what you think. An honest Steam review helps a lot.

Steam (free): CRAFTLANDER on Steam

itch.io (free): CRAFTLANDER by SQUABIX

GitHub (MIT): GitHub - squabix/craftlander: Fight, explore, and sail across dangerous islands with discovery around every corner. Harvest rare materials and craft special gear to help you as you battle menacing fantastical creatures, build up your ship, and conquer a high-stakes final boss in a compact first-person island adventure. · GitHub

11 Likes

That’s awesome dude it looks really sick.

It’s one thing to start writing code at a young age, but to put out a complete project on an online marketplace? That’s impressive. You should be proud of yourself.

I started using game Maker when I was like 9, I’m 30 years old I still haven’t put out a single complete game :sob:

3 Likes

Just started testing on Mac, is there sound in game?

  • so far nice copy of Minecraft

Noticed some floating objects, water level seem to be issue as well in some areas of map.

1 Like

Thank you so much!

Thank you so much for checking out my game and for the screenshot!

I haven’t been able to reproduce the floating object on my end, so a few details would help me track it down: Was it a new game or a loaded save? Did it take hits, or could you walk through it?

It’s a floating copper chunk. Was only that one object floating, or did you see more floating objects? If you saw more floating objects, did they look the same or different?

Sound should play on Mac, and it has in my testing. Are you able to change the sound sliders in the game settings menu? Is there no sound at all, including music and the menu, or only in-game? What are you using for audio output (built-in speakers, headphones, or a monitor)?

If you can, please also attach or copy/paste~/Library/Application Support/CRAFTLANDER/logs/craftlander.log. If anything went wrong while the island loaded, it should show up in there. In Finder, you can use Go > Go to Folder and paste the path. Please grab the log before you launch the game again, since it’s overwritten each time.

And again, thank you for playing. It really means a lot to me and is extremely supportive!

1 Like

New game, I have type number for seed.

The object had collider.

More then one.

I think they were branch or something like that.

I tried change slider, using built in sound.

maybe it’s fault I compiled from your repo.

Since then I have clean OS, but I can try your packed version from Steam.

I have tried your steam export:

Sounds working there as intended

Floating object in new level I haven’t spotted too much floating objects, but I guess it’s related to orientation and object origin, as some were close to be floating the stumps and ores.

I have filled you bug report for resources I spotted in Iceland level when collecting for upgrades - when you achieve two stacks the upgrade only see the one in main bar.

Also be nice to have option to discard items, as I had drop of two Ice Staff from one mob and couldn’t throw away other one. - in video 40:50 timestamp.

The floating example can be seen 12:15

Some particles could be prebaked/loaded as for initial fight or pickup it stutter for second.

Full video gameplay can be seen here : https://youtu.be/9ordYQ5wz2w .

Overall I liked game, it was fun, somehow intuitive as reminded be Rust and Minecraft combined, and then later bit of Doom Boss on Undead island.

Good job, keep it up.

1 Like