Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411428 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 19, 2024, 01:39:48 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsHotel Endless: An Unusual Dungeon Crawler
Pages: [1] 2
Print
Author Topic: Hotel Endless: An Unusual Dungeon Crawler  (Read 7212 times)
FuzzySlippers
Level 0
***



View Profile WWW
« on: September 27, 2014, 11:36:06 AM »



Check out our new trailer it's snazzy!

Hotel Endless is a traditional party based dungeon crawler in the vein of Might and Magic, Wizardry, or Etrian Odyssey. In particular my biggest inspiration has been Wizardry 8 which featured turn based combat directly in the world (rather than switch to a combat area) and emphasized party member positioning. It currently has both grid and free form movement though I favor the grid movement.





In Hotel Endless you create a group of investigators who come from a variety of backgrounds but have all been drawn to this mysterious Hotel. For decades people traded rumors of a strange Hotel that was larger on the inside than its exterior suggests, but it has been abandoned since the 70s when a research team investigating the paranormal went missing somewhere in its upper floors. The player will collect clues from the old team and discover the mystery of the Hotel while battling the demonic and phantasmal foes within.



In doing a traditional dungeon crawler in a weird setting we kept a lot of the crpg tropes but converted them to our setting. So that instead of picking 'races' like Elf, Dwarf, etc you choose your characters' backgrounds from things like "Academic", "Cynical Private Eye", "Hapless Rustic", or "Drug Addled Occultist" which is permanent from creation. In addition your characters have a Profession which can be changed on the fly (skewing towards Wizardry 7 here) which shapes progression of the game's skills.




Starting from the hotel lobby the progression of the dungeon is backwards where the party ascends through the floors with the difficulty increasing as the party reaches higher levels. Shortcuts can be uncovered by finding elevator keys. One of the original inspirations for the narrative was House of Leaves and I originally had much more ambitious plans for constantly shifting levels but ended up abandoning those in favor of traditional level building. You can mark sections for procedural but I may not even make use of it.

I expanded my level editor to be fully usable at runtime so the game also features pretty extensive mod support. You can quickly hop in and out of levels so testing is quick and easy.

Currently I still have most of my gameplay code in C# but I'm hoping to move some important bits of it into Lua eventually so that rather than a mere level editor everything is modifiable and one could change hit formulas, stats, classes, etc into whatever is desired.
  
« Last Edit: November 14, 2014, 04:56:43 AM by FuzzySlippers » Logged

rj
Level 10
*****


bad, yells


View Profile WWW
« Reply #1 on: September 27, 2014, 12:04:07 PM »

One of the original inspirations for the narrative was House of Leaves and I originally had much more ambitious plans for constantly shifting levels but ended up abandoning those in favor of traditional level building.

trust me, i would have figured that out without you saying anything. also bioshock, obviously, seeing as the logo is trying really hard to be a bioshock thing (i recommend touching it up a little with a font that didn't first get used in sonic the hedgehog 3

the logo in the example video was much nicer

combat seems painfully slow (something that, in a game with a setting this neat, i'd rather avoid doing; slow combat makes exploration feel like tedium) but i'm not sure how to fix it; your keyboard shortcuts there help but you're not using them in the video much; try to figure out a way to do all combat from the keyboard without necessitating mouseclicks for anything if the player wants to figure it out. maybe have an "auto" option you can set at the start of any battle and you'd have player-set things your party would do, and in what order; in fact, this could get very customizable very fast ("IF enemy uses a projectile attack, THEN cynthia will use X ability" for instance) just so that if you're encountering an enemy you've seen before you can be like "yup i got this" and hit the auto button and watch it go without having to waste time.

it might be a dungeon game, but it doesn't always have to feel like a crawl.

idk.

ANYWAY, i feel like this game is really cool, i like a lot of it, and i think it obviously needs more polish, but you've got 60 percent of perceived completion rate to add that polish.

i like your monster designs. i liked the demon brute and the glowy ghost stag. i think that the environment needs more. i know house of leaves' whole deal was that the house got less and less distinct as a House as you delved, but it still echoed (often in strange, eerie ways) the architecture of itself still was a twisted variation on a House; you have wallpaper and carpet and lights, but you need more endlessly repetitive hotel architecture, i think.

i like the pixel art used for the characters
Logged

FuzzySlippers
Level 0
***



View Profile WWW
« Reply #2 on: September 27, 2014, 05:02:58 PM »

I didn't think about that on the combat. I have a lot of quick combat functions like repeat last action, favorite action, and more hotkeys so you don't need to use the mouse at all but I thought it would be confusing to use them in a video. I suppose in the proper trailer I should do a mix of doing everything the slow way to show it off and quicker so it doesn't look too slow. During testing I was definitely already getting sick of clicking on everything in combat before I implemented all that.

I've taken several pointers from the PS2 Wizardry game Tales of the Forsaken Lands and one thing I thought about also grabbing was its "group action" system. That allows for a quick "all out attack" and similar options for weak enemies without having to pick an action for each character.

Interesting thoughts on the levels. Up till now I've been focusing on tech concerns and the editor but I really want to nail the level aesthetic better. It needs to fit in with the dungeon crawler vibe and work with my editor but not be so simple it isn't engaging. Not sure exactly what solution we want to pursue, but I dig that it isn't quite there yet.

Like it seemed simple to make long narrow threatening hallways but its so easy to end up looking limp. I definitely need to experiment more with lighting and shaders and such.

Thanks for the feedback.
Logged

FuzzySlippers
Level 0
***



View Profile WWW
« Reply #3 on: October 03, 2014, 01:01:59 PM »

This week I've been working on expanding the non-combat gameplay.

First up are riddles. I loved the riddle chests in Betrayal at Krondor so something similar here.



It ignores a / the / etc in the input so hopefully that doesn't make it too annoying to type the right answer.

Minigames are a hard thing to get right. I played around with a lot of lock picking minigames. I've never been a fan of the Bethesda style lock picking so I was aiming for something more like Hillsfar but couldn't pull it off. I had a prototype I liked the idea of I called invisible Tetris that seemed promising where you try to match up the lock shapes with only limited visual feedback on failures but it felt too fiddly.

This is with prototype art obviously I need to get in some proper graphics:


So I went for something straight out of Wizardry 7. It cycles through a random number array of random length. If the number is < your lock picking skill the tumbler is green and you hit the button you clear the tumbler. If it's less than 10 above it turns yellow and you get another shot at the tumbler. If it's more than that it turns red and has a chance to break a lockpick and you start over at tumbler 1. Since the cycle is a number sequence if you look at it long enough you can predict the sequence. Probably going to add some spells or abilities that can slow the sequence cycle too. Maybe add a bash too.

Couldn't think of something better but I'm open to suggestions. I wanted something that could be quickly cleared with a high enough skill but had a chance of succeeding at low skill levels with some player persistence. I didn't want a WL2 situation where you just try/fail/reload until you succeed.

I also added a console based upon the very excellent Gconsole. Makes testing much simpler.


I expanded the map editor a bit to account for new options for objects. Basically now you can attach an unlimited number of object values to any map object so you can make a door locked, open with key X, has a lock difficulty of X, triggers random monsters on open, etc.

Logged

erebusman
Level 2
**


no one of consequence


View Profile WWW
« Reply #4 on: October 03, 2014, 01:34:43 PM »

I really like that your taking a 'dungeon crawler' approach in a different setting here very creative!

I know I've seen games like this way in the past and it's very cool that you are doing this.

I'll definitely keep an eye on the project, I'm also doing a dungeon crawler currently  - but the classic medieval dungeon feel to it so its very interesting to see similarities/differences in our projects Smiley
Logged

Infernohawke Entertainment
One-bit Punch
Level 0
***



View Profile WWW
« Reply #5 on: October 03, 2014, 03:24:01 PM »

I'm a sucker for scary, moody hotel-like settings  Cheesy a great twist on an established genre, watching closely on this one!
Logged

FuzzySlippers
Level 0
***



View Profile WWW
« Reply #6 on: October 05, 2014, 02:22:27 AM »

Thanks. I saw your devlog erebusman, hit me up if you wanna chat about the ups and downs of making dungeon crawlers sometime. Looks like we're tackling a lot of the same problems.

I've been pondering the combat and I decided to attack it from a different angle rather than implement auto combat options or group actions. Other attempts to modernize the classics like WL2 and Divinity have gone for an initiative turn based system where both player and enemy turns are mixed in together based upon their initiative score so it seemed like a good thing to try. So far the results seem much more dynamic:




My current version allows faster characters to lap slower ones so I'll have to see if that makes Speed way too important. When combat starts all characters get added to a list sorted by their current initiative which is initially equal to their Speed stat. The top 3 initiative scores get removed from the list and added to the visual queue. When the first one's action is completed the other two characters in the queue move up, all characters in the list get their initiative += their Speed, and the first character gets added to the bottom of the list. The highest initiative in the list gets removed from the list and added to the last spot in the queue. And so on.

So the 3 characters in the visual queue in the screenshot order will not change unless one of them dies or goes unconscious. However the rest of the character list can shift. So in my test combat the top two fairly fast characters had their turn, then a bunch of enemies went with Party Char #4 in the middle, and then Party Char #1 went again, and then very slow Party Char #3 had their turn.

I like Speed being important to everyone (I hate having dump stats for mages and such) but I'll have to test it more to see if my initial setup holds up.
Logged

DangerMomentum
Level 3
***



View Profile WWW
« Reply #7 on: October 05, 2014, 08:05:36 AM »

This is looking kickin' rad. Your turn order formula definitely sounds workable. You might want to look at the way Final Fantasy X calculates turn order for a similar system. If you're worried about characters getting starved of turns by something with a much higher speed, maybe you could positively weight a character's initiative + speed value by the number of turns that have passed since their last turn- give a character's turn some inevitability so that eventually they'll be guaranteed a spot.
Logged

FuzzySlippers
Level 0
***



View Profile WWW
« Reply #8 on: October 05, 2014, 12:58:45 PM »

Thanks I'll take a look at FFX's combat. I was actually thinking of the last Final Fantasy game I'd played significantly, FF6, when I was designing it. I liked how the Active Time Battle system felt less static and how a quick character could come from behind and get a turn before a slower one.

Logged

ArsCreativa
Level 0
**



View Profile WWW
« Reply #9 on: October 05, 2014, 11:54:35 PM »

Interesting concept! It reminds me "The Shining" a lot. From the screenshots I think that there's a little too much light in the hallways, may be a darker ones could get a more creepier ambience?   
Logged
FuzzySlippers
Level 0
***



View Profile WWW
« Reply #10 on: October 06, 2014, 12:41:03 PM »

The Shining is definitely an influence. My initial had very little ambient light to magnify the effect of visible light sources but most people thought it was too dark so I implemented an ambient light control in the map editor so I could control it per map and generally set it a bit higher.

I can't use lightmapping since my levels are built in game which means I can't use any of the snazzier lighting options. To get around that I also added an extra very dim light with a large throw for all light sources as a sort of ghetto GI. I'm hoping Unity 5 arrives sometime soon and I can see if the default lighting improves enough for me to stick with it or if I need to start building in something different to augment the lighting as a whole. 
Logged

FuzzySlippers
Level 0
***



View Profile WWW
« Reply #11 on: October 16, 2014, 01:29:40 PM »

Level Generator

New level mesh variety:


Once levels are laid out in the editor they are assembled into mesh and gameobjects with a builder script. Since my game supports modern architecture I couldn't use the usual methods for doing this. I'm not sure if this is the best way to do everything but this is what I came up with.

In most dungeon crawlers one wall = one map tile which greatly simplifies construction. For a modern room that just doesn't work. Imagine your usual hotel bathroom. It is separated from the main room usually by a single thin wall. On one side of the wall is the hotel room wallpaper and the other side is tile. Using normal dungeon construction methods you would need to put an awkward entire map tile of wall between the hotel room and the door of the bathroom and if your method doesn't support different wall textures on each side of the wall you would need two map tiles between the hotel room and the bathroom. Now you have an entire hallway between the room and the bathroom. Not a problem in a medieval dungeon crawler where everything is stone and heavy but this would completely throw off the feeling of a modern room.

So instead my map tiles support 4 edge positions (N/S/E/W) and each can be filled by an edge mesh that at this point is either a door or a wall (something like a passage break is just an object and not an edge). Typically in dungeon crawlers rather than worry about corner logic there are usually just 4 pillars of columns placed at the corner of each map tile. This means if the wall texture changes from tile to tile there is an clean break between the two and if the wall connects to nothing else you have a column at the corner to make it tidier looking. Again perfect for a dwarven sewer or a dungeon but not so good for a hotel. Especially as a distinctive element of creepy old hotels are their vertigo inducing long angular hallways and regular column breaks would disrupt that.

So I go for some corner logic that assembled at build time proper corners depending upon what the surrounding edges look like. In the map editor I place edges where I want and it seamlessly blends the corners and places  corner out pieces when walls end. The only fiddly bit in the editor is that walls are one sided per map tile. This is important so that I can do the before mentioned bathroom tiles on one side wall / wallpaper on the other, but it does also mean if you aren't paying attention and place a wall on the wrong map tile it can be facing the wrong way.

After assembling the individual elements of each tile I mesh combine down to a single mesh. I need to do some performance testing to figure out how much culling I should be doing vs making bigger meshes. I'm thinking I'll probably do some raycasting at build to determine what a "room" is and meshcombine to that so I can cull the non-visible ones.

Last week I had some hard coded conventions I needed to clean up about what connecting map meshes and now its completely defined at build time so I can have more floor / ceiling / edge variety. These need to be polished but I like the improvement already.



Logged

oyog
Level 7
**



View Profile WWW
« Reply #12 on: October 17, 2014, 09:38:58 AM »

This sounds amazing! Posting to watch since email notifications seem to be broken.
Logged
Andy Rhetoric
Level 0
**



View Profile
« Reply #13 on: October 17, 2014, 02:20:41 PM »

I feel like you're onto something with the unique setting. It's different enough that I think you'll catch some attention you might not have if this game had been in a more stereotypical location for the genre. Smart move!

I'm looking forward to seeing where this game goes! Good luck!
Logged
FuzzySlippers
Level 0
***



View Profile WWW
« Reply #14 on: October 18, 2014, 11:55:20 PM »

Thanks! Grinding away at development it is always good to get some feedback when you come up for air.

Newest addition is real time combat!



Time slow down a bit when you open the radial so you don't have to be too frantic about choosing a combat option. The right side of the radial is supposed to be combat abilities but the characters don't have any equipped.

The game still has turn based combat but now also has a toggle to let combat play out in real time (sorta like M&M6-8). This isn't action based like EoB or Grimrock as under the hood discrete turns are still taking place and there is a queue for actions (if you hit two attacks really quickly it will complete the first and then do the second). You also can't do the EoB two step or "square dance" or whatever you call it because while moving the action bar stops filling up. Movement is unrestricted otherwise. 

While designing it I was still thinking of those old Final Fantasy battles where action bars filled up and there wasn't actual turns and I thought it'd make a good fit for a dungeon crawler. How quickly each character's bar fills up is influenced by the Speed attribute just like the previously implemented initiative based turn based system so that stat is still very useful for a character in either combat system. I'll have to do a lot of testing to figure out what the base refill rate should be though.

One the reasons I implemented this was because I was already putting in traps this week. Here's one just after triggering speeding towards my party:
 


I realized I had made too many assumptions under the hood for how combat actions could happen and since I wanted a wide variety of trap types utilizing all combat options I needed to change some of that up to allow traps to spawn and react properly at any time. Once I'd done that it wasn't hard to implement real time combat.
Logged

FuzzySlippers
Level 0
***



View Profile WWW
« Reply #15 on: October 23, 2014, 12:13:07 AM »

One dumb decision I made that has come back to haunt me is the size of my map tile grid. I compounded this mistake by scattering some magic numbers through my code referencing it. Well it came time to rip off that band aid and fix it.

For no good reason I started off each tile in my grid being 6m squares. This was just to have some lazy math on corners and unit positions. Unfortunately that's just too damn big. At that scale even a single tile wide hallway just doesn't feel tight enough and even small rooms feel cavernous. Originally when I was planning on packing a lot more mobs (Wiz 8 style) into combat the extra room might have made sense but its definitely a mood killer.

So I tweaked some art and the code and now the grid size is 4m squares. I think it feels a lot better:


« Last Edit: October 23, 2014, 12:51:00 AM by FuzzySlippers » Logged

FuzzySlippers
Level 0
***



View Profile WWW
« Reply #16 on: October 29, 2014, 02:29:31 AM »

Working on tilesets with the new improved lighting:





« Last Edit: October 31, 2014, 11:49:06 AM by FuzzySlippers » Logged

FuzzySlippers
Level 0
***



View Profile WWW
« Reply #17 on: October 30, 2014, 02:07:01 AM »

Today's task:

Notes and books and such with a bit of dummy text.

Logged

FuzzySlippers
Level 0
***



View Profile WWW
« Reply #18 on: November 03, 2014, 08:51:50 PM »

Example of a bog standard dungeon crawler floor puzzle:



I didn't like how fiddly some of my item/world interactions had become so I cleaned them up quite a bit and should be good for whatever item / puzzle interaction stuff I need from them in the near future.
Logged

FuzzySlippers
Level 0
***



View Profile WWW
« Reply #19 on: November 10, 2014, 05:47:46 PM »

I've been struggling with mouse look. Mouse look has become the standard for fps controls almost as soon as it was a console toggle in Quake. Its the first thing that new players notice the lack of when they try to go back and play Ultima Underworld, System Shock, or any other old first person game. It feels like second nature to a lot of us.

The problem is that mouse look is best when shooting or only interacting with the exact center of the screen. You can see how traditional crpgs in the later 90s had trouble trying to incorporate mouse look. In those you can largely ignore the view except when it comes time to interact with something above or below the view plane and then it becomes awkward.

Grimrock was pretty clever and just kept all the action centered at the default view position so you never need to use mouse look. They offer it, but its just a way to check out the graphics and they lerp back to the default view when you're done. M&MX was a lot less successful as they kept Grimrock's exact control scheme but didn't construct their levels as carefully. While in Grimrock I never felt bothered by the lack of precision control over the view in M&MX I frequently felt confined and it was sometimes unclear where the action was centered. This was exacerbated by the fact that M&MX's levels unlike Grimrock were not entirely grid based but merely had the player locked to a grid.

I've dithered on how I was going to handle it. I've realized that in a modern architectural environment it just doesn't work to try to keep actions centered and inevitably the player is going to need to look around frequently enough that not offering traditional mouse look is awkward, but I also still need the player to be able to manipulate objects without moving the view.

So closer to a standard MMO control scheme or similar to Arx Fatalis right click toggles between mouse look and cursor mode. Previously I had right click open the radial but now the radial is context sensitive so it pops up on left click when appropriate. There is also a configurable force radial key as well.

As the game offers both a grid and "free" movement in testing it seems natural to keep the view wherever it is placed in free movement, but in grid it feels a little goofy to be zipping around looking slightly down or whatever. So currently in grid movement if you haven't touched the view in X seconds and you are moving it slowly lerps back to center. We'll have to see in further testing if this compromise works out.

Unrelated wip on a main menu screen:




« Last Edit: November 10, 2014, 06:46:25 PM by FuzzySlippers » Logged

Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic