Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

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

April 18, 2024, 02:02:28 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsThe Hit - Contract-killing and dynamic narrative in a procedural city
Pages: 1 2 [3] 4
Print
Author Topic: The Hit - Contract-killing and dynamic narrative in a procedural city  (Read 11299 times)
aDFP
Level 0
***



View Profile
« Reply #40 on: March 04, 2017, 03:50:32 AM »

If I can drive a car through a wall to run down a target, or destabilize the base of a building so it collapses with the target on an upper floor, I will be more satisfied than I can say and this will be the best game ever

I'm working on it! Driving through walls will absolutely be possible (It's already mostly done, but will need linking to the vehicle physics when I get round to writing those). Buildings aren't affected by gravity right now, but I've sketched out a system that'll split the building into pieces, and run stability checks on each piece. When it's working well, I'll add it, but that'll almost definitely be a post-launch update.
Logged
aDFP
Level 0
***



View Profile
« Reply #41 on: March 10, 2017, 03:37:13 PM »


Walls are done (enough for now, at any rate). I'll add some more wall types in soon; they only take a minute or two each to add, so I'll try to make a bunch of different styles.

I've also started adding vehicles back in. I'm trying to get the game to a playable state as soon as possible, so these ones aren't procedurally generated. They'll serve as a basis for the next set of procgen vehicles though, and I'm working a few valuable things out while I model these.

All doors can be opened, as well as the bonnet and boot (hood and trunk), plus you'll be able to sit in any seat and still have the full interaction system available to you. Cars can also be used to stash weapons and equipment (or y'know, bodies), which should allow for some interesting gameplay.

The next things on my list are linking vehicles with the navigation system, so NPCs will be able to get in and out of cars, and use them as dynamic cover when things get hairy, and also adding the road navigation system back in, with a few tweaks and improvements.
Logged
jctwood
Level 10
*****



View Profile WWW
« Reply #42 on: March 10, 2017, 03:49:18 PM »

The idea of different mobility methods is really intriguing! I can imagine being in a car and tailing someone on a skateboard who takes a pedestrian route and you have to get out to follow them then they notice and a parkour chase ensues.
Logged

aDFP
Level 0
***



View Profile
« Reply #43 on: March 20, 2017, 06:51:54 AM »

Update. Building exteriors are (almost) done, and I've created a new procedural modelling system that I'm planning on using for vehicles, clothes, walls, gates and about 100 other things.


Here's the end result of a system I've been working on for a while

The actual facade data is a small byte map which describes a 1m grid. This is fed through the new facade generator, which performs some analysis of the data and looks up a 2D 'facade atlas' (see pic below), which contains a set of windows and doors, complete with frames and surrounding brickwork. This information is linked with the analysed data and 3D geometry is created from the combined data.

In short, I've now got a super-fast, super-easy system for generating new buildings and new building styles. I'll have to write some procedural generation rules before I can use it in-game, and it's desperately in need of some optimisation, but this means that the building exterior system is just about finished. Apart from adding some more features, I probably won't touch it again before release.

I will be creating a few dozen more facade atlases, because they're incredibly fast and simple to make, and will give the city some much-needed variety, but then I'm planning to adapt this system to create vehicle exteriors and clothes for the new NPCs (which I'll show off as soon as they're working in-game). I have one more (fairly simple) system to write before I can do that, however. When that's done it should also allow me to create angled geometry using the facade generator, using only a tiny amount of extra data, but I might save that until after the game's out.


The facade atlas I've been using to test this system
Logged
Pineapple
Level 10
*****

~♪


View Profile WWW
« Reply #44 on: March 20, 2017, 11:03:29 AM »

those are some really sweet looking buildings
Logged
aDFP
Level 0
***



View Profile
« Reply #45 on: July 24, 2017, 12:57:35 AM »

If anyone would like to play around with the city editor, I've uploaded a free build to itch.io https://adfp.itch.io/the-hit/devlog/5671/editing-the-city
Logged
aDFP
Level 0
***



View Profile
« Reply #46 on: August 26, 2017, 01:37:26 PM »

Hey there. I've been hiding away in my dev cave lately, working on a bunch of much-needed optimisations and refinements, which is why I haven't been very active on here for a while. A lot of the systems I'm developing for The Hit are experimental, especially the narrative aspects, so my workflow generally involves writing a bunch of messy code, then rewriting it because of what I've learnt writing the original code (which can sometimes repeat far too many times). I also try to replace complex systems with simpler ones, whenever I can, because I need to be able to understand how many different systems interact, and there's a limit to my brainpower. Eventually I end up with something that works pretty much how I want, even if it looks pretty ugly and runs like an arthritic sloth. That's when I start refining and optimising. I'm starting to make some decent progress, so I thought I'd share some new screenshots with you.


This is my new test city. It's considerably larger than the previous version (337 individual buildings, up from 14), but thanks to the latest optimisations, it still generates in a reasonable amount of time. Which is good, because I'm planning to add a variety of different cities to The Hit, as well as letting you create your own.


Here's the latest version of the procedural stairwells. I've rewritten most of the stairwell code in order to make the final model much simpler and speed up the generation algorithm. I'll also be reusing this code to make any repeating models like fences and railings. I've almost finished the next part of the stairwell code, which will increase the detail of the steps. I'm also a step closer to implementing unified colour palettes for building interiors, so it'll start to look less random soon.


This is the view from the top floor of the tallest building in my test city. Now the stairwells are working, it's finally possible to explore the entire city, including every floor of each building (and yes, I am adding sniper rifles). Automatic room and furniture placement is about 75% finished, so these spaces should look a lot more interesting soon.


The final two screenshots here are furniture tests, so I can be sure the scene loading and saving is working properly. It's all hand-placed for now, rather than automated, but I'll be refining the automatic systems very soon, and spending some time making a load more furniture. Interaction code is mostly working, but still needs some refinement before it's game-ready. When it's finished, you'll be able to open every drawer and door in the city, and I'm working on automated placement systems for filling them with appropriate props, all of which you'll also be able to pick up and use. They'll also be connected to and controlled by the dynamic narrative system, because I'll need to be able to drop narrative hooks in around whatever the player is doing. I'm probably going to keep this level of graphical detail on each object, but increase the density of objects dramatically. In order to tell believable stories. I need to begin with a convincing world, where anything and everything can be part of the narrative.

Logged
aDFP
Level 0
***



View Profile
« Reply #47 on: September 10, 2017, 06:12:11 AM »

Streets & Signs

I've taken a detour from coding missions and interactions to sort out the streets. They're essential for gameplay, because I can now send players and NPCs to specific locations. I'll also be able to add story triggers for when the player enters or leaves a location, and because street names are things you'll be able to 'remember' and use in conversations, it'll be possible to ask directions very soon, or ask a taxi driver to take you to a location.

I'm using a list made up of common street names, historically common male and female names and types of tree, plus a set of street types (road, street, way, lane, avenue etc.) The generator simply picks one word from the first list and one from the second. To make renaming streets as simple as possible, I've written a tool that looks for signs which are facing the street, then automatically creates a texture and resizes the sign.

I'm writing a sign placement tool, which will analyse buildings and walls near junctions, and find a suitable spot to place street signs, which I'll add to the city generator when it's finished. I still need to create an atlas for the street signs, but I've already got an atlas generator left over from when the buildings had textures, as well as a ton of utility functions, so that should be a simple enough job. I'm also missing a tool to calculate streets from hand-drawn maps, but the road calculator is already working, so I'll add some logic to join the road segments together and call it a day.




Logged
Loop Gain
Level 0
**



View Profile
« Reply #48 on: September 10, 2017, 10:30:26 AM »

Navigation based on randomized street names is an appealing idea. Looking forward to this!
Logged
aDFP
Level 0
***



View Profile
« Reply #49 on: September 11, 2017, 02:50:34 AM »

Navigation based on randomized street names is an appealing idea. Looking forward to this!

Thanks. There's more to this than just navigation though. It's hard to explain how this is going to work, so I'm mostly trying to get the damn thing built so you can see it for yourself. I'll attempt an explanation here.

I'm trying to create an environment where it's possible to interact with everything in the world. In order to tell rich and interesting stories, having a handful of verb-actions (run, shoot, open, etc.), and a handful of noun-objects (enemy, ammo pickup, checkpoint) you can interact with is not enough. Cutscenes keep all the interesting bits of the story (plots, deceit, betrayals, etc. etc.) out of reach of the player; I'm trying to move all those things out into the game where the player can get at them. For a very simple example, lying to an antagonist (about the location of a third character, for an obvious instance) is not possible without being able to store and select information. Giving the player a single 'lie/truth' option in a dialogue tree is artificial, and doesn't extend to other situations where lying might be desirable, but the developers haven't allowed for such an action. Making the choice available to the player at any time forces me to create a system where the antagonist's response is derived from the events as they take place, rather than being pre-scripted. It's a hard problem to solve, but the potential of such a system is far greater than via traditional means.

Apologies if you've already seen it, but this article describes how I'm planning to give authors control over this system, and actually 'tell' stories when the player has complete freedom. https://www.gamasutra.com/blogs/DanStubbs/20140402/214565/Dynamic_Narrative_in_The_Hit.php
Logged
aDFP
Level 0
***



View Profile
« Reply #50 on: September 11, 2017, 02:52:57 AM »

Following on from yesterday's post, here's the street sign placement tool in action. The blue box defines the area where the sign will be placed, and the red box shows the final placement area. First, the tool checks for walls within the blue area, and then building facades. If it can't find either, it will place a free-standing sign on the pavement, otherwise it will analyse the wall or facade to find a suitable place, free of windows or brickwork. I'm expecting this system to work okay about 95% of the time, and I'm placing signs at every junction, so the odd misplaced sign shouldn't impact the gameplay significantly.

When I return to working on the interaction system, I'll be making the signs into 'things you can interact with', meaning you'll be able to store and communicate information. Communicating a street name to a taxi driver will result in asking them to take you to that street, while doing the same with a pedestrian will mean asking for directions.

I'm keeping it 'simple-ish', so you'll only be able to retain a small amount of information at any time, though there'll also be tools to analyse chains of information, which could end up getting very complicated. As I write more of the interaction system, I'll share some more details of how I'm going to keep the game fast and intuitive, despite the enormous quantity of information you'll be able to access. I'm happy with the systems I've designed, but the proof will definitely be in the testing.
Logged
aDFP
Level 0
***



View Profile
« Reply #51 on: October 08, 2017, 01:12:04 PM »

This has been a long time coming, but I've finally started work on the new (and final) characters.


The blocky characters I've been using were mainly a test, so I could get the character generation and destruction systems working properly, but I've always been intending to replace them with more detailed-looking people. The main reason I'm doing that now is that the character generator is starting to give out more information than the current system can represent.


They're still a ways off from being usable in-game though. There'll be a bunch of variations (male, female, muscular, under and overweight, old, young, etc.) to make, and clothes to design, and I've got to write an auto-rigging system that'll cope with the new characters. Damage is going to be an interesting, if horribly gruesome, system to get working with these characters. I might take the opportunity to add in a couple more features, so accurate gibs, bones and internal organs might be a thing soon... maybe. I'm trying to get the game ready for a Steam release as soon as possible, so a few features might have to slide into a post-launch update.
Logged
aDFP
Level 0
***



View Profile
« Reply #52 on: June 25, 2018, 08:49:25 AM »

Apologies for the hiatus, I had some surgery last year, and ended up burning myself out trying to get this game into shape. I stepped away for a while to get my head back together, but I've secretly been back on development for a while. I'll make this into a few posts, because there's a few different things to cover. First up... characters!



I decided to add one more step in between the blocky voxel characters and the ones in my last post. These ones will probably last until a while after release. They're a ways simpler than the system I have planned, and I'm trying to get the game in playable form for release as fast as possible now.

The shirts are actually light blue because I had a bug which was turning all the light grey colours into blacks, which I've since fixed. I'll make some more head and hairstyle variations soon, and probably work in some Reservoir Dogs/Pulp Fiction/City on Fire references.

And here they are in-game (right and below). I'm still working on adapting the old the animation system to the new characters, so these are hand-posed.

I'm also having to write a new gait editor, because the previous animations look lousy with the new characters; one of the disadvantages to having more a realistic style.

If anyone's wondering, I'll definitely be putting the damage system back in, but that'll most likely happen with the next iteration of the characters. Those will be voxel-based, which the damage system requires, while these aren't. I'm planning on making it even more gory, but it'll also be more subtle and realistic.



This is one of the feature locations where you'll be tracking down your targets. Every single building in the city will be a potential target location, but I'm going to try and keep things as varied as possible. So while there will be many residential buildings, shops and offices, you won't end up with 90% of your missions taking place in those.

I've switched over to a new system where every type of has object has a corresponding 'edit object'. Adding more types is a simple process now, as with these paintings. Variables like the canvas size, style, resolution and random seed are inbuilt, with functions to randomise those, so creating sets of paintings takes just a few clicks. The edit object handles all data and interaction functions, so I can concentrate on creating the scenes without worrying about setting up the technical stuff.

Sometime soon, I want to start using these tools in collaboration with other artists, developer and storytellers, so I'm writing them with simultaneous editing in mind. Eventually, I want players to be able to run the game with various combinations of players, artists and storytellers, reducing the gap between creation and feedback to the point where editors can be creating new games in concert with players. I'm very much looking forward to that game jam.

Here's a crowd of randomly-generated characters. I'm only randomising sex, outfits and colours at the moment. I haven't carried over height and weight variation from the old system yet, but they're on the way.

A system for generating different ethnicities (and blending multiple ethnicities, for even more variety/realism) is partly done, but I'll probably wait until after launch to add that. For now, everybody basically has a Caucasian body type with different skin colours, but hopefully the characters are low-detail enough for that not to matter too much.

Because they're made up of separate body parts, things like long coats don't work very well with these characters, so some types of clothing will have to wait for the next version. Ties aren't ideal either (the two halves of the torso can rotate separately, which cuts the tie in two...) but I can't really make a modern-day contract-killing game without suits. I'm considering fixing that with a hybrid system where the torso is a skinned mesh, but we'll see.



Anyway, thanks for checking out my little game. I'm busting a gut at the moment to bring you a new demo, but I'll try and find the time to write up another of these posts. See you next time!

Dan
Logged
Pineapple
Level 10
*****

~♪


View Profile WWW
« Reply #53 on: June 29, 2018, 09:20:23 PM »

!! It's back

I think those character meshes look pretty great

What if you had bow ties instead of long ties?
Logged
aDFP
Level 0
***



View Profile
« Reply #54 on: July 05, 2018, 02:09:04 AM »

What if you had bow ties instead of long ties?

Thanks, that's not a bad idea. I'll keep the ties as they are for now though; I don't really mind the imperfection, and it'll motivate me to finish off the skinned mesh system.
Logged
bacon
Level 1
*


View Profile
« Reply #55 on: July 05, 2018, 05:53:49 AM »

Happy to see this game is still alive! I'm the guy who interviewed you a bit ago for Kill Screen, so I feel like this project in some way is one of those I'm invested in Smiley Anyways, happy to see the progress and hoping to see it come together more and more.
Logged

CANTATA
aDFP
Level 0
***



View Profile
« Reply #56 on: July 05, 2018, 07:09:21 AM »

I'm the guy who interviewed you a bit ago for Kill Screen

Hey Kyle! Good to see you're still watching, and thanks for the kind words.

I took a break for health/sanity reasons, then a longer break from posting on forums & speaking to journalists, but I'm been keeping busy in the background. It's a mammoth task, but it's slowly coming together. There's a few more images and discussion on indieDB (https://www.indiedb.com/games/the-hit) if you're interested, and I occasionally post on twitter (https://twitter.com/dan_stubbs). I'm trying to write some longer, more detailed posts on here, in preparation for launching my new website and a playable release. I'm totally skint, so there might be a Kickstarter or Indiegogo campaign soon, but I'll need to find the time to organise that. I'm mainly just trying to get as much work done as possible on the game.

Anyway, I'm just glad to know people are still paying attention. I'll try and get the next in-depth post done soon.
Logged
Schrompf
Level 9
****

C++ professional, game dev sparetime


View Profile WWW
« Reply #57 on: July 09, 2018, 02:37:23 AM »

I'm, too, still looking out for this game. I'm interested in what difference the voxel tech will make towards the game mechanics. Good to see you're healthy again and back on track.
Logged

Snake World, multiplayer worm eats stuff and grows DevLog
aDFP
Level 0
***



View Profile
« Reply #58 on: August 02, 2018, 08:59:58 AM »

Hey, thanks Schrompf!

I've finally gotten round to making a new website for the game, and putting a free version of The Hit online. Here's the link if anyone wants to skip reading and go download it.


The free version is a bit bare-bones right now, but I'll be gradually populating the city and adding gameplay features over the coming weeks. There's a lot to go in already, and a bunch more that only exists in prototype form. This version also has no inventory, so interactivity will be minimal.  It will have everything else from the main game, however, including NPCs, interiors, vehicles and everything else I add.


What it does have is a development gallery (just look to your left as you leave the hotel), where you'll be able to learn about all the different systems I'm creating, and see how the game has developed from early versions to where it is now (and where it's going next). I've been very lax when it comes to updating my devlog, so this will be somewhere I can write about the game without ever having to leave Unity. Again, I'll keep adding to that as I go. I already want to add some 3D models and a couple of walk-in environments, as well as another floor to talk about the narrative system.

Here's a quick preview of what's already in there.















« Last Edit: August 02, 2018, 09:10:30 AM by aDFP » Logged
Zireael
Level 4
****


View Profile
« Reply #59 on: August 02, 2018, 10:01:31 AM »

"without having to leave Unity". Wow, so this is a Unity game? I'm impressed!
Logged
Pages: 1 2 [3] 4
Print
Jump to:  

Theme orange-lt created by panic