I’ve used them in a hobby game I’ve been developing with a lot of insight from http://www.roguebasin.com/index.php?title=Dijkstra_Maps_Visu... To implement things like determining if resources are connected to an in game road network. I’ve also used them extensively for the game’s AI for all sorts of different purposes.
Truly a handy tool to have in a game maker’s belt.
The process is, I randomly place some adjacent rooms, completely surrounded by walls. Then I set up a pathfinder (A*) where the cost of moving through walls is large but finite, and the cost elsewhere is tuned so that long detours can cost more than going through a wall. Then I run the pathfinder between various rooms, and place a door wherever the resulting path went through a wall.
This results in doors situated on "desire paths", so they look more or less like they were intelligently placed. It's also tuneable; you can tweak the costs to either get lots of doors and very convenient paths, or minimal doors while still having every room be reachable.
As someone else mentioned, the Unity asset store has plenty of assets too - some are free, and many others are reasonably priced. There are plenty of 2D assets available, as well as 3D if that's what you're looking for.
Last time I checked, the TOS/EULA says you can use Unity purchased assets outside of Unity games, too - as long as you download them through the Unity editor. So you could potentially use the art assets you buy there even if you want to write your own game engine from scratch.
You might be able to find what you need here, too:
I've been to several game jams where I see amazing prototypes come up in 24-48 hours where people use free or really cheap $5-$40 asset store assets
It's arguably one reason why there are a glut of games. Not only do engines like Unity and Unreal make it easy to get started but their asset stores have starter kits for almost any type of game. FPS, 3rd person platformer, racing, tower defense game, 2D platformer, etc there's a kit that you download and just start skinning.
In most games some towers can have a random aspects in deciding where/ what to attack. This can lead to variation of outcomes when replaying a given wave but amortized over an entire game the results are more-or-less static on a percentage basis.
Which is amusingly similar to probabilistic algorithms, so maybe that just reinforces your point.
It always feels like cheating the system, although harder game difficulties are typically balanced around that mechanic.
It is funny... the manual tells you a lot about the game ... just not how to actually play. Sigh.
That feels fitting for a GNU project. Copious amounts of information, little of it immediately useful for your current question.
You can also now find many games where you experience the full game for free, and you can spend a small sum on cosmetics. Again, going back to the old model, those games didn't have 7/8/9/10 different skins available for each player.
As much as the battlefront/fallout 76 style games are getting bad press, in my opinion it's never been a better time to be a gamer.
One of my favorite tower defenses is Sanctum, on the PC. It's a tower defense with casual FPS elements. (Its sequel I didn't like as much, it's more the other way around as an FPS with casual tower defense elements.)
Is Sanctum fun to play with friends? I'm thorn between buying a single key (3 euros) or four keys (7 euros) on steam.
Here is a link to a blog post about my game.
Source code is available but I'm not sure it'll work with modern compilers. Unlike that article, I did not use dynamic memory while updating the vector field.
This is a fun puzzle, I got up to 124: