Temple of The Roguelike Forums
Development => Programming => Topic started by: Omnomnom on February 17, 2013, 06:33:20 PM
-
What are people's views on single item per tile vs multiple items per tile?
Many of the modern roguelikes I have played (eg Brogue, Infra Arcana and DoomRL) only allow one floor item per tile. I vaguely recall nethack from long ago allowed multiple items per tile.
I realize the advantage of single item per tile is that all items can be represented by a symbol or image on screen, but what about the problems with finding space to drop items? monster drops too. How many games still use multiple items per tile and how do they handle displaying that? I was thinking of just having an icon representing a pile of items (one or more items).
-
but what about the problems with finding space to drop items?
Imo, if you get this problem you drop too many items.
-
Angband does it in a way that is a mix of both. Items will "roll" to nearby empty squares if available, and if not, will pile up. That's probably the best way to go about it in my opinion, plus its always interesting when an item "rolls under your feet" and you can't figure out what it is until you finish with all the enemies around you.
-
Crawl, Incursion, ToME4 and The Slimy Lichmummy use multiple items per tile, off the top of my head.
Crawls tile mode handles it deftly since you only need to hover over the pile with your mouse in order to have the contents displayed on the right hand side of the screen.
Incursion opens its item handling menu when you pick something up (allowing you to take an item from the floor into your hands, and then to one of your equipment slots or into a container). Alternatively you can look at the tile to see a list of the items there. Optionally you can have the game display all items in view in one of the sidepanels, which is VERY nice.
ToME4 (which uses tiles) displays one item of the pile as a graphical tile and adds an asterix to denote that there's other items there too if memory serves. Picking something up opens a menu that lets you pick the items up one by one (or all at once).
Slimy Lichmummy simply has multiple items per tile and says it's a pile of stuff. Opting to pick something up gives a simple menu akin to Nethack. That's in SDL mode, I don't know how ascii mode does it, since I prefer the SDL mode, derp.
Of these three types of handling (ToME and TSL are practically the same) multiple items per tile, Incursion does it best for pure Ascii in my opinion. For tile-based roguelikes there are a lot of lessons to be learned from Crawl's interface, which is brilliant in conveying information.
Both of these have the ability to have the game display items in a seperate panel, which is crucial.
Crawl's tile mode is (to me) unplayable in that seeing what's in an item pile is so damn unintuitive and timerobbing.
The more often you have items in a pile, the more crucial it is to have a way to display them at a glance, and sidepanels (or Angband style seperate windows) is more or less the only way to do it in Ascii.
Crawl and Incursion have LOTS of item piles though. The Slimy Lichmummy , Nethack and ToME get away with the Nethack style pickup menus because they usually have only single items lying about.
Personally I prefer roguelikes to be smaller in scope and tactical (NETPACK, Slimy Lichmummy, Forays into Norrendrin, Sword in Hand and PrincessRL as examples), which has them be more conservative with their item drops.
More piles usually coincides with games having lots of equipment slots. Sure it's fun to deck out your @ with boots, pants, underpants, belt, belt buckle, undershirt, t-shirt, vest, blazer, gauntlet, ETCETCETCETC but that leads to either an Angband-style roguelike (which is opposite to my preference and therefore objectively bad ;)) and/or a lot of the items being garbage/useless/squelchable.
Comes down to me preferring single item per tile; I'm a big fan of removing obsolete elements from games, like having a single button fill multiple roles ('a'pplying a potion, rune, wand, magic ring ability etc). More towards pong, less towards Dwarf Fortress, you know? But that's a whole nother topic, sorry.
Having a single item per tile also means developers can simplify their UIs.
In the end it depends on the flow of your game, how tight your design is and what role items play in it.
Add.: I can't remember if it was Halls of Mist or Sil that did this, but they had single item per tile, with items rolling to adjacent tiles. That's a fine way of handling multiple drops, BUT.
If you have DOORS. For the love of god please don't have the door be BLOCKED (making me unable to close it) because a scroll or an apple rolled onto the same tile.
-
The more often you have items in a pile, the more crucial it is to have a way to display them at a glance
I don't know why it's crucial. Nethack has piles with only top item displayed/known and it doesn't matter. If you go on that way you should also know from a distance what is in a container. Single item per tile works only if you don't have lots of items.
-
I realize the advantage of single item per tile is that all items can be represented by a symbol or image on screen
In my game AS.T.Ro I had multiple items per tile but I also had the pickup graphic for each item being a lot smaller than the tile (i.e. actually semi-realistically sized compared to characters) and placed in a randomish position in the tile-space. That meant that if there was more than one item there I could just display all of them and not have the uppermost one obscure the others, because they were all relatively small and in different locations on the tile, as can hopefully be seen in this screenshot:
(http://www.vitruality.com/wp-content/uploads/2012/04/Screenshot48Hrs7.png)
That was the neatest way of doing things that I could think of, although it does mean that you have to be careful when doing your graphics so that your items are distinctive enough to be recognisable at small scales.
-
In Epilogue there is a portion of the screen dedicated to listing all the items at your feet, much like how I believe crawl does it. I think that single item per tile makes sense if the size of drops is generally one item (this doesn't work in epilogue because a dead enemy drops all of their loot).
-
Are you guys crazy? Tiles are not a grocery store. They are a battlefield. Precious items must be hidden beneath piles of dead bodies :).
-
Inventory exploding out of dead monster looks fun but it has the potential to clutter the screen with needless information. During combat this may obscure traps and make tactical decisions harder.
Items spreading to other tiles may become problematic if your game has object-terrain interactions. In DoomRL you need to watch where you kill some formers or else their ammo may end up incinerated in a lava pool. If your monsters may carry a lot of stuff single item per tile is not very feasible. It mostly works when there are few items in whole game.
If you go item stacks implement some kind of logic deciding what item to show on top. The newsgroup rec.games.roguelike.nethack knows stories about players losing the Amulet of Yendor in a stack of goodies and looking for it quite a time. The story short what is most interesting to player should be on top of pile. Also consider issuing a warning when player is going to enter square with a trap obscured by items.
-
Or just don't let items be put on floor tiles that contain significant terrain features.
-
Or just don't let items be put on floor tiles that contain significant terrain features.
But if they're hidden traps... the most roundabout way of detecting booby-traps?
-
If you want to waste your time finding traps by standing on every square and dropping nine items so that they roll onto the eight adjacent tiles... sure. Probably easier to search.
-
Or just don't let items be put on floor tiles that contain significant terrain features.
But if they're hidden traps... the most roundabout way of detecting booby-traps?
Allow floor cells with hidden traps to have an item, but disallow it on cells with known traps. If a trap with an item on it is discovered, the item moves to the nearest free cell.
-
Or just don't let items be put on floor tiles that contain significant terrain features.
But if they're hidden traps... the most roundabout way of detecting booby-traps?
Allow floor cells with hidden traps to have an item, but disallow it on cells with known traps. If a trap with an item on it is discovered, the item moves to the nearest free cell.
Could I trap a square to remove items from it? To me not allowing items to slide over a known trap or not is too much effort because of the special cases. I prefer old good predictable behavior.
-
Could I trap a square to remove items from it?
Sure. Of course if that is a problem or not depends on the game. Maybe in some games it could be abused.
To me not allowing items to slide over a known trap or not is too much effort because of the special cases.
I don't think it's a lot of effort. I just have a function called dropItemOnMap which puts the item in the nearest free cell. When a trap is discovered it removes the item from the map and drops it again in the same place.
From a player perspective I don't think it's too unpredictable, just mildly confusing when you step on an item and it "jumps away" and you take damage instead. But I prefer that to hiding known traps under items.
Now someone will say "use graphics that shows both the trap and the item in the same cell".
-
I think it's better to just trigger the trap with the dropped item- if it's an AOE, interesting, if not, no big deal.
-
Now someone will say "use graphics that shows both the trap and the item in the same cell".
"Don't use graphics." :P
I think it's better to just trigger the trap with the dropped item- if it's an AOE, interesting, if not, no big deal.
You are the Traphunter. It is your job to hunt down and disarm the sentient traps. However, they have developed the ability to move. To aid you, the Ministry of Sentient Trap Removal has flooded the dungeon with potions. Due to a bureaucratic error the shipment of water potions they were supposed to use has been replaced with random potions from the Ministry of Biological Warfare's storage depots.
The sentient traps dislike having potions piled on top of them, and will move to the least-occupied tiles when nobody's watching. However, triggering a sentient trap will also have disastrous effects on the fragile glass canisters piled on top of it. CAN YOU MAKE IT OUT ALIgod this is stupid. :-X
-
Thanks for all the interesting/useful comments. What I'll do from this feedback is reduce the item drops I was planning by making individual items more important, but fewer in number and see if this will allow single drop to work and if not..do something else.
Perhaps a chest icon could denote multiple items on a tile and the player would be expected to stand over the tile to see what's in it? Although I am wary of going too far into iconary (that's not a word...) as in this case there isn't really a literal chest on the tile, it's just some kind of image metaphor for multiple items. So a chest magically appearing might kind of break immersion or make the player think WTF?
Also I was wondering, with single item per tile it is probably best to not encourage the player to drop lots of items in a single place. Is this an argument against weight based inventory as typically to the player might need to dump eg 8 light items in order to pick up a heavy armor?
-
I wouldn't use a chest when there isn't a chest. Something like a pile of different things or a bag or package etc works well usually.
-
What I'll do from this feedback is reduce the item drops I was planning by making individual items more important, but fewer in number and see if this will allow single drop to work and if not..do something else.
Maybe this is completely obvious to everyone, but here's something that helps if you go single item per tile.
Some item types stack - arrows, potions (of the same type), scrolls etc.
In a situation like this:
.....
.[{/.
.{@!.
./[{.
.....
Where
{ [ / = armor, weapons, tools etc
! = Potion of healing
@ = Player, standing on a weapon
If the player drops something (or a monster dies or whatever), check every cell from where the item was dropped, from the closest to the furthest. If a cell with an existing item is encountered before an empty cell, and the dropped item can be stacked with that item, make them stack. So in the example above, if player drops a potion of healing, stack it with the one on the floor. Saves a lot of floor space.
-
Also I was wondering, with single item per tile it is probably best to not encourage the player to drop lots of items in a single place. Is this an argument against weight based inventory as typically to the player might need to dump eg 8 light items in order to pick up a heavy armor?
If the player has to dump 8 seperate items in order to pick up one piece of equipment you might want to reconsider the usefulness of your items (though I'm being a dick and taking your example super literally).
Slimy Lichmummy has the weight limit thing going on (it's pile per tile though), but the player can (if he's lucky) get an augmentation that ups the amount of weight he can carry. Failing that, since I don't carry multiples of equipment items, the first things to be considered for dumping are those with the least utility; unidentified potions. If I've IDed scrolls of identify already, then unID'd scrolls are the highest priority for dumping.
Alternatively Forays into Norrendrin just has a backpack that X amount of items can fit in, but equipment is added automatically to the list of weapons/armor you can swap between.
In the end the argument against weight based inventory is weight based inventory itself :P
Nobody enjoys having to choose between not picking something up and tossing multiple items in order to pick something up. I think in single item per tile roguelikes you can just have items spill over to adjacent tiles if someone feels the need to unload everything on the spot?