Developing Multitile Creatures in Roguelikes
gridsagegames.com
gridsagegames.com
(It is from the developer of Cogmind, Josh Ge, who also has a nice video [2] on their journey to becoming a game developer. I love how the game looks, but haven't yet tried it.)
[0] https://www.gridsagegames.com/blog/
This article is super sweet to see and the cogmind creator writes more about development for Roguelikes more than anyone else I know. Truly a wonderful resource in the community.
I am however surprised by the omission of what I consider to be an obvious example of multi-tile creatures which would be vehicles in Cataclysm: DDA
I suppose a vehicle is not a creature, but I think that for all intents and purposes, that the implementation details will be very similar. I think it's also possible to get AI controlled vehicles which are functionally very very similar to a creature.
Of course, he may have left out Cataclysm DDA because its implementation is funky. You'll notice this if you take a pickup truck and turn in diagonal, suddenly opening up half of your vehicle to zombies despite it being closed when the vehicle oriented in any of the four standard directions (up, down, left, right)
I've been waiting for CDDA to support multi-tile creatures for ages, but that's likely to be some time coming as there isn't much in the way of common logic between creature and vehicle entities. :(
Considering I made each of these games in a week I don't think making such mechanics is particularly difficult. At least not technically. They do require some new kinds of design challenges (how to deal with getting stuck, what's actually interesting about big enemies, representing tiles visually). It's a mechanic with a lot of unrealized potential.
- Pathfinding when taking up more than one tile
- Area-of-effect (is damage multiplied per tile?)
- Collisions (particularly if the entity is not square/rectangle)
- Visibility
Imo the reason why roguelikes dont add them is simply because it adds very little value comparable to head aches it can cause
Individually? Sure. Together? Kinda rough. Interacting with every other system you've ever put into your game and with every other system you ever will? Yeah, it can be challenging.
Here are some of the basic minor lords. They're the ones whose heads are a little taller than their own square.
Initially, I dismissed this when building my remote D&D app [0] but it's been a persistent question from beta testers. It's the sort of thing that sounds trivial, but isn't - especially if you start with the 'everything is a unit on a grid' assumption.
I still haven't implemented it, but this article has given me some ideas on how I could.
I also kept reading your abbreviations as Terms of Service which has a funny but icky implication.
And I agree. I'm rebranding it for the move from MVP hack -> v1.0 product.
You might consider "scrying": "scryingtable.io" or "scryingmap.com" or "scrymap.com" or "scryi.ng" are all available.
Hm, maybe I should boot it up again and see what's been changed.
There's merit to both views. I don't have a strong opinion one way or the other. The biggest change recently was removing food. On one hand, I've never finished the game without a huge surplus of rations. Food did not affect the game, almost ever, even for trolls and spriggans so long as you were not overly cautious about eating food when needed. Once you understood this, food didn't really serve any purpose in the game for 99.9% of game time. On the other hand, newbies might think its interesting, and overindex on, say, spellcasting to reduce hunger costs and hoarding rations and think its a fun added challenge.
For example, Cogmind is a game in which you blow up other robots and take their parts in as yours. Each time you would go up a level, you would be able to put points into different categories that let you accomodate more parts, etc. One time however, the game added a different way of playing that lets you "buy" upgrades as you level up (level up as in going up a level). That made the game quite different and I had fun playing it all over again.