Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1370094 Posts in 64433 Topics- by 56484 Members - Latest Member: Spacybits

December 05, 2019, 02:15:09 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsShadows of Doubt - A First-Person Detective Stealth Game
Pages: 1 2 [3] 4 5
Print
Author Topic: Shadows of Doubt - A First-Person Detective Stealth Game  (Read 7217 times)
ColePowered
Level 1
*



View Profile WWW
« Reply #40 on: September 19, 2018, 08:05:45 AM »

For the NPCs' AI in deciding what to tell you during questioning/when and what to lie about, what little I've skimmed about game AI tells me Utility Theory might be a good approach to take. Have you looked into that/am I on the right track?

Yes, the AI is using basically Utility Theory- for every decision it's making a list of its options and assigning a value to them based on sets of relevant variables, then ranking them and choosing the best option. It's basically the only way I know how to do any kind of AI coding anyway! It works though because it means the citizen AI is mostly predictable if you know enough information, which is exactly what I want. The killer AI will need to be a step beyond of course and have more evasive abilities.

You could make the daily simulation period seamless if you did a cute montage/scroll-through of the day's news events while the system is plotting out NPC schedules. So, press releases about murders, and maybe other random items of interest like the newspaper headlines you get at the start of every level in Papers, Please.

Love, love, love this idea! Amazing, mind if I use that?  Grin

The coolest thing about Red Dragon was how the killer was counter-sleuthing to try and kill the detective first. Something like that should definitely happen!

Yes I agree, got all kinds of really cool ideas for this that I'll detail much later on in the project. This is going to be the key to some exciting gameplay! Also lots of more minor ideas like the killer tailing you, writing you letters, mysterious phone calls etc.

As for multiplayer, gosh that would be ambitious. Not part of my plans right now, but never say never I guess! Shrug
Logged


Detective Immersive Sim Shadows of Doubt | City deck building puzzle game Concrete Jungle
@ColeJefferies
nathy after dark
Level 6
*


Open Sourceress


View Profile WWW
« Reply #41 on: September 19, 2018, 08:08:05 AM »

Feel absolutely free to use any idea I post in here!  Kiss
Logged

nathy after dark
Level 6
*


Open Sourceress


View Profile WWW
« Reply #42 on: September 21, 2018, 08:06:09 AM »

Here's a relevant article that got shared in the Discord channel for Ink developers: http://thealexandrian.net/wordpress/1118/roleplaying-games/three-clue-rule

I don't know if Ink would be a useful addition to your project (maybe for generating dialogue?) but I definitely recommend it, too.

Also, question about the title. It comes from the expression "beyond a shadow of a doubt" right? Why not just call it "Shadow of a Doubt" -- I think that has a better ring to it.
Logged

ColePowered
Level 1
*



View Profile WWW
« Reply #43 on: September 24, 2018, 07:46:39 AM »

Thanks for linking that article, that was a great read and pretty useful! It has given me ideas on how to detect if the player is making progress or hitting a brick wall. As they said in the proactive clues section, I could use this data to enable the game to drop more clues or trigger some kind of interesting event that would lead to more clues.

Indeed the name is based on that expression. 'Shadow of a Doubt' is already a Hitchcock film title, and although I'm not sure what trademarks still stand on that one given it's from 1943, I thought it best to choose something a bit different. I like the plural of Shadows anyway. Not only could the Shadows be obscuring the truth, but they fit with the visual shadowy aesthetic of the city, or a term for your agents etc  Noir
Logged


Detective Immersive Sim Shadows of Doubt | City deck building puzzle game Concrete Jungle
@ColeJefferies
ColePowered
Level 1
*



View Profile WWW
« Reply #44 on: October 06, 2018, 10:24:13 AM »

I've been getting closer to my milestone of having something playable to show off, but the things I've been working on have mostly already been mentioned in previous blogs. So I'm going to use this post to talk about world building-- something I enjoy immensely (and something I didn't get to do much of for Concrete Jungle). Specifically, this post is about my inspirations- hopefully, you'll get to see inside my head a bit and get a better picture of what Shadows of Doubt will end up looking and feeling like.

You may have noticed from Concrete Jungle, I'm a fan of vivid colours. With this project being very firmly rooted in the noir genre, something famous for it's black and white cinematic origins, the question is how do I translate that passion for colourful visuals over to this project while keeping that edgy atmosphere. In this post, I'll share some of my visual inspirations that will shape the game's world. Please note that the pieces of work shown in this post belong to their respective authors, and have nothing to do with me. I've referenced pieces from their social media where possible, so check them out!

The City


'Shipping on the Clyde' John Atkinson Grimshaw


'Liverpool Docks by Moonlight' John Atkinson Grimshaw

I'm going to start with one of my initial influences, John Atkinson Grimshaw, who is famous for his nighttime victorian urban landscapes. There's something about those colours- often dreary blues, greens or purples contrasting with the warm cosy lights of the buildings that I adore. There's a lot of rain and haze in his work too- he fits really well with the noir presence I want to capture; a bit melancholy, a bit harsh and industrial, but not without warmth and humanity.


'Rainy Night In Tokyo' Masashi Waku

I could quite happily cite almost everything from Masashi Wakui's incredible collection of neon-drenched Tokyo photos as inspiration. Beautiful nighttime images, but bursting with colour from the neon signs. Much more vivid and sharp than Grimshaw above; I'd ideally like my game to find a middle ground between the two.


Poster for the Buffalo Central Terminal by J. Floyd Yewell which opened in 1929. Now abandoned, but with plans to restore it.

I haven't shared much on the setting yet- but although right now it looks slightly Victorian/steampunk, the game will actually be set in an alternate-reality, hyper-industrialised 1970s-80s. Imagine the tech from Blade-Runner a decade earlier- maybe akin to Terry Gilliam's Brasil. Futuristic but analogue. A weird mix of technology and machinery, halfway between steampunk and cyberpunk. In some areas, technology has reached or surpassed what we have today but in other areas it lags behind. This allows me a lot of opportunities to get creative and imaginative and doesn't restrict the kind of technology I might want to include. The films I just mentioned are obvious influences, but as well as the classic noir location tropes (dimly lit Americana diners, smoke-filled rooms and rainy windows) I'm also looking to capture something more unique in some of the interiors...

Interiors

There's something about a highly stylised 60s/70s interior that can be extremely unsettling, probably in most part due to the films of Stanley Kubrick. The gaudier side of it has gone heavily out of fashion since (for the most part), especially in the world of interior design. That gives it a slightly alien quality that could work really well with the concept of this game. It's a kind of style that I haven't really seen in video games before- the only thing coming to mind are the No-One Lives Forever games, and even then the tone of the game was so geared toward comedy that it didn't convey what I'm describing.


This is a swimming pool designed by Verner Panton for Spiegel Publishing House in Hamburg, 1969. I really like how an often typically light and airy space can become very different with the introduction of dramatic reds to oppose the blue of the pool.


Nevele Country Club lobby. Now abandoned, this is some striking quintessential 70s interior design. There's nothing more 70s than wood panelling and orange flooring.


'The Gallery at Sketch' by India Mahdavi. I don't know quite what to make of this other than it's extremely weird. I don't think I could enjoy food here for fear I was actually trapped inside a David Lynch film.




The Overlook hotel in Kubrick's The Shining is a prime example of the kind of faded early century glory meets more "modern" 70s design that I'm trying to capture.


Wes Anderson captures a similar interior in The Grand Budapest Hotel.

So there we go- a rather odd collection of images that might give you some clue as to what I'm going to be trying to conjur up with the visuals of the game. Next time I should have some more development on gameplay to share. At last!
Logged


Detective Immersive Sim Shadows of Doubt | City deck building puzzle game Concrete Jungle
@ColeJefferies
ColePowered
Level 1
*



View Profile WWW
« Reply #45 on: October 30, 2018, 09:40:58 AM »

The last few weeks have been super busy and very productive. I've worked through a lot of gameplay mechanics that were in a really early/rough state in previous posts, and I'm closing in on a proper gameplay loop that I'm happy with.

This has been a very, very long time coming! A lot of things on this project have seemed just around the corner for a while now, only for me to reach them and move the goalposts. Hopefully, it should be different this time.

In my first playable iteration of the gameplay loop the AI serial killer will pick an acquaintance to kill, then hide the murder weapon (always a knife at this point) in their apartment. You'll be able to explore the crime scene and gather various information such as blood, fingerprints and DNA evidence. It will be possible to implicate the killer by finding the knife and linking this with fingerprint information from them as well as blood information from the victim. You'll be able to find where to look by questioning suspects and following their leads.

It sounds pretty straightforward, right? It's about as simple as a case like this would get. What makes it hard is that the above needs to happen using completely non-scripted game systems. The victim can be killed anywhere by anyone, with any other citizen maybe or maybe not seeing or hearing anything. And I need systems in place to stop that breaking.


I've had the city and the citizen daily routines working for quite a while now. The groundwork started with the murder. The murder needs to happen relatively quickly- in fact, it's simulated when the city loads up, as otherwise there would be a lot of waiting around by the player. As soon as the city is loaded the game will begin simulating a day at its maximum simulation speed, which is about x60, and will continue until someone is killed. The killer essentially tails their victim until they are alone and then does the deed. Immediately after they will carry the knife back to their apartment.


The next thing that needs to happen is that a citizen needs to find the body and report it to the police (you). This poses some problems. What if the victim lives alone and nobody else has any reason to stumble upon the body? For this and similar reasons, I've had to build some failsafe systems so that the body always gets discovered in a reasonable time. The first one is that citizens will notice signs of forced entry and deviate from their daily routines to investigate. They can also hear 'suspicious' sounds such as the scream when someone is killed- again they will go and investigate. My final, catch-all scenario is that the body begins to smell (gruesome I know). So eventually other citizens in the building will be able to smell it and go and investigate. So far, in admittedly limited testing, the body has always been found.


As soon as someone finds it you'll get a message with an address, along with the name of who found it. Every 'thing' in Shadows has it's own case file window. This is basically the collected information for that thing. Citizens, addresses, buildings, and objects are all represented through their own folder window, and every time you discover new information you'll be able to access it through that. You'll also be able to 'pin' them, creating your classic detective corkboard. Separate to these, 'facts' link two or more evidence folders together, and are represented by the string. You can mouse over any of these to gain a clearer idea of what that represents. They are the building blocks of the detective mechanics. More on this later!

The citizen who found the body will wait around outside for up to a couple of hours, while you and/or your detectives visit the crime scene.

As soon as you enter, the scene is automatically secured and no regular citizen can enter it until you open it back up. You can find the body, the stab wound on the body, as well as signs of forced entry on the door if there are any. I'm hoping to expand on this massively in the future, but for now, it's about getting the absolute basics working.


The only way to get information about the victim right now is to send them to the coroner for a post-mortem, so you'll want to do that. The coroner is independent of your department, and the report will take about 2 in-game hours but you'll get critical blood, DNA and fingerprint information as well as a fairly accurate time of death. You'll need this information to start building your case, but in the meantime, you can start asking questions!

This is what I'm working on this week- the questioning system is pretty easy to grasp. You can simply walk up to any citizen, introduce yourself and then ask about where they were and who they saw when the crime occurred. They'll have a higher chance of remembering people they know or citizens who were out-of-place or acting suspiciously (for example seeing a stranger in their building who doesn't live there). There's no actual dialog, but everything they tell you will be recorded on a timeline interface you to review. Because this timeline interface is inside the suspect's folder window, you can easily bring up another and then compare two different timelines to more easily compare. Not only this but you can also bring up the map interface where their routes will actually be plotted with the path they took. It's all about representing this data visually. The goal is to make visualizing events and when they happened as easy as possible.


At the core of the game is what I'm calling my 'incrimination system'. This is a system that allows both the 'game' and the player to track your investigation. It also gives a solid feedback value to your progress. This should really help drive the game, and not leave you wondering how well you're doing (a lot of detective games end up doing this as it's really hard for the game to know what the player is thinking). With this interface, the goal is essentially to try and direct the flow of 'incrimination' to a suspect. Incrimination comes from sources (so for example in this case the stab wound). Facts/connections will allow that incrimination to transfer to other items of evidence. The fact the stab wound was found on the body will transfer incrimination to the body. The fact that the body was found at an address will transfer to that. If you discover who lives at that address, then some will transfer to that. But each fact/connection has a certain amount of reliability that will limit the amount of incrimination transferred. In the above image, you can see the amount of incrimination being transferred by how red the string is, how reliable that connection is by the string's width, and the direction of the transfer by the animation. All of these details are able to be clarified upon mouse over. It will require a lot of tweaking and adjusting, but I'm really pleased with how this system is working so far.


When you think you have the right suspect, it's time to pay them a visit to track down that knife. The knife is the only 'smoking gun' that will provide enough evidence for a conviction for now. It's pretty easy to find someone's address: Either question someone who knows them well enough, look in the city's directory (there may be a couple of people by the same surname though), or if you happen to know the correct building, you can research its list of residents. This is a small example of the gameplay opening up a bit- I want to add lots of different ways of getting information so that the player can forge their own investigation techniques.

You can go knock on their door and ask to have search access of course, but they won't let you without a warrant if they have something to hide! A search warrant in Shadows is possible to obtain for anywhere but costs a lot of resources (paperwork) as well as time to acquire. While that's happening the suspect could catch on and move or destroy the weapon (admittedly this can't happen yet but I shall expand on these scenarios in the future of course).


So what's left to do? Well, I hope this is where the game will get really interesting- you can go rogue and sneak into their apartment. It's possible to research where your suspect works (even their favorite places to eat, drink and socialize). You can gain a pretty decent idea of when they won't be home, and then lockpick your way into their apartment or immersive-sim your way in through an air vent! Of course, this is completely illegal- but in a game set in a dystopian world you're probably not going to want to play good cop all the time, or at the very least be a chaotic good cop!

You won't be able to use any evidence you find against them in your case for the moment, but crucially you'll know if you've got the right person. It's then just a case of keeping an eye on them and getting that search warrant.

Of course, you don't want to get caught breaking the law. There's no combat in the game so you won't run the risk of death, but instead, you'll be escorted from the premises and reprimanded. Penalties can include decreased police budget, negative traits for your detectives and bad press. Most of these aren't in the game yet and won't make the build I'm working towards, but you get the idea.

That's what I've got planned for the basic game loop. Hopefully, you'll be able to get a sense for the game's potential. In the next few weeks, I hope to get this functional and record a gameplay video. See you then!
Logged


Detective Immersive Sim Shadows of Doubt | City deck building puzzle game Concrete Jungle
@ColeJefferies
Prinsessa
Level 10
*****


Ava Skoog


View Profile WWW
« Reply #46 on: October 30, 2018, 09:53:18 AM »

Super intrigued by this!
Logged

nathy after dark
Level 6
*


Open Sourceress


View Profile WWW
« Reply #47 on: October 31, 2018, 06:59:30 AM »

Those are some incredible reference pictures! I don't think I've seen a Grimshaw painting before but I love them.

All this stuff about the mechanics is really amazing. In some ways the aesthetic you're describing for the setting reminded me of Thief, so I was about to ask about immersive sim aspects and then you mentioned it! Awesome.

If I can break and enter, can I kill people?? What if I want to go full Dexter??
Logged

ColePowered
Level 1
*



View Profile WWW
« Reply #48 on: October 31, 2018, 10:18:08 AM »

Those are some incredible reference pictures! I don't think I've seen a Grimshaw painting before but I love them.

All this stuff about the mechanics is really amazing. In some ways the aesthetic you're describing for the setting reminded me of Thief, so I was about to ask about immersive sim aspects and then you mentioned it! Awesome.

If I can break and enter, can I kill people?? What if I want to go full Dexter??

Aww yeah, those old looking glass games are so great- another definite influence ever since the switch to first-person.

Haha, probably a no for now. Really interesting possibility though! I could definitely do something with that idea in the future  Evil
Logged


Detective Immersive Sim Shadows of Doubt | City deck building puzzle game Concrete Jungle
@ColeJefferies
ColePowered
Level 1
*



View Profile WWW
« Reply #49 on: January 06, 2019, 03:31:11 AM »

It's been a little while since the last update, and I thought I'd better do a 'hello 2019' style post, even if it's just to look back on later in the project. This is less of a 'roadmap' and more of a dirt track map by the way. If there's one thing I've learned from the project is that it's really hard to predict in terms of timeframe-- a common game dev problem of course, but still a much harder thing to do for this vs Concrete Jungle.

With that said I've decided on a few things for the future development of the project. I have decided to aim for an early access model as it seems the best fit for this ambitious style of game that could potentially take a very long time to completely finish. I have some mixed feeling about early access as a gamer, but for this type of project the positives outweigh the negatives: It allows passionate fans to play the game and help shape the direction of the remainder of development, as well as providing some income security. I'm going to be very cautious to make sure I don't release something under-baked or something I wouldn't buy myself, but I believe when done right early access is a win-win.


You might have read in my last post, that I was quite eager to finally get something playable working so I could focus on some of the other things that really excite me about this project. I did get my checklist mostly completed before the end of the year, but sadly that work was met with some disappointment on how cohesive and fun the game is feeling. I need to remedy this before creating my planned demo/reveal video-- so that's on hold for now.

My main problem is that the most impressive and fun features aren't a big enough focus of the gameplay:


Stealth is something that's been added in the last month and has instantly given the game a much-needed injection of peril. Breaking into people's apartments is fun! Who knew? They should make a game about that, maybe set in a steampunk/medieval world, and have the player be some kind of burglar or something. The problem here is giving the player enough reason to go into places they shouldn't. As a cop, it makes sense that you basically have or can get access to anywhere relatively easily. Police detectives don't really break into people's apartments, and even the bad-cop ones don't really have a need to even do it that often.


Procedural Generation & Simulation. The real joy in working with procedurally generated systems, for me at least, is clicking that play button and exploring what's been created. There's a dr Frankenstein-like joy to seeing what the thing you've created has created. There's also the universal appeal of knowing that your game instance is special, unique to you-- and therefore your experience is unique to you.  The game does an ok job of this right now- there's plenty to research and find, but the problem is that there's a huge amount out there that the player has no reason to explore, and it feels like a wasted opportunity.

So what's the solution?

The solution lies in one of my all-time favourite games, an 18-year-old RPG called Anachronox. Flawed, but bursting with character and awesome ideas, Anachronox has always been a source of inspiration for me. Spoilers ahead: I could write a lot more about how one of your party members is an entire planet of technologically advanced aliens that shrunk itself, or how the starting area's frequent tectonic plate movement is used as a form of public transport, but I digress.

Fairly early in the game, you learn of a man who deals in information-- someone who digests vast quantities of personal information and divulges it for personal gain. He's who people come to when they need to know something. Like some black market celebrity, he features on swathes of graffiti throughout the city; 'Eddie Knows'. When Anachronox was made, personal information was considered to actually be private, so the idea of an individual using huge quantities of personal information for personal gain was almost as science-fiction as the other things I just posted about. Oh yeah, he also has to chew on something stinky and chewy-- like an old puss infested sock-- to help him concentrate and sift through the vast amounts of data in his mind. But that part isn't relevant here, just Ananchronox being weird and wonderful!


The key concept though is personal information as a commodity in a pre-social media world. After some thinking, it's pretty clear that this game should really be about snooping around people's apartments and workplaces to find information about them without getting caught. Instead of a thief stealing valuables, you're stealing information. Not all of this information will be relevant to your case, maybe even <em>most</em> of it won't, but that's ok because I can assign in-game value to all information and reward the player for finding it. It's not a very lawful thing to do, so I'm thinking about changing the player from police to a PI, and have information harvesting as a kind of secondary objective.

This pivot gives centre-stage to the proc gen, as you'll discover affairs or secrets that could be sold to the right people. It's quite a deliciously shady angle on the detective theme that I think with enough attention to detail could be really cool. Giving the player command of moral choices is always interesting.

So with all this in mind, what's my course of action?

Quarter 1 2019

Currently, I'm working on rewarding the player for finding information and punishing them for getting caught.

Switch the project to unity's HDRP.

To make the stealth interesting, I need to start thinking more about the environments. Rooms and buildings need multiple entrances and exits (think air vents, windows, fire escapes etc). I've got plans to overhaul the generation of interiors that I'm super excited about.

I want to get a Steam page up as soon as possible.

Quarter 2 2019

April 4th: Rezzed 2019. I'd love to demo the game at Rezzed, but getting something presentable enough to demo in time will be very tough.

Expansion of citizen models and visuals; there's a tonne of data being simulated but none of it is visual right now because I only have 1 basic character model.

Quarter 3 2019

Expansion of exterior models- there's only 1 building model in the game at present.

Expansion of AI behaviours. What I have is a decent foundation, but I need to work on their routines to give the player more interesting stories to discover.

Quarter 4 2019

December 2019: First early access version. This is a best-case scenario, but it's something that I'm going to be aiming for. I'm not going to force this one- I won't release anything that I'm not happy with or something that's unplayable.
Logged


Detective Immersive Sim Shadows of Doubt | City deck building puzzle game Concrete Jungle
@ColeJefferies
nathy after dark
Level 6
*


Open Sourceress


View Profile WWW
« Reply #50 on: January 11, 2019, 02:26:47 PM »

I think a PI vibe will suit the game well.

I just moved into a new apartment and my roommates wanted to do spooky story night. I went very very overboard, spending half an hour in advance reading a short story called "More Tomorrow" by Michael Marshall Smith, whose horror stuff I've liked in the past, but found it way too gruesome and disturbing. So I'm on a horror detox. But you might enjoy reading that one!
Logged

ColePowered
Level 1
*



View Profile WWW
« Reply #51 on: January 14, 2019, 02:03:30 AM »

I think a PI vibe will suit the game well.

I just moved into a new apartment and my roommates wanted to do spooky story night. I went very very overboard, spending half an hour in advance reading a short story called "More Tomorrow" by Michael Marshall Smith, whose horror stuff I've liked in the past, but found it way too gruesome and disturbing. So I'm on a horror detox. But you might enjoy reading that one!

Awesome, thanks for the tip, I'm not super into the gruesome stuff either though. I'm kinda glad I've chosen voxels/low-fi for this project as it means I can imply that kind of detail rather than have to display it in its complexity.

I'm currently reading a lot on world building, and alternate realities-- trying to find a point in history where the timeline for this game diverges. Super fun!
Logged


Detective Immersive Sim Shadows of Doubt | City deck building puzzle game Concrete Jungle
@ColeJefferies
ColePowered
Level 1
*



View Profile WWW
« Reply #52 on: February 01, 2019, 08:44:41 AM »

This week as well as a new website/presskit, I've been updating the project to use Unity's new HD render pipeline. It seems like an odd time to upgrade the graphics, but I'm doing it now because it's quite a sizable technology shift in terms of shaders, materials etc, so thought it best to get it out the way now before delving back into content creation (which is next on the list).

I expected a decent bump in general prettiness, but it has exceeded my expectations. The shiny new look trades some low-fi aesthetic for much moodier lighting, and it's a compromise I'm more than happy with. Performance remains roughly the same, which I'm also counting as a win.


The biggest difference is the physicality of the surfaces and the behavior of the light on them. I especially love the cobblestones in the new renderer, they reflect light exactly how I imagined in my head when I first started this project. I'm really excited about how the game will end up looking, especially because I've got loads of plans for the exteriors (think steam vents, neon signs, litter, market stalls, hanging cables etc).


I'll share my experience of the upgrade process in the hope this dev blog entry is useful to folks. It took me about a week's worth of full-time work to get everything properly functioning in HDRP, and that includes time spent learning.

-Unity can do a lot of the work for you in upgrading to the new renderer. It will attempt to convert your existing materials to its use new shader, and convert your lights to the new system. It does an ok job at this, but I decided to re-make my materials from scratch in an attempt to hone my workflow.

-One of the main changes in the new default shader is that now the metallic, ambient occlusion, detail and smoothness maps are all sourced from one texture file using the RGBA channels. Unity will make one for you in the conversion process mentioned above using your existing separate images, but I couldn't find a way to automate this after the upgrade process. This tool does a great job at packing different maps into the channels to be saved as a single image, so I've been using that.


-I had a weird bug where the upgraded lighting intensity being displayed was much lower than it was set to. Simply clicking on the light object in-game or in-editor seemed to correct this. After a couple of hours of being puzzled, the solution was to simply click on my prefab light sources in-editor. Everything is how it should be now. An odd bug but with an easy fix.

-Converting my project to use the new 'light layers' system took the longest because I couldn't find any documentation about it. It turned out the options I spent ages looking for were hidden under easily-missable 'additional settings' + icons to the right of the regular inspector settings. D'oh! Anyways, after that it was fairly easy to work out- lights can now be present on different light layers and under the mesh renderer, you can choose which objects are affected by which layers.

-I have yet to explore the new decal system, but one of the reasons for upgrading to this version was to make use of it for details such as blood, bullet holes, chalk lines around bodies etc.


In my last entry, I talked about the previous year of development, and my wrestling with the scope of the game. I'm pleased to say the wrestling is over now- I have a much clearer route ahead. No more toying with massive shifts in scope, theme or gameplay. The most unique and fun thing about this idea is the simulation interacting with the procedural generation, and that will take center-stage now. Detective stuff aside, being able to look up at any window of any building and be able to decide to break into there is very satisfying. It's something I'm going to build on as much as possible, by giving all my citizens various secrets and rewarding the player for uncovering them. The next few months are going to be about that, starting with an overhaul of the way I configure the interior environments.

The key to what I want to do is finding a balance of procedural generation and hand-crafted content. I'm going to be doing this through a new 'floor editor' that I've started making this week. The basic concept is that the buildings in the game are made up of different floor configurations. These are effectively blueprints that section off the floor into different addresses (eg the first floor of a residential apartment block might contain 4 or 5 different residential addresses plus a hallway).

Within each separate address, the game uses various variables from relevant sources to generate an interior. For an apartment for an example, the choice of furniture and decoration will be driven by the owner's preferences. Even down to objects such as what books they have in their bookcase. Environmental storytelling is the key to interesting environments in games, and by using these variables in combination with the simulation to drive what is generated, I hope to achieve that. More on interiors soon!
Logged


Detective Immersive Sim Shadows of Doubt | City deck building puzzle game Concrete Jungle
@ColeJefferies
ColePowered
Level 1
*



View Profile WWW
« Reply #53 on: February 28, 2019, 08:59:42 AM »

For the last few weeks I’ve been working on an important part of the game; the environments. One of the most ambitious parts of this project is the huge number of explorable interiors and their complexity. I’ve had to think very carefully on how to go about creating this: I need a way of generating huge numbers of apartments, offices, cafes etc that have enough variation but also don’t require a huge amount of individual design work. It’s perhaps the toughest aspect of the project, but I’ve had a long time to think about it and progress is going well.

What makes a location in a game interesting? With a narratively-focused game, I find that environmental storytelling can really make a location feel compelling. Empty beer bottles. Broken mirrors. Books lying around that you can read snippets of. Pictures on the wall. Notes on the fridge. The environment is not only part of the player’s world, but someone else’s. With my citizen generation system, I have a lot of what I need in place to drive environmental storytelling. Time will tell how compelling that can really be, and I’ll be writing a lot about this in the future. But for the moment I’ve been focusing on the interior blueprints themselves.

Buildings in Shadows of Doubt are split into floors, then divided into ‘addresses’, and within them ‘rooms’. The location hierarchy in the game from large to small looks like this:

City > District > Block > Building > Floor > Address > Room > Tile

I decided to concentrate on ‘floors’ as the point where designed elements intersect with the procedural generation. I set to work on a separate tool that lets me design floorplans, while also letting me preview what the procedural generation can do. The idea is that I design lots of individual floorplans that are sectioned off into different addresses- kind of like in SimCity where you lay out residential, commercial and industrial zones. Instead of that though I’m defining the floor space, of say an apartment, within the floor of a building. Buildings can then be generated from a bunch of these floorplans.

This is as far as my input goes and where proc gen takes over: I have a ‘generate interior’ button that uses some wizardry to generate dividing walls. In this example with an apartment, it will section off a bathroom, and if there’s room, bedrooms, a kitchen and for much larger floorspaces even a study, shower room, dining room etc.


How does this work then? The physical space in the game is represented through ’tiles’- each one of these is 1.8m x 1.8m in-game, basically turning everything into a giant grid that makes it easier for many systems such as pathfinding, culling and this generation process. Building floors are 15 x 15 tiles in size.

When generating an interior layout, my system takes stock of the floor space and where the entrance to is. It decides if the entrance is too far from a corner of the defined space, to draw a hallway that connects the entrance to a tile closer to that corner. Hallways are essential because without them you tend to generate a bunch of rooms that are only ever accessed via each other. This might be fine for something like a small apartment, but as they get larger the less sense they make. Imagine having to get to the bathroom by having to go through the living room, then the kitchen, then the study, then a bedroom etc.


Next, the game will cycle through a list of defined rooms, each with their own pre-defined rules. It cycles in order of how ‘important’ they are, eg the first entry for an apartment is a living room, followed by the bathroom (I think they’re pretty much the most important rooms!) The game will then loop through every available free space and simulate positioning the room there. It will rank how successful or unsuccessful this has been using the rules. It will then save this placement location and ranking in a list. After it has tried every available space, it will sort the list using the ranking and pick the most successful attempt, and place the room there. Repeat until either all rooms are placed or there is no space left. I currently have 3 main means of ranking how appropriate a room placement is:

1). Floor space. Important for larger rooms, for example the living room. Less important for say a bathroom.

2). Uniform shape. Basically how many corners they have. This is important for most larger rooms, maybe less so for smaller ones.

3). Windows. It’s more important for some rooms to feature windows than others. For example it’s more likely your living room or bedroom will feature windows compared to a study.

That’s the basic model, but I’ve had to add a lot of special conditions to this to make things work appropriately. Certain rooms can only connect to other certain rooms. For example, while everything can connect to a hallway, a kitchen can also connect to a living room directly. Some rooms can have only 1 door (eg bathrooms), while others can have more. Some rooms are allowed to feature the entrance to the address (you probably don’t want the main door to open up into the bedroom). There is also an override system that allows rooms to ‘steal’ floorspace from existing rooms in the generation process if for example one previously placed room has excess floor space and the current one has too little. After a lot of tweaking, I think I’ve found a decent balance. Of course, you can also preview what’s been generated in the editor too!


I think at some point this editor will be released with the game to allow others to created custom floor plans. It makes too much sense not to have it as a tool people can use. I’ve had such a great response that I may even consider forking off this project to create some other cool stuff with it. Next time I’ll write about decorating these generated rooms.
Logged


Detective Immersive Sim Shadows of Doubt | City deck building puzzle game Concrete Jungle
@ColeJefferies
Prinsessa
Level 10
*****


Ava Skoog


View Profile WWW
« Reply #54 on: March 10, 2019, 05:56:46 AM »

This is such a cool writeup! Love this kind stuff. Kiss The quote "the environment is not only part of the player’s world, but someone else's" speaks to me especially. The system of order of importance of rooms is really clever!
Logged

ColePowered
Level 1
*



View Profile WWW
« Reply #55 on: March 19, 2019, 08:35:14 AM »

This is such a cool writeup! Love this kind stuff. Kiss The quote "the environment is not only part of the player’s world, but someone else's" speaks to me especially. The system of order of importance of rooms is really clever!
Thanks Prinsessa! Grin
Logged


Detective Immersive Sim Shadows of Doubt | City deck building puzzle game Concrete Jungle
@ColeJefferies
ColePowered
Level 1
*



View Profile WWW
« Reply #56 on: March 19, 2019, 08:57:38 AM »

As you may have seen in previous entries, I want the game to have a mix of interiors ranging from old and murky 1930s decors to more modern 70s and 80s styles (the game itself is set in the 80s- albeit an alternate reality).

The first task was creating a custom shader that could take walls, floors, even props and apply different colours to them. Manually creating unity materials for each of these, then a range of colours wouldn’t really be feasible due to the sheer range of them I would need. Creating a custom shader with a map that told where to apply certain colours seemed to be the way to go. I’m a novice when it comes to writing shaders, but thankfully Unity’s new shader graph came to the rescue here, and it didn’t take me too long to come up with something that functioned as intended. Remember that green striped wallpaper that was applied to every single interior wall before? Well, now I can have that in any colour combination I want. Progress!


In addition to this, I also wanted to represent neglected/abandoned apartments by having an additional dirt map that I could apply also using the shader…


Now I’ve got a base material that I can alter using a couple of simple inputs. But how do I get my game to look like the style I want? I would have to come up with a system that selected colours similar to the designs I mentioned a couple of months back.

I decided to make a custom palette that features 5 colours: 2x Primary and secondary colours that compliment each other, along with a neutral colour. I used scriptable objects, so I could easily create palettes in-editor.

After some messing around I found a great way to pick these 5 colours. Using images found on various sites and design books from the eras I want to mimic in game, I use coolors.co to pick a complimentary palette from them. It’s a great free tool that allows me to cycle through several palettes from each image to get one that I like. I can’t export into my scriptable object directly, but copy and pasting the colour hex codes doesn’t take long!


As I also wanted the game to pick from these using citizen’s personality data- as I wanted someone’s apartment to reflect their personality to some extent. So I also added some variables to the palette object that enable me to do this. I settled on these 4 variables:

Modernity: How ‘modern’ this colour palette is in terms of design. Muted colours like the original green striped wallpaper may be suited to a less modern style, while brighter reds and oranges might be more suited to more modern styles. Richer citizens tend to be able to afford more modern decor styles.

Cleanness: This one is more to do with the room type that citizen personality. ‘Clean’ palettes will be found more often in bathrooms or corporate environments.

Loudness: I couldn’t think of a better name for this, but in broad strokes, this is how bold the colour scheme is. Bright reds, for example, are ‘loud‘, and are more likely to be found in apartments of more extroverted citizens.

Emotive: In general how ‘warm’ or ‘cold’ the colours are. This is similar to the cleanness value but links to personality instead; more emotive citizens are more likely to feature these palettes.


Now when a citizen is assigned an apartment, I can use a system that matches colour palettes to their personality!

I’ve developed a very similar system that does the same thing but for the base materials themselves: A floral pattern may be considered more emotive for instance. A combination of these methods to procedurally decorate apartments, offices etc is a great starting point that gives meaning, reason, and personality to the procedural generation that is at risk of becoming too random and cookie-cutter. Hopefully, this kind of attention to detail will excite some of you (and I bet a few think it’s pointless!)


It’s already starting to make my previously labyrinth-like environments look like something more habitable. The next step is to start work on some basic props: Chairs, tables, beds etc.



Logged


Detective Immersive Sim Shadows of Doubt | City deck building puzzle game Concrete Jungle
@ColeJefferies
nathy after dark
Level 6
*


Open Sourceress


View Profile WWW
« Reply #57 on: April 09, 2019, 08:15:40 AM »

This is amazing. Two thoughts:

When you mentioned floral patterns, I thought, if characters are going to have personalities, will they also have genders and sexualities? And how would you incorporate those into interior design without over-indulging in stereotypes? (I think you should do this. NPCs being in relationships and having affairs with each other would provide another interesting dimension for secrecy and environmental storytelling. Maybe they even write each other love letters and such.)

Example: the cat house from A Clockwork Orange.


(Some NSFW elements in the image, so no one click on the thumbnail if you're young and impressionable. Smiley )

Other thought: XCOM has the awesome experience of delving deeper and deeper into the alien invasion, eventually storming alien bases and seeing their experiments/dissections, etc. What if this game had larger murder houses for serial killers, which would be essentially like a Dungeon you discover (think The Devil in the White City.)

Logged

ColePowered
Level 1
*



View Profile WWW
« Reply #58 on: April 10, 2019, 02:05:59 PM »

This is amazing. Two thoughts:

When you mentioned floral patterns, I thought, if characters are going to have personalities, will they also have genders and sexualities? And how would you incorporate those into interior design without over-indulging in stereotypes? (I think you should do this. NPCs being in relationships and having affairs with each other would provide another interesting dimension for secrecy and environmental storytelling. Maybe they even write each other love letters and such.)

Example: the cat house from A Clockwork Orange.


(Some NSFW elements in the image, so no one click on the thumbnail if you're young and impressionable. Smiley )

Other thought: XCOM has the awesome experience of delving deeper and deeper into the alien invasion, eventually storming alien bases and seeing their experiments/dissections, etc. What if this game had larger murder houses for serial killers, which would be essentially like a Dungeon you discover (think The Devil in the White City.)

Hey Nathy!

Although the citizens do indeed have sexualities and genders (these are both non-binary), the interior design isn't affected by those stats directly. I'm planning a dev blog delving into the personality setup, but the main two factors driving the interior design are extraversion and emotionality. Neither of these is linked to sexuality or gender so I'm hoping to avoid stereotypes. The way personality effects the interior design is a pretty subtle thing really, I bet some players won't even notice (or even care!) Just thought it was a cool thing to write about though, and it's a system now in place that will hopefully really shine later in development.

Like the dungeon idea- definitely something I want to explore. Basement areas and such  Noir
Logged


Detective Immersive Sim Shadows of Doubt | City deck building puzzle game Concrete Jungle
@ColeJefferies
ColePowered
Level 1
*



View Profile WWW
« Reply #59 on: April 24, 2019, 08:01:06 AM »

 It's been a while since the last blog and I've been busy! Firstly some quick announcements: I'm in the process of expanding ways you can find out about, keep track of and follow progress on the game. First off is the official Discord server, and second, are new places to follow this dev blog at Game Jolt and soon Itch.io. You can also subscribe to the mailing list that I set up a couple of blog posts ago, but for some reason, haven't mentioned until now. A steam page is on its way- more on that at the end. Last but not least, I've been dabbling in making some concept/branding art for the project. Truthfully this has been repurposed from a much older piece I did years ago, but I'm pretty pleased with it- and shall likely be using it for a lot of the early promotional stuff that you'll see soon.


The previous dev blog covered my first foray into interiors and my first attempts to procedurally decorate them. I'm pleased to say the game is progressing at a decent rate now; whereas before the new interiors were limited to my floor editor, they are now actually in-game. It took a while as there's a lot to integrate; one of SoD's main selling points is complete freedom to explore- and that means being able to go into any room in any building. When you're talking about even just a couple of city blocks worth of skyscrapers, that's a hell of a lot of rooms! I've had to do a lot of work under the hood in terms of culling to get this working, but you can, at last, do this without any extra loading times. I've got a lot to refine, but it's working well. Using low-fidelity assets really helps as it keeps texture sizes small.


The first batch of furnishings are appearing in apartments, giving them some much-needed character.

The second hurdle was to re-write the AI to take advantage of the new interiors system, as they've completely changed to how they were prior. I opted for an overhaul of the previous very basic AI in favour of a new goal-based system. A lot of things have stayed the same, such as the way the AI sight each other, but they now employ a new sims-like stat system that dictates their minor actions throughout the day (needing to eat, drink, sleep etc). Whereas before their routine was almost completely pre-computed- meaning a lot of extra, spontaneous actions such as checking out a  suspicious noise or sighting had to be written separately. This could potentially break their pre-computed routine, meaning the game would have to calculate it again. This new system allows for a lot more flexibility.


All the citizen AI paths being dynamically calculated are visible here in magenta.

As the goal is still to have a lot of citizens simulated with this AI, I've done a few things to limit the performance cost of it: Most notably, the AI's update rate will only be high when nearest the player and when not doing actions that require them to be more aware. By dynamically changing this with proximity to what's actually on-screen, I can make the performance cost of 95% of the citizens at any one time relatively insignificant. It's had some teething problems, but I'm almost there- and hope to complete the new AI around the beginning of May.


Most significantly for the game though, this means I'll finally have furnished, individual rooms that you can sneak into, complete with simulated citizens that are capable of interacting fairly realistically. This is a pretty big milestone that I'm super excited about. I'm hoping to launch the Steam page around then as I feel for the first time I'll be able to effectively communicate (show, not tell) what the gameplay is like. Up until now, my descriptions have been somewhat vague, as I've tested a lot of ideas throughout this development. But what I'll have soon is a stealth game with some pretty clear mechanics, that although lacking a lot, will be the first thing that's actually somewhat playable. The sand in the sandbox if you will. Only took me 2 years!

« Last Edit: April 24, 2019, 08:12:29 AM by ColePowered » Logged


Detective Immersive Sim Shadows of Doubt | City deck building puzzle game Concrete Jungle
@ColeJefferies
Pages: 1 2 [3] 4 5
Print
Jump to:  

Theme orange-lt created by panic