Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411412 Posts in 69360 Topics- by 58415 Members - Latest Member: sophi_26

April 15, 2024, 10:29:26 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsHidden Asset (isometric stealth/assassination) LIVE ON KICKSTARTER!
Pages: 1 ... 3 4 [5] 6 7 ... 11
Print
Author Topic: Hidden Asset (isometric stealth/assassination) LIVE ON KICKSTARTER!  (Read 66059 times)
jotapeh
Level 10
*****


View Profile
« Reply #80 on: March 05, 2012, 06:31:00 PM »

Looking great as ever, Christian. Keep it up Hand Thumbs Up Right
Logged
JigxorAndy
Level 6
*


Working on Dungeon Dashers


View Profile WWW
« Reply #81 on: March 05, 2012, 08:44:51 PM »

Wow this game looks amazing! I love how the walls go transparent only around the player, and the way multiple floors is handled is really beautiful as well. I'll be following this project.
Logged

Twitter / Dungeon Dashers: Website / Steam Store
Christian Knudsen
Level 10
*****



View Profile WWW
« Reply #82 on: March 06, 2012, 02:07:38 AM »

Thanks guys! Gentleman
Logged

Laserbrain Studios
Currently working on Hidden Asset (TIGSource DevLog)
Christian Knudsen
Level 10
*****



View Profile WWW
« Reply #83 on: March 09, 2012, 03:15:18 PM »

Smooth lighting
March 10th

As mentioned briefly in the last blog post, I've been working on smooth lighting. That's now complete and working as well as I think I'll get it to. Check out these comparison screenshots:

 

 

As I also mentioned in the last blog post, this was somewhat inspired by the Project Zomboid programmer adding smooth lighting to that game (and now I notice that they also posted some comparison screenshots just yesterday!). I believe he accomplished this by overlaying a multiplied and untextured polygon that completely matches the shape of each ground tile, with the vertices of that polygon set to color values that create a smooth transition. I tried this as well, but wasn't quite able to get the same results, and switching the OpenGL blending between normal mode and the multiply mode each frame also added a bit of overhead, so I went for a simpler method where I just supply the smoothing color values to the vertices of the sprite itself, skipping the overlay entirely.

The Project Zomboid method results in much smoother lighting on the ground (there really aren't any hard edges at all), while my method still retains some of the per tile lighting, which I kinda like. It's sort of halfway between the old X-COM hard lighting and the completely smooth lighting of Project Zomboid. I'm adding a toggle to the options menu to turn smooth lighting off if you prefer the old school hard edges.
Logged

Laserbrain Studios
Currently working on Hidden Asset (TIGSource DevLog)
Christian Knudsen
Level 10
*****



View Profile WWW
« Reply #84 on: May 21, 2012, 12:46:01 PM »

Line-of-sight with subtiles
May 21st

I was considering just writing an "I'm still alive" blog post to let everyone know that I'm, well, still alive and still very much working on Hostile Takeover. But that's a pretty short and boring topic, so here's a completely different blog post instead...

I've been working on the AI for Hostile Takeover. I like having a clear goal with the stuff I'm doing, so right now I'm putting the final touches on having a guard patrolling an area (by passing through designated waypoints) and being able to spot and attack you. To determine whether or not the guard can see the player, three factors have to be taken into account: field of view, distance and line-of-sight.

Field of view is simple to implement. You just calculate the angle from the guard to the player and check if it's within the guard's field of view (95° to either side). And distance is applied by having the chance of the guard spotting you decrease as the distance increases. But line-of-sight can be a bit more difficult to implement - especially for a 2D game. With a 3D game, you've already got the geometry set up in the game world, so you can "just" send of a ray from the guard to the player and check if it intersects with any world geometry. But the geometry of my 2D isometric world is a bit more abstracted.

Walls don't automatically have volume, for example. Everything plays out on a flat map with just two dimensions, X and Y. There's no height. No Z-axis. So when a character stops in front of a wall, it's not because that character's hitbox was intersecting with the wall's geometry, as would probably be the case in a 3D game. Instead, the 2D map tells the character that he can't move from tile A to tile B because there's a wall in between.

At first, I tried doing line-of-sight by drawing a Bresenham line from the guard to the player with each point on the line being a whole tile. If this line didn't intersect any walls, there was line-of-sight. The problem with this solution was that it wasn't very precise. Characters are often moving between tiles and are sometimes only partially obscured by a wall, and using an entire tile as a point on the Bresenham line was too low resolution:


So the solution was quite simply to increase the resolution by dividing each tile into subtiles and occupying these subtiles with whatever could break line-of-sight. I decided that a 10x resolution would be sufficient (primarily because characters have 10 frames of animation when moving from one tile to another, so they can occupy 10 different spots in between tiles, which can be represented by dividing each tile into 10x10 tiles). I'm now just drawing the Bresenham line by using these subtiles as points on the line. Whenever a subtile is plotted, the game checks whether or not this subtile is empty or not. If not, line-of-sight has been broken:


I don't have to create subtiles for the entire map, just the single tile that the Bresenham line is currently passing through, so it's neither memory nor processor intensive. To occupy the subtiles, I have a procedure that starts off by setting all 10x10 subtiles as empty, then checking for character, walls and other world objects on that tile. If any are there, the relevant subtiles are filled in.

I believe good ol' X-COM did something similar, but also had a Z-axis for individual tiles, so it in essence had subcubes that the ray was passing through. This, for example, allowed a bullet to pass through an open window. I'm considering expanding my own system to that as well, since I'll most likely be adding functionality for shooting at characters on different levels of the map. But I'll wait and see if it actually ends up being necessary.
Logged

Laserbrain Studios
Currently working on Hidden Asset (TIGSource DevLog)
Christian Knudsen
Level 10
*****



View Profile WWW
« Reply #85 on: May 28, 2012, 03:40:18 AM »

Behind the scenes work
May 28th

For the past week, I've been doing a lot of behind the scenes work on Hostile Takeover. Some of this work has gone into refactoring the code to make it easier to add environmental sprites and data in the future. And a bunch of work has gone into making the map editor as usable and powerful as possible.


Until know, the information for each object making up the game's environment has been spread out across multiple files, procedures and units. To draw a chair, for example, depending on whether the code was running in-game or in the map editor, information about which specific sprite to use (based on the map and/or object's rotation), which texture atlas this sprite could be found on, where it should be drawn on the screen relative to the tile it's on, whether or not the sprite should be flipped vertically or horizontally, and how the object will block line-of-sight - all this information was scattered around in the code. Not only was this highly inefficient from a coding point of view, as information would be duplicated across procedures and files, but adding new stuff to the game would've been a nightmare. I've now split everything into three highly structured files, ensuring that this process will be a lot simpler and quicker.

Adding the individual sprites and objects to the game is only the first part, though. I then have to build a map with them. Adding ground, walls, interactive objects, light sources and characters into a coherent whole can quickly become a messy process, so having a powerful and easy to use map editor is essential. I believe it takes a lot of iterations to make a good and challenging map - and the easier it is to build and modify a map, the more willing I'll probably be to scrap something that simply isn't working, or refine something that isn't quite there yet.

So while my map editor may not look very flashy - and is probably very fiddly to work with if you don't happen to be the guy that programmed it - it does everything I need it to do to build a map as comfortably and easily as possible.


When a map has been built, I'll move to the scripting language to program the effect of the player's interaction with the map, as well as dialogues (between the player and NPCs) and conversations (between NPCs).
Logged

Laserbrain Studios
Currently working on Hidden Asset (TIGSource DevLog)
gecko
Level 0
**



View Profile WWW
« Reply #86 on: May 28, 2012, 07:22:47 AM »

every update it looks better and better!

Also, love this kind of technical posts. Please keep doing it. Thanks.
Logged

Torres Baldi Studio
http://torresbaldi.com
verticalvertex
Level 1
*



View Profile
« Reply #87 on: May 28, 2012, 08:41:36 AM »

Your blog posts are a source of inspiration.
Logged

It's all good.
Dataflashsabot
Level 2
**


View Profile
« Reply #88 on: June 02, 2012, 09:47:39 AM »

This looks neat. I have a question, bearing in mind I haven't read the whole thread: Is it Splinter Cell style stealth or Hitman style stealth? There seems to be a focus on guns and other offensive weaponry; will it be possible to do stuff like disguise yourself and walk around "hidden in plain sight", or poison your target's drink instead of shooting him?
Logged
Christian Knudsen
Level 10
*****



View Profile WWW
« Reply #89 on: June 02, 2012, 01:40:56 PM »

I certainly want to make it more adventure/puzzle focused than shooting/action. I want to force the player to be smart about the way he gets to his target -- preferably killing as few NPCs as possible and instead using the environment for diversions and manipulating the actions of the NPCs. So I guess that's more Hitman than Splinter Cell -- I haven't played Splinter Cell, but I get the feeling it's a lot more action focused.

As my game is isometric and third-person, you'll also have a bigger overview of everything that's happening than you do in Hitman and Splinter Cell. So I'm trying to focus more on the bigger picture with the player thinking multiple steps ahead -- and also spending time just observing the behaviors of NPCs, trying to identify weaknesses and openings.
Logged

Laserbrain Studios
Currently working on Hidden Asset (TIGSource DevLog)
kamac
Level 10
*****


Notoriously edits his posts


View Profile
« Reply #90 on: June 02, 2012, 01:42:49 PM »

Quote
I certainly want to make it more adventure/puzzle focused than shooting/action. I want to force the player to be smart about the way he gets to his target -- preferably killing as few NPCs as possible and instead using the environment for diversions and manipulating the actions of the NPCs.

That's what I like!  Smiley

Hope to see it on humble indie bundle  Tired ... one day...
Logged

Christian Knudsen
Level 10
*****



View Profile WWW
« Reply #91 on: June 03, 2012, 10:43:17 AM »

Let's see if the Humble Indie Bundle still exists when I'm finally done with the game! Crazy
Logged

Laserbrain Studios
Currently working on Hidden Asset (TIGSource DevLog)
Christian Knudsen
Level 10
*****



View Profile WWW
« Reply #92 on: June 04, 2012, 02:08:37 AM »

Covers and crouching
June 4th

This past week I successfully expanded the line-of-sight code to support covers. Objects in the game now have height, meaning that you can hide behind high enough objects - but so can NPCs, so your line-of-sight to a target can be partially obscured when aiming.


It's of course a lot easier to hide behind cover if you can crouch, so that's now in as well. Kind of. I haven't made the animations and sprites for the crouching player character yet, so it's just a stand-in sprite for now. Look at that creepy naked guy hiding behind a wall (he actually kinda looks like a Terminator that's just arrived from the future!):


I won't be making the proper sprites for crouching until after the pre-alpha v0.1 release, meaning that this is also what your crouching guy will look like when you actually get to try it out. Hopefully suddenly being in your underwear won't be all too immersive breaking...

The reason for this is that the crouching animation is a special animation that only the player character will do. The randomly generated NPCs won't have this animation. For these kind of special player animations (as well as NPCs with unique looks), I'll be using a spriting system that's a bit different from the one used for the randomly generated NPCs. As those are randomly generated by combining various clothing sprites, all the various body and clothing parts have to be in separate sprites. But when I'm making the sprites for a character with a fixed look, I don't have to separate them quite as much as they don't have to be combined randomly. Whereas each frame of a randomly generated character currently requires about 40 separate sprites, I only need about 5 for the unique characters. However, as I haven't decided on the final look of the player character, I won't be making his special sprites quite yet. That'll probably be in the second pre-alpha release.

I've also been adding tooltips, shortcut keys, finishing the female hit and die animations, and working a bit more on the map editor in the past week. But I've definitely been most excited about covers and crouching, as that immediately added some fun gameplay elements - even as bare bones as the actual game part of the game is as the moment. It feels like it's really starting to become a game now, as I'm able to crouch behind a wall to avoid being seen by a guard, and the second I stand up, he spots me. The AI still needs a bunch of work, though, as he can't yet shoot at me or otherwise react except for "SPOTTED!" appearing above his head.

I'll have a new development video up next Monday showing all the stuff that's been added since the last video.
Logged

Laserbrain Studios
Currently working on Hidden Asset (TIGSource DevLog)
Christian Knudsen
Level 10
*****



View Profile WWW
« Reply #93 on: June 11, 2012, 04:35:53 AM »

Development Video #17
June 11th

Here's the new development video:





Shown in this video:
 *  Smooth lighting
 *  Tooltips
 *  Containers, keycards and locked doors
 *  Line-of-sight and covers
 *  Crouching
 *  New map edges
Logged

Laserbrain Studios
Currently working on Hidden Asset (TIGSource DevLog)
Christian Knudsen
Level 10
*****



View Profile WWW
« Reply #94 on: June 12, 2012, 07:46:39 AM »

Holy shit!

http://www.rockpapershotgun.com/2012/06/12/syndicatering-to-desires-hostile-takeover/

Shocked
Logged

Laserbrain Studios
Currently working on Hidden Asset (TIGSource DevLog)
eobet
Level 4
****


8-bit childhood


View Profile WWW
« Reply #95 on: July 24, 2012, 05:07:53 AM »

Hitman, Splinter Cell, Syndicate... I don't know... the first thing I thought of when I saw this was the grandfather of them all:





I strongly suspect that nostalgia is automatically going to make me like this. And the interface seem really impressive. The way people walk in pseudo-3D during the aiming is really innovative for this genre, I think. Smiley
Logged

Christian Knudsen
Level 10
*****



View Profile WWW
« Reply #96 on: September 02, 2012, 07:42:53 PM »

Development Video #18
September 3rd

Here's the last development video before the first pre-alpha release of the demo:





Shown in this video:
 *  New test map (still work-in-progress)
 *  Improved AI
 *  Music
 *  Sound effects

There's still a bit of AI work left to do before the test level is fully playable. As is evident in the video, shooting at close range is still a bit wonky, for example. Kinda reminds me of

. I also need to add some more features to the scripting language to have characters in the level react the way I want to certain events.
« Last Edit: September 29, 2012, 09:54:44 AM by Christian Knudsen » Logged

Laserbrain Studios
Currently working on Hidden Asset (TIGSource DevLog)
verticalvertex
Level 1
*



View Profile
« Reply #97 on: September 04, 2012, 12:14:42 AM »

Looks so smooth.
Logged

It's all good.
Christian Knudsen
Level 10
*****



View Profile WWW
« Reply #98 on: September 10, 2012, 10:11:31 AM »

AI, scripting and… stuff
September 10th

Another week of programming done. I added a bunch more functionality to the scripting language, so I can now script the stuff needed for the test map. I also expanded the AI a bit, so that characters will now react to you carrying around a weapon in a restricted area, and when you shoot an NPC that is unarmed, he/she will either run off the map or try to hide - as well as cry out for help, which might attract the attention of nearby guards.

With regards to AI behavior, I also added character types. The most basic types are Guards and Civilians, but I can add whatever type I want (the test map, for example, also has a Receptionist and a CEO). Beyond affecting AI behavior to some degree, this is now also displayed when you hover over a character, along with the character's name:




I also fixed some minor issues with the spawning of random characters and added random name generation for these spawning characters. It uses the same system from Ascii Sector - basically just picking a first and last name from a long list of names from various nationalities. I feel that each character having a name and type gives them a bit more personality, but it's not all that important for the actual gameplay mechanics.

AI work continues this week. I'm almost at a point now where I can play through the test map. There's just still some cases that aren't covered by the current AI system, as well as stuff that needs polishing. The September release of pre-alpha demo version 0.1 still seems possible. The challenge with working freelance in addition to making a game, though, is that you never really know for sure how much time you're going to have to work on the game.
Logged

Laserbrain Studios
Currently working on Hidden Asset (TIGSource DevLog)
verticalvertex
Level 1
*



View Profile
« Reply #99 on: September 10, 2012, 10:23:19 AM »

How do you get the outline around the char? Shaders or prerender?
Logged

It's all good.
Pages: 1 ... 3 4 [5] 6 7 ... 11
Print
Jump to:  

Theme orange-lt created by panic