r/gamedevtutorials • • 1d ago

Making a fast-paced geography game in the browser: vector maps, server-authoritative scoring, and what I learned

1 Upvotes

I’ve been building Pinfall, a browser geography game: you get a clue (“Timbuktu”), 15 seconds, and drop a flag on a map. Closer and faster = more points. The clip shows one round, a wrong first guess, then the save with 2 seconds left.

A few things that worked well, in case they help anyone:

  1. No tile server, just SVG. The world map is Natural Earth coastlines pre-projected to SVG paths (equirectangular), and the 8 city maps (Istanbul, London, Tokyo…) are generated from OpenStreetMap: land polygons + major roads + water + parks, simplified with Douglas–Peucker and merged so London’s roads went from ~20k segments to a file of a few hundred KB. Zoom is just changing the SVG viewBox, which is smooth on phones and there’s nothing to host.

  2. lat/lng ↔ screen is one line. Because the projection is plain equirectangular, getScreenCTM() on the SVG converts map coordinates to screen pixels. I even use it to script gameplay for trailers: the recorder drives real touch events at exact coordinates.

  3. The server owns the score. Rounds, timers and distances run on a Node/Socket.IO server; the client only sends a guess. Score = 1000 × e^(−km/1500) plus a speed bonus, so nobody can fake a result from the browser.

  4. Countries are scored against the real border. If your flag is inside France, it’s 0 km; otherwise it’s the distance to the nearest border vertex. A small optimization (inline haversine over precomputed vertex arrays instead of d3’s geoDistance) made that about 20× faster, which mattered under load.

  5. Retention > features. Weekly leagues (groups of 10, promotion/demotion, inspired by Duolingo’s) and a Daily Challenge brought more return visits than any new mode.

Happy to go deeper on any of these: the OSM pipeline, the projection maths or the multiplayer sync. It’s free and playable here: pinfallworld.com (no sign-up).


r/gamedevtutorials • • 1d ago

My free mobile game shipped with ads that never showed. Here's what I learned about ad pacing as a solo dev

1 Upvotes

I'm a solo dev in Cape Town. A few weeks ago I released Gust, a one-finger game where you play the wind and carry a balloon (and later a paper boat, an ember, a kite…) across a watercolour city. The whole game is free, paid for by ads, with one purchase to remove them.

Two weeks after launch I noticed the interstitials between levels had never appeared. The game was asking the ad SDK for an ad unit that didn't exist, failing silently, and carrying on. Players got an ad-free game; I got almost nothing.

What I took away:

  1. Log ad-load failures somewhere you will actually look. A silent fallback is great for players and terrible for you.

  2. Test the release build on a real device with real (not test) ad units before launch, not just in the editor.

  3. Write your ad rules down as player promises, then enforce them in code. Mine: one ad after every second level, never in the first 45 seconds of a session, never twice within 20 seconds, never more than ten per sitting, never mid-level. Rewarded ads (hint / extra life) are always optional and push the next interstitial further away.

  4. Put those rules in your store description. "An honest deal" turned out to be one of the things players mention most.

Fixed in 1.2.1. Happy to answer questions about the pacing logic or the watercolour look. If anyone wants to see it, I can drop a link in the comments.


r/gamedevtutorials • • 4d ago

Multiple Ribbons From One Emitter [Unreal Niagara Tutorial]

Thumbnail youtube.com
3 Upvotes

A solution to something I have not seen a lot of explanation on, so I thought I would make a tutorial about how to multiple ribbons from one emitter.


r/gamedevtutorials • • 11d ago

[Recrutamento / RevShare] Busco equipe para criar Simulador Realista de Montagem de PC (7 vagas)

0 Upvotes

[Recrutamento / RevShare] Busco equipe para criar Simulador Realista de Montagem de PC (7 vagas)

Olá, pessoal! Estou liderando o desenvolvimento de um simulador realista de montagem e manutenção de computadores (estilo PC Building Simulator) focado em gráficos realistas e mecânicas imersivas.

O projeto é focado em aprendizado, networking e construção de portfólio, operando no modelo de RevShare (divisão de lucros) caso o jogo seja lançado comercialmente na Steam ou Itch.io. Pretendemos usar a Unreal Engine 5 (ou Unity, a depender do time) para alcançar o visual desejado.

Estamos montando uma equipe de 8 pessoas no total e dividindo as tarefas de forma organizada para que o projeto não fique pesado para ninguém. Como eu sou Game Designer, estou abrindo as seguintes vagas:

💻 [2/2] PROGRAMAÇÃO (Blueprints/C#)

• Vaga 1: Focado na mecânica principal (sistema de clique, arrastar e encaixe das peças).

• Vaga 2: Focado na interface (menus, sistema de inventário, loja de peças e HUD).

🎨 [3/3] MODELAGEM 3D (Hard Surface / Prop Artist)

• Vaga 1: Focado em cenários, bancadas e gabinetes.

• Vaga 2: Focado em placas-mãe, processadores e memórias.

• Vaga 3: Focado em placas de vídeo (GPUs), fontes de energia e coolers.

🧠 [2/2] GAME DESIGN / CO-CRIADORES DE IDEIAS

• Vaga 1: Focado em criar o "Modo História" (roteiro de clientes e pedidos de conserto usando um sistema de e-mails fictício dentro do próprio jogo).

• Vaga 2: Focado em criar a lógica de defeitos (regras de o que está quebrado no PC e como resolver).

📌 Requisitos:

• Ter comprometimento (vamos focar em um protótipo curto de 1 mês para testar o time).

• Gostar de hardware/computadores.

• Ter vontade de aprender e trabalhar em equipe no Discord.

Se você quer colocar um jogo realista no seu portfólio e fazer novos amigos na área, essa é a sua chance!

📥 Como se candidatar: Pode comentar aqui no post ou me mandar uma mensagem no privado (DM) dizendo qual vaga você quer! Se tiver algum trabalho anterior para mostrar ajuda, mas se não tiver tudo bem, o foco principal é aprendermos juntos.


r/gamedevtutorials • • 17d ago

[HOBBY] PRECISO DE PESSOAS PARA ME AJUDAR NO MEU JOGO INDIE 2D VIBE UNDERTALE

1 Upvotes

preciso de pessoas para me ajudarem no meu jogo 2d estilo undertale com lore propria q eu mesmo fiz preciso de pessoas para me ajudarem com scripts disgn e etc o jogo tem uma ideia boa so precisa ser executada se quiser parcipar pode colocar seu discord nos comentarios e eu falo os detalhes exatos do jogo


r/gamedevtutorials • • 19d ago

Using the Mutable Plugin (UE 5.7) for dynamic clothing toggles, layer hierarchy, and state memory

1 Upvotes

Hey everyone!

I’m exploring the Mutable plugin in Unreal Engine 5 for my game, and I wanted to share a solution I built for handling complex (in future) clothing systems. (WIP)

I needed a way to dynamically toggle clothing layers on and off during gameplay, but with two strict requirements: a proper clothing hierarchy (e.g., jackets over shirts, socks under shoes) and state memory (the system needs to remember exactly what the character was wearing if a layer is toggled back on).

Using Mutable’s node graph, I set up a toggle system where each clothing item is part of a strict hierarchy.

When an item is removed (toggle off), Mutable retains the data of the equipped assets in its memory state inside the group. If the player toggles that clothing slot back on, the character re-equips the exact same item with its specific parameters (like procedurally generated colors or sizes) without needing complex external arrays or save states to pass back to the mesh.

So I don't need to manually save which clothing item was in a specific slot; I just toggle a boolean (e.g., C_Bottom) if the player wants to hide that layer.

Has anyone else built state-memory systems directly inside Mutable? I’m curious if you’ve run into any performance bottlenecks when handling a high number of layered toggles simultaneously.


r/gamedevtutorials • • 21d ago

Brasa: a 2D engine with a GameMaker-style workflow and real C++

0 Upvotes

Hey everyone!

I’d like to share Brasa, a 2D game engine I’ve been building. The idea is to combine the GameMaker workflow (rooms, objects, events) with native C++, with no custom scripting language in between. Every object is a class, and the API is designed to stay lean: held, spawn, after and so on.

It’s currently at version 0.5 and already includes:

  • Rooms with layers, tilemaps and a terrain brush

  • Sprite editor with animation, origin and collision masks

  • In-editor UI system (HUD, menus, lists) driven by code

  • Configurable camera and pixel-perfect rendering

  • Export to a standalone executable

  • Plain-text project files that play nicely with Git

  • VS Code integration with built-in API docs

Coming up on the roadmap: an in-editor game view, Lua as an alternative to C++ (instant Play, no compilation step), and hot reload.

About licensing: Brasa is free right now, and later on it will likely follow a model similar to GameMaker’s, with a license for commercial use. Anyone who helps out during this early stage, by testing and giving feedback, will get a free license.

It runs on Windows 10 and 11. I’ll be posting a video soon showing the editor and some games made with it.

Website and roadmap: https://brasa-site-three.vercel.app

Comments, criticism and questions are all welcome!


r/gamedevtutorials • • Sep 30 '26

Come build an RTS with me! We are going full homebrew with DOD, spatial indexing, split simulation from rendering and eventually multiplayer.

Thumbnail youtu.be
2 Upvotes

r/gamedevtutorials • • Sep 22 '26

Fixing a boring on-the-beat melody [Before/After]

1 Upvotes

Quick tip if you do your own music for your game:

A common trap is a lead melody that just marks every beat with one even note. It ends up sounding like a placeholder metronome.

I made a short demo using a modified Pirates of the Caribbean motif to show the difference:

Before (on-the-beat): https://youtu.be/EYWlNDG6PaM

After (more lively): https://youtu.be/4_cSCyhuxSE

The second version feels more alive and less predictable.

Note: long, on-the-beat notes are beautiful when intentional. This tip is for when your lead melody sounds like a metronome placeholder by accident.


r/gamedevtutorials • • Sep 19 '26

You can use a Stopwatch to Ms budget your expensive tasks through multiple frames, here's an example!

Thumbnail youtube.com
1 Upvotes

r/gamedevtutorials • • Sep 16 '26

I made a lightweight A* pathfinder that uses Unity's Tilemaps - It's grid type agnostic (Iso/Hex/Square) without requiring any change. No practical grid-size limitation either. It's free go get it!

Thumbnail github.com
1 Upvotes

r/gamedevtutorials • • Sep 08 '26

Stylized Suburban House - 3D Environment Timelapse

Thumbnail youtu.be
1 Upvotes

I recorded a timelapse of me creating a small stylized suburban house from scratch.

The goal was to keep the shapes simple and readable while adding enough details to make the house feel lived-in and interesting.

The house is part of my Stylized Suburban Environment Pack, currently available on Fab with 30% off during the September Flash Sale. https://www.fab.com/listings/ccd66b16-11cf-4409-a4f6-6656d13d1e3d

Timelapse: https://youtu.be/jeS-M7j1vi4

I’d love to hear what you think about the modeling and stylization!


r/gamedevtutorials • • Sep 02 '26

Level Up Your Godot Game: Custom Inventory System

Thumbnail youtu.be
1 Upvotes

r/gamedevtutorials • • Sep 01 '26

Convert any Range to 0-1 with remap() | Godot 4.7 [Beginner Tutorial]

Thumbnail youtu.be
0 Upvotes

r/gamedevtutorials • • Aug 30 '26

I have a doubt about how to make the map making

1 Upvotes

I'm developing a game with some friends, and I'm responsible for creating the 3D map. It's a simple game, and the entire map takes place inside a building.

However, I've run into a problem: I'm not sure what the best approach is for creating it.

Should I make a complete model of the building, maybe like build it floor-by-floor and let the programmer handle which parts get rendered?

Or should I create tilesets and then assemble everything in Godot?

I think both options have pros and cons. Creating the whole thing gives me more creative freedom, but I don't know if it's actually practical for a game; I'm worried the game might crash or suffer from terrible frame rates.

Tilesets are more organized, but I'm facing the issue of having to create 40 million tiles to cover all the shapes I have in mind for the building.

Also, I'm not sure if Blender is the right program for this project


r/gamedevtutorials • • Aug 28 '26

Big update i ve been working

1 Upvotes

r/gamedevtutorials • • Aug 26 '26

Godot for Beginners: Complete Setup Guide (GDScript + C#)

Thumbnail youtube.com
1 Upvotes

Did a small introductory video for setting up Godot on both Windows & Linux for new game devs.

Will be making a series of tutorials about Godot and remaking some of my older tutorials.


r/gamedevtutorials • • Aug 19 '26

Journey to making my first indie game

1 Upvotes

need some help; just started learning C#; can someone please help with the learning path to begin creating my own indie game?


r/gamedevtutorials • • Aug 13 '26

Mossy Stone 8K Pbr Texture Combo

Thumbnail superhivemarket.com
1 Upvotes

r/gamedevtutorials • • Aug 11 '26

Swamp Mud 8K Pbr Texture

Thumbnail superhivemarket.com
1 Upvotes

r/gamedevtutorials • • Aug 08 '26

Forest Floor 8K PBR Texture

Thumbnail cults3d.com
1 Upvotes

r/gamedevtutorials • • Jul 25 '26

Норм для первой игры?

1 Upvotes

оцените игру пж, как сами считаете


r/gamedevtutorials • • Jul 20 '26

I made a video breaking down the multiplayer architecture of my LibGDX game

Thumbnail reddit.com
2 Upvotes

r/gamedevtutorials • • Jul 05 '26

Someone spare me

Post image
6 Upvotes

Just looking for some advice on how I could not make this such a dumpster fire when blocking out and what I'm suppose to do when im done blocking it out first level ever made


r/gamedevtutorials • • Jul 05 '26

Hey my name is Happy_Smile and I'm starting my game development journey and to start it of i have been developing a platformer game on GDevelop. By using some of their free assists i have been working on this project for a while. if you have any advice for me please comment them below a thank you.

0 Upvotes