Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
(33 edits) (+1)

Thanks for your support!

Yes you're right! The enemies AI feeing a bit slow is both my intention and a workaround. The AI sensitivity in fact represented by how frequently an enemy updates its path to the player by running A* pathfinding. If enemies always run the A* pathfinding, then the enemies will always stick to the player without any rest. That'd be a real difficult mode.

But the main reason is that the NavMesh A* pathfinding is a CPU killer and I didn't know of any way to optimize. The larger the map is generated x more enemies on map, the more likely the game is going to get laggy. Thus I did 3 things:

- Make map generation smaller in room / corridor sizes

- Make AI pathfinding less frequent

- But I am able to discriminate different AI's reaction time (green guys react slower, red guys / boss react still fast enough to catch up with the player) Attempt to keep the boss intelligent enough.

Also If playing in browser feels laggy - maybe download offline version and try again - usually performs better!


Oh wait - you mean - you are able to beat the boss with like 2-3 tries? Man that's awesome! You're a legend! You've nailed it. In order to optimize the defeating time as well as conserving precious hitpoints, one should skip unnecessary fights as demonstrated in my walkthrough video. 

And there's one roguelike thing I have missed putting in - the presence of corridor traps, spikes, rope plants, poisonous mushrooms, speed mushrooms, locked exits, teleportations, sentry cannons - which should be able to enforce speedrunning players into some battles - prevent players to run freely while allowing 3rd-party methods to execute the enemies. This would preserve some fun for pro players. 

A a big con for Roguelike games is there's no way to conclude the officially fastest speedrunning time other than by luck - the same applies to Minesweeper speedrunning. My solution is to hold time-limited competition events with Fixed Seed Numbers so I have Fixed Proc Gen Maps for fair judgement

Now that you mention it, it’s true I have mainly seen the green guys seem lost. Having different reactions times depending on the enemy’s difficulty level is quite interesting.

Now I have heard of an idea that might be useful to you for the pathfinding (though I never tried it myself in Godot so I don’t know how practical it is here) but there is that idea where you cut the map into a “metamap” representing the various corridors and their connections in the map (if that speaks to you, imagine a graph where each corridor is a node while the arcs between the nodes are the connections between the corridors. Then you’d have to run A* on the main graph to know what is the next node you should go and compute your precise destination with A* in that node.

I don’t know if I’m clear enough in my explanations. Trying to reformulate:

  1. You cut the map in chunks (representing corridors and rooms)
  2. You compute a “general” path among the chunk (searching a path from the AI’s current chunk to the player’s current chunk)
  3. You compute a “precise” path from the AI’s current chunk to the next chunk in the “general” path (if the player is not in the same chunk that is)

I believe this mainly helps with long distance computations of A* which might apply to your game. Again, I don’t really know what impact on the performances this really would have but that may be worth a shot.

As for your trap idea, I reckon that probably should be a good solution to stop people from ignoring everything like me. If you have to stop for traps, you can easily get closed in by the following AI and thus have to fight at least a bit.

All in all, maybe I will try to download the game to see if I feel any difference from playing in browser. And maybe check if I can beat my score as well. Although I have to say, I got a bit lucky in finding a good strategy during my first try (I tried fighting during the first two floors but then tried to see as much of the game as I could so I ignored the AI and explored every floor). Doing that again when knowing the controls better as well as what to expect from the game made winning way easier.

Apparently I cannot write anything without making a wall of text currently, sorry about that. Especially considering I could probably sum everything up in three or four sentences instead of making ten paragraphs every time.