View all by Marcos Donnantuoni
Creator
Follow Marcos Donnantuoni
Follow
Following Marcos Donnantuoni
Following
Add To Collection
Collection
Comments
Devlog
Marcos' Mysterious Maze
←
Return to Marcos' Mysterious Maze
Devlog
Pleasantly surprised by the procedural generator
September 05, 2024
by
Marcos Donnantuoni
In this video I show an interesting puzzle and solution found by my procedural puzzle generator that surprised me with a neat trick...
Continue reading
Using Godot's ConfigFile class to store the game's shape codex
September 05, 2024
by
Marcos Donnantuoni
In this video I show the flexibility of Godot's ConfigFile class, which I'm using not only to save the settings of the game, but also for something less standard: saving a codex with the different sha...
Continue reading
Progress report: some Main Menu Musings
September 05, 2024
by
Marcos Donnantuoni
In this video I talk about some details of the main menu, including a small trick to show some feedback before loading the game...
Continue reading
Keeping It Simple: trial and error vs. complex code
July 25, 2024
by
Marcos Donnantuoni
In this video I talk about a decision to stop complicating the code and use a somewhat "lame" but robust solution to avoid sparsely populated dungeons...
Continue reading
Simplifying difficulty bags
July 19, 2024
by
Marcos Donnantuoni
In this video I show how I simplified the internal difficulty organization of the levels, making it faster for the parser and stitcher to put together the world of the game. The first test build is cl...
Continue reading
About difficulty bags & coming demo
July 16, 2024
by
Marcos Donnantuoni
In this video I showcase what I've beet to these days: splitting the levels into different difficulty classes. I'm close to be able to release the first demo for my supporters and community, although...
Continue reading
Basic save and load using Godot's JSON parser
July 10, 2024
by
Marcos Donnantuoni
In this video I add the basic save/load functionality to persist the game state between sessions, a very necessary feature for any decent game :)...
Continue reading
Restricting the map to visit only solved levels
July 09, 2024
by
Marcos Donnantuoni
In this video I add the necessary restrictions to the map so the player can only visit previously solved levels...
Continue reading
Celebrating 100 episodes with some Godot GPUParticles3D!
July 07, 2024
by
Marcos Donnantuoni
I celebrate the 100th episode with some fireworks, or perhaps I should say dustworks... I also enhanced a bit the visual contrast between the normal walls and the "fog of war" walls...
Continue reading
Godot timer + await = "coroutine" for gradual level reveal
July 04, 2024
by
Marcos Donnantuoni
In this video I make a "gradual reveal" function to use when the player enters a new level, using Godot's await timer functionality...
Continue reading
Adding "fog of war" reusing the procedural walls
July 03, 2024
by
Marcos Donnantuoni
In this video I add a kind of fog-of-war to the game, reusing the procedural walls to occlude the inside of unexplored levels...
Continue reading
Reusing the level parser for the special initial level
July 03, 2024
by
Marcos Donnantuoni
In this video I reverse-engineer my own level format in order to make a special initial level for the game...
Continue reading
There's a blue sky outside the dungeon! And a bit of floor
June 28, 2024
by
Marcos Donnantuoni
In this video I move the underground background so we can see the sky outside the world, and begin to make the exterior floor where the player will commence the adventure...
Continue reading
Adding mine-shafts because Godot hates infinite loops
June 26, 2024
by
Marcos Donnantuoni
1
In this video, I talk about an infinite loop situation that happens with certain individual random seeds, caused by the positional restrictions I enforced. I solved it relaxing a bit those restriction...
Continue reading
My experience with Godot so far
June 24, 2024
by
Marcos Donnantuoni
2
I wanted to share my earnest opinions about Godot: the good things the engine offers, some of the worrying things I experienced, and also one "bad" thing, about the feature I miss the most after worki...
Continue reading
Detecting when gravity ruins your solution
June 23, 2024
by
Marcos Donnantuoni
In this video I talk about the situations where the player solves a shape but then the shape changes as the player moves to collect the sigil. It's an interesting situation to consider, and I believe...
Continue reading
Rebound to Godot's RandomNumberGenerator & pre-splitting levels
June 21, 2024
by
Marcos Donnantuoni
In this video I show two optimizations I added recently to the game; one involves returning to Godot's internal RNG instead of the custom GDScript one I made (it was rather slow) and another is about...
Continue reading
Changing corridor owners to enhance navigation
June 19, 2024
by
Marcos Donnantuoni
In this video I change the way I manage corridors; previously, a corridor was "owned" by the level from which the player came; now, the corridors will be owned by the level that the player is entering...
Continue reading
Ladders bug-fix & Godot's Engine.time_scale for animations
June 17, 2024
by
Marcos Donnantuoni
In this video I show a bug where some ladders are missing from the corridors (specifically at vertical exits or entrances), and then I simplify the movement speed's management when there are several p...
Continue reading
Hacking level generation to avoid initially hidden ladders
June 14, 2024
by
Marcos Donnantuoni
In this video, I make some adjustments to the level generator to address the issue of ladders being hidden at the start of the game. This could be frustrating for players, so I wanted to improve the e...
Continue reading
Blocking sigils until connected
June 12, 2024
by
Marcos Donnantuoni
In this video I "protect" sigils with walls in the generator, until I need to connect them to other levels...
Continue reading
Quick bug-fix: misbehaving corridors
June 11, 2024
by
Marcos Donnantuoni
In this video I show and fix a small but annoying bug of the level stitcher...
Continue reading
Adding corridors to the iterative stitcher
June 10, 2024
by
Marcos Donnantuoni
In this video I add the proper corridors between levels to the level stitcher, and tune some construction parameters...
Continue reading
Directional level bags + fake loading = nicer dungeon tree
June 08, 2024
by
Marcos Donnantuoni
1
In this video I show a bit of progress in the final iterative stitcher, using directional entry level bags and fake level loading...
Continue reading
An interesting "race condition" bug
June 05, 2024
by
Marcos Donnantuoni
In this video I show an interesting bug at the frontier between the level generator and the game...
Continue reading
Falling vs moving down, unnecessary walls, and a new bug
June 04, 2024
by
Marcos Donnantuoni
In this video I change the speed of the normal downwards movement (in as opposed to the faster falling movement), think for a while about removing unnecessary walls in corridors, and find an interesti...
Continue reading
Continuous downward input, occluded ladders, stuck lose message
May 31, 2024
by
Marcos Donnantuoni
In this video I tackle three small issues that annoy me while I play...
Continue reading
Generating ladders inside levels
May 29, 2024
by
Marcos Donnantuoni
In this video I continue with the code for allowing ladders inside levels, this time at the generator level...
Continue reading
Contemplating ladders inside levels
May 28, 2024
by
Marcos Donnantuoni
In this video I think a bit about allowing ladders inside levels, and begin implementing the basic logic in the game...
Continue reading
Iterative tree-like connection algorithm, attempt 1
May 25, 2024
by
Marcos Donnantuoni
In this video I begin implementing the final idea for the level stitcher: a tree-like iterative approach...
Continue reading
More path-finding refinements and tuning
May 23, 2024
by
Marcos Donnantuoni
In this video I show more about the new path-finding algorithm. Now I use a smaller-area shape to constrain the step-by-step routing. I add another parameter to visually tune it further...
Continue reading
New pathfinding (instead of Godot AStarGrid2D) for more control
May 21, 2024
by
Marcos Donnantuoni
In this video I show the current state of the new pathfinding algorithm I want to use in the final stitcher. It's still a bit slow but I have some ideas to make it faster...
Continue reading
Fully-enclosing moats for the stitcher
May 20, 2024
by
Marcos Donnantuoni
In this video I implement a partial fix for some of the bad situations in the stitcher, although some bugs remain...
Continue reading
Stitching levels again: corridor and moat shenanigans
May 16, 2024
by
Marcos Donnantuoni
In this video I resume the level stitching, partially solving a connectivity bug by enlarging the "moats" around entry points...
Continue reading
Plates and bridges working! Except for a fun bug
May 14, 2024
by
Marcos Donnantuoni
In this video I show the final touches I made to the plates/bridges mechanic, after so many bugs and design decisions... I think it was a worthy feature to add to the game. There is still some design...
Continue reading
Plates and bridges, part 5: fall is coming
May 13, 2024
by
Marcos Donnantuoni
In this video I show some solved plate/bridge situations and some still unsolved ones, and analyze possible ways to implement the sequential falling to ensure consistency of behavior...
Continue reading
Plates and bridges, part 4: design conundrums
May 10, 2024
by
Marcos Donnantuoni
In this video I show some of the interesting conundrums I have encountered while adding this feature to the game. I think it's useful to show this kind of decisions and design problems one encounters...
Continue reading
Pressure plates and bridges, part 3
May 09, 2024
by
Marcos Donnantuoni
In this video I continue adding the code for using pressure plates to activate/deactivate bridges/obstacles in the game, and discover some interesting bugs...
Continue reading
Pressure plates and bridges, part 2
May 08, 2024
by
Marcos Donnantuoni
In this video I continue adding the code for using pressure plates to activate/deactivate bridges/obstacles in the game, and also the basic parsing of the new symbols in the game...
Continue reading
Pressure plates and bridges, part 1
May 07, 2024
by
Marcos Donnantuoni
In this video I begin to add the code for using pressure plates to activate/deactivate bridges/obstacles in the game...
Continue reading
Simplifying the bounce code using tween_method
May 03, 2024
by
Marcos Donnantuoni
In this video I simplify the code I added in the previous video by using the tween_method instead of tween_property, which allows for more general manipulations inside arbitrary functions. Featuring t...
Continue reading
Juicing the game with bouncy animations
May 03, 2024
by
Marcos Donnantuoni
In this video I add some more "juice" to the game, by animating bouncing for invalid moves...
Continue reading
Smoothing transitions from corridors to levels
May 01, 2024
by
Marcos Donnantuoni
In this video I make the transitions from a corridor to a new level similar to a normal move, with a smooth sliding move...
Continue reading
Proper 3D bones and separate prefabs for crates
April 29, 2024
by
Marcos Donnantuoni
In this video I separate the crate prefab into several prefabs, one for each crate type. This allows for better asset organization and slightly less memory usage...
Continue reading
Skeletal bugs galore & adding a small feature
April 25, 2024
by
Marcos Donnantuoni
In this video I show several interesting bugs, all related to the new skeletal crates. It turns out that changing the fundamental assumptions of the mechanics can cause bugs, who would have known?...
Continue reading
Fixing an interesting level data bug
April 23, 2024
by
Marcos Donnantuoni
In this video I fix an interesting bug in the level data representation of the game...
Continue reading
Quick fix + new bug
April 22, 2024
by
Marcos Donnantuoni
In this short video I fix a bug related to the skeletal crates, and find a new bug related to the orientation of some force-fields...
Continue reading
Adding skeletal crates!
April 19, 2024
by
Marcos Donnantuoni
In this video I add skeletal crates to the game. They are traversable by the player, and cannot be grabbed...
Continue reading
Localizing and customizing the "you lose" dialog
April 18, 2024
by
Marcos Donnantuoni
In this video I add a bit of localization with the excuse of customizing the "you lost" message (before, we had only one way to die, but now we had two)...
Continue reading
Transient and permanent particles for explosions
April 17, 2024
by
Marcos Donnantuoni
In this video I add a radioactive effect for the "explosions" that indicates when two radioactive crates are too close, whether or not the move ends in an actual explosion...
Continue reading
Corridor Ladders + Vector2i / Vector3i Confusion
April 15, 2024
by
Marcos Donnantuoni
In this video I add little ladders to the corridors, in the segments where the player should not be able to float more than 1 meter. I used an approach that promised to be simple, but some confusion a...
Continue reading
A tale of two fixes
April 11, 2024
by
Marcos Donnantuoni
In this video I fix a fun and explosive bug, and I allow the player to climb infinitely inside corridors...
Continue reading
Now with radioactive crates!
April 10, 2024
by
Marcos Donnantuoni
In this video I add radioactive crates to the game. They are not dangerous on their own, but if you put two next to each other, they will explode...
Continue reading
Fixing a cross-level state contamination bug
April 08, 2024
by
Marcos Donnantuoni
In this video I fix an interesting bug that caused cross-level undo-queue-contamination. I think it's interesting to show these kind of bugs, because open-world (or dungeon) games are in fashion these...
Continue reading
The game got bulkier! New heavy crates
April 05, 2024
by
Marcos Donnantuoni
In this video I add heavy crates to the game. These crates cannot be lifted, but can be pushed sideways...
Continue reading
Speed tuning, floating and arms effects
April 03, 2024
by
Marcos Donnantuoni
In this video I adjust a bit the speedup of the animations, and adapt the floating effect and the arms movement to the new animation system...
Continue reading
Accelerating animations on new input
April 03, 2024
by
Marcos Donnantuoni
In this video I try to accelerate the animations to keep up with the player when they want to make several moves rapidly...
Continue reading
Editing my Godot project on Windows 95? Amazing!
April 01, 2024
by
Marcos Donnantuoni
1
#april fool's
In this video I wanted to show how versatile Godot really is. It runs a bit slow on Windows 95, but it can load my project...
Continue reading
Truncating animations on new input
March 29, 2024
by
Marcos Donnantuoni
1
In this video I add code so that fast input causes animations to end prematurely. This allows for players not to be frustrated if they want to speed-run the game :)...
Continue reading
Causing mayhem with parallel and sequential tweens
March 28, 2024
by
Marcos Donnantuoni
In this video I add the visual aspect of the movement effects we computed last time. I use parallel tweens inside each stage of movement, and chain all the stages together sequentially, using only one...
Continue reading
Input buffering vs visual movement queuing
March 27, 2024
by
Marcos Donnantuoni
In this video I tackle the classic problem of fast-paced input in grid games. Some people use input buffering, but it can have strange issues. I prefer to accelerate or interrupt animations, so I prep...
Continue reading
Implementing the "virtual moat" solution
March 26, 2024
by
Marcos Donnantuoni
In this video I implement the "virtual moat" idea from the previous video, and check that it works, at least for isolated pairs of levels. But I suspect I will have to generalize the idea for the comp...
Continue reading
Virtual moats to avoid overworld routing issues
March 25, 2024
by
Marcos Donnantuoni
In this video I devise a possible solution for some routing problems in the level stitcher (when an exit can lead to a corridor to which it does not belong) using virtual "moats" that guide the pathfi...
Continue reading
Entering new levels from corridors + cliffhanger
March 22, 2024
by
Marcos Donnantuoni
In this video I start to make the code that allows the player to go from a corridor into a new level. I add the basic functionality but discover a weird bug, and leave it as a cliffhanger...
Continue reading
Following the player into some weird corridors
March 19, 2024
by
Marcos Donnantuoni
In this video I add functionality to the camera so it can follow the player into the corridors between the levels. Also I fix a bug that produced weird corridors because of bad coordinates...
Continue reading
Ensuring Repeatability using the custom RNG
March 18, 2024
by
Marcos Donnantuoni
In this video I make sure the loading of the game is always consistent when using the same seed for the RNG. Short video but I think it's interesting to show these kind of "menial" tasks of gamedev :)...
Continue reading
Making (and testing) our own independent RNG
March 15, 2024
by
Marcos Donnantuoni
In this video I add code for a Random Number Generator that is independent from the Godot internal one, to avoid changes of behavior in future versions of the engine. I also use the Dieharder statisti...
Continue reading
Checking Godot's source to confirm suspicion about AStarGrid2D
March 14, 2024
by
Marcos Donnantuoni
1
In this video I fix another routing bug, related to Godot's AStarGrid2D algorithm. Sometimes one makes assumptions about the behavior of an engine's feature that are simply incorrect. In that case, it...
Continue reading
Fix path overlap, enter/exit logic WIP
March 13, 2024
by
Marcos Donnantuoni
In this video I fix the overlapping of the automatic paths, and begin to think the logic behind the crossing from level to corridor and viceversa...
Continue reading
Automated path-drawing
March 11, 2024
by
Marcos Donnantuoni
In this video I begin automating the routing between levels. The first step is to be able to draw a path between the exits of a level towards some arbitrary external point in the world...
Continue reading
FPS-independent map zoom and movement
March 08, 2024
by
Marcos Donnantuoni
In this video I add the zoom-in and zoom-out capabilities to the map mode, to allow the player to get the "big picture" and/or travel faster to distant levels. I also show how to ensure that the movem...
Continue reading
Avoiding entry/exit interference
March 04, 2024
by
Marcos Donnantuoni
In this video I remove some inconvenient situations in the generator, adding pseudo-spaces at certain points of the generation...
Continue reading
Procedural meshes also for the paths
March 02, 2024
by
Marcos Donnantuoni
In this video I re-use the procedural mesh generator for the paths between levels, in order to achieve the same look in both of them. Short video, but collected some interesting things for the TODO li...
Continue reading
Design ramblings: the sigil situation
March 02, 2024
by
Marcos Donnantuoni
In this video I consider some changes to the nature of the sigils: from exclusively doors, to more general collectibles that sometimes will function as doors...
Continue reading
PathFinding: A* + a pinch of randomness
February 26, 2024
by
Marcos Donnantuoni
In this video I use the AStarGrid2D Godot class to test several options for pathfinding, and add a bit of randomness to the too-neat paths it generates...
Continue reading
Trying the GridMap and Path3D nodes
February 25, 2024
by
Marcos Donnantuoni
In this video I try the GridMap and Path3D Godot nodes, to think about different approaches on how to stitch the levels together with different kinds of path...
Continue reading
Moving code from the player to the world
February 22, 2024
by
Marcos Donnantuoni
In this video I move some code to better organize the logic. Short video, sorry!...
Continue reading
Non-extremal entrances
February 21, 2024
by
Marcos Donnantuoni
In this video I modify the generator logic to allow for more potential entrance positions, to have more interesting levels...
Continue reading
Allowing for side entrances
February 20, 2024
by
Marcos Donnantuoni
In this video I talk a bit about design ideas for the game overworld/underworld, and add the possibility of side entrances to the levels, to (hopefully) simplify the level-stitcher logic later...
Continue reading
Procedural lava mesh
February 19, 2024
by
Marcos Donnantuoni
In this video I convert the lava floors to the procedural mesh system I show in the last videos, sharing vertex and logic information so the wall and lava shapes adapt to each other...
Continue reading
Procedural mesh deformation
February 17, 2024
by
Marcos Donnantuoni
In this video I deform a bit the procedural mesh vertices to achieve a less regular looking cave...
Continue reading
More 3D (but weird) procedural mesh
February 16, 2024
by
Marcos Donnantuoni
In this video I make the procedural mesh more 3D, by adding the remaining quads, depending on the neighborhood of each "cell". But we discover a weird UV effect that will require more study...
Continue reading
Optimizing framerate: physics and tweens
February 14, 2024
by
Marcos Donnantuoni
In this video I further optimize the framerate by disabling some of the physics features and pausing/unpausing some animations at appropriate times. I manage to load 2500 levels faster, and at a smoot...
Continue reading
De-messifying the procedural mesh
February 14, 2024
by
Marcos Donnantuoni
In this video I continue the procedural mesh coding, making it load correctly all the walls in the game...
Continue reading
Procedural mesh (or procedural mess?)
February 13, 2024
by
Marcos Donnantuoni
In this video I begin investigating ways to optimize the rendering of the game, using a procedural mesh for the walls instead of many individual ones...
Continue reading
Using compression to avoid redundancy
February 10, 2024
by
Marcos Donnantuoni
In this video I use a compression trick to determine which treasure locations are too trivially solved along the normal door puzzles...
Continue reading
Treasure solution debugging
February 09, 2024
by
Marcos Donnantuoni
In this video I use Godot's Area3D "sensors" to the game so I can see the solutions associated with each treasure point (like I had before for normal sigil solutions)...
Continue reading
Treasure re-positioning
February 08, 2024
by
Marcos Donnantuoni
In this video I fix the placement of the treasure to avoid trivially-reached positions...
Continue reading
Treasure visualization
February 07, 2024
by
Marcos Donnantuoni
In this video I fix some small bugs, add the treasure symbols to the generator output, and parse the new information in the game itself...
Continue reading
Treasure analysis
February 06, 2024
by
Marcos Donnantuoni
In this video I analyze possible criteria to select the most convenient places to put treasure in the game...
Continue reading
A measure of treasure
February 05, 2024
by
Marcos Donnantuoni
In this video I begin to implement the logic for hiding some treasure in the caves... or at least make it not so easy to reach!...
Continue reading
Cursor for map mode
February 04, 2024
by
Marcos Donnantuoni
In this video I add a simple but very useful cursor to show the player which level will they play if they exit the map mode...
Continue reading
Map mode exploration limits
February 03, 2024
by
Marcos Donnantuoni
In this video I fix some input interactions between the play mode and the map mode, and add limits to the map movement so the player do not "escape" the playing area...
Continue reading
Map mode switching
February 02, 2024
by
Marcos Donnantuoni
I added a map mode to the game, so in the future the player can return to previously played levels and choose new paths in their adventures...
Continue reading
All is relative (except the player)
February 01, 2024
by
Marcos Donnantuoni
In this video I make sure the movement coordinates of the game elements are relative to each level, instead of global. Except for the player of course, that will roam freely between levels some day...
Continue reading
Stitching continues: multi-level loading
January 31, 2024
by
Marcos Donnantuoni
In this video I continue massaging the game code to make it load several levels at once, and playing them selectively, moving from one to another animating the camera...
Continue reading
Stitching begins...
January 30, 2024
by
Marcos Donnantuoni
In this video I begin preparing the game for the "stitching" of the individual levels into a big cavern overworld (or underworld?). The first task show here is to separate the code for loading the lev...
Continue reading
Profiling is not only for "pros"
January 29, 2024
by
Marcos Donnantuoni
In this "lucky 13" video I wander for a while in the profiling-optimizing woods. I get lost for a bit, but I think the back and forth is more educational and entertaining than showing a perfect perfor...
Continue reading
Optimization time! (or not?)
January 28, 2024
by
Marcos Donnantuoni
Today I try a small optimization and discover that it's not so fruitful. Lesson learned: measure what to optimize before trying :) Next time I'll try to make some proper profiling. Let me know if it w...
Continue reading
Lava logic in generator and game
January 26, 2024
by
Marcos Donnantuoni
In this video I add the lava gameplay logic to the generator and the game, advancing it a bit more...
Continue reading
The floor is lava! (or at least part of it)
January 25, 2024
by
Marcos Donnantuoni
In this video I begin to implement lava: some of the floor tiles will be impassable for the player. I add the basic logic into the generator, and leave the burning logic as a cliffhanger...
Continue reading
Redundant glue detection and discussion
January 24, 2024
by
Marcos Donnantuoni
In this video I talk about some of the methods and criteria I use in my "automatic curation" process, specifically detection of redundant elements (in this case, glue)...
Continue reading
Game design and procgen: a power couple
January 23, 2024
by
Marcos Donnantuoni
In this video I show how a game design decision can be experimented with by modifying the level generator of the game. I also add some dynamic visual modifications to the game assets depending on the...
Continue reading
Level and window aspect ratios, handling resize events
January 22, 2024
by
Marcos Donnantuoni
In this video I show how to adjust the camera position and distance depending on the aspect ratio of the current level and game window, allowing the player to resize the window without losing informat...
Continue reading
Textures, models, and a fast bug fix
January 20, 2024
by
Marcos Donnantuoni
I show a bit of visual progress: I added some nice textures and a rounder model for the crates. I show how to use Blender files directly in Godot, without having to convert them. And of course, I find...
Continue reading
Fixing a lifting bug
January 19, 2024
by
Marcos Donnantuoni
In this video I fix the group-lifting bug we encountered last session, and explain some of the criteria I plan to use to detect redundant glue...
Continue reading
proper crate sorting, parsing of glue, new bug
January 18, 2024
by
Marcos Donnantuoni
This time I fix a small issue with the internal sorting of the crates in the generator, and finally add the parsing of the glue information to the game. And of course, I discover a new and funny bug...
Continue reading
a bit of serialization and optimization
January 17, 2024
by
Marcos Donnantuoni
I continue with the stickiness serialization and a bit of optimization:...
Continue reading
bugfix + cliffhanger
January 16, 2024
by
Marcos Donnantuoni
I fix the bug we encountered the last video, and leave an interesting cliffhanger for the next one:...
Continue reading
First public devlog
January 16, 2024
by
Marcos Donnantuoni
1
Hi! Welcome to my new project. Here it is the first public devlog video:...
Continue reading