Spellcaster Studios

Make it happen…

Category Archives: Technology


Working on a lake system, and results are less than optimal… Currently, I’m looking for a suitable place for a lake in the river, and then using a flood-fill algorithm, but something is going terribly wrong on it: So, the lava here shows the places where a “lake” tile is being placed, and the height […]

Flatten rivers

This took a bit longer than expected, mainly because I spent a lot of time tweaking the A* parameters to get more natural rivers, but the rivers now are “flat”, they only go down… The way the river akeis created also enables me to do some additional stuff, like making the flow geometry in the […]

And now for something completely different…

In my research into rivers, I’ve found another option that’s yielding interesting results: use pathfinding… Basically, I just identify a source for the river and then try to leave the map area, weighing the results like in pathfinding (for example, better cost for downhill)… The results are much better than the previous system: Then I […]

More water experiments

Today I did a lot more water experiments, trying out different ways to make the rivers… The results weren’t very good… Either I have very short rivers (because the water doesn’t have anywhere to go) or I have flooding (the most common result): I’ve even tried approaching it based on sedimentation and erosion, but the […]

Water courses tests

I’m trying out using a cellular automata in creating the river courses… The results work great to make lakes, but not rivers: Here you can see the iterations of the automata: The problem it seems to be that the current algorithm checks for each grid element if a neighbor has water in it, and if […]

New rivers

Started work on the new river system… The current rivers are just a line lowering the terrain and replacing the voxel material: It has a lot of bugs (floating rivers, but that could be sorted), but it’s impossible to animate (especially because it doesn’t have an actual direction) and it doesn’t actually look like a […]


Today it was bug-fixing time… First bug was an old one that was annoying me, even if it was simple to solve: the screen would turn purple on transition between areas… The second bug was the normals on the objects… For imported objects, I’m using the 3ds format (because it was simple and I already […]


Today I worked on some bug fixing and optimization, namely on the voxel raycasting… I already suspected that my raycasting function was a bit iffy and missed some intersections, but today I got to confirm that and to fix it, while optimizing it a lot… So yesterday, while in debug mode, the game would drop […]

Decals fully working!

After a long time (too long, really), finally got the OpenGL decals working… The problem ended up being something quite simple: in the Direct3D pipeline I was storing the W value for depth, while on OpenGL I was storing the Z value… Although the two values are quite similar in my test scenes, they’re different […]