Ultima underworld had a strength meter where you would hold down the button and strength would increase and deal more damage. as i remember the eyes on that HUD cretaure turned from red to yellow to green. and it was your choice when you would release the punch. i am not sure how old you are or if you ever played it. it sure is a fun game even these days and even if the graphics are dated.
i am not saying you should follow the game concept but it is worth to think about this part of the game - close combat
other variant are various number calculation of chances & damage (eg. morrowing and others) or like oblivion where you always hit but damage is based on skil. or like moun&blade where it's based on where you hit and skill.
Old enough to have played UU, but just never got that into it.
Damage from melee weapons (and ranged weapons) is already semi-random with each weapon having different damage ranges.
I could definitely do something like holding down the left mouse button (right mouse button is used for blocking) to build up damage, but allow the player to release the damage at any point. The damage build-up would probably have to be non-linear, otherwise there wouldn't be any difference between doing one big attack or several smaller (and quicker) ones. Could be neat.
New name, same game
June 23rd, 2014
This is something I've been considering doing for more than a year, and now I've finally decided to pull the trigger (pun intended). I'm changing the name of
Hostile Takeoverto Hidden Asset.
There are two primary reasons for this name change:
There's a lot of stuff out there already called "Hostile Takeover". The Syndicate co-op, a board game, sci-fi books, movies, etc. It's a name that's used for a lot of entertainment products, and as such it's just too generic.
The name also poorly describes the actual game I'm making. I've had people think that it's either a corporate strategy/RTS game or an all-out action game. It's neither. It's a stealth game with a focus on puzzle-like level design. Having a name that suggests a different game than the one I'm actually making probably isn't a good idea.
The name Hidden Asset is a much better fit. It still suggests a game that has something to do with corporations and businesses, but instead of making you think of an action game, it makes you think of secrets and stealth... and conspiracies, which the game will have its fair share of.
The corporate assassins in-game are also referred to as hidden assets, so the name makes sense from that perspective as well. Finally, I've been able to find practically no other entertainment products with this name, so that's definitely also a plus!
So there you have it. Hope you like the new name as much as I do!
Currently working on the night club on the floor above the restaurant. Your first assassination target is throwing a private party there to celebrate his birthday. Guess it'll be his last.
A* pathfinding with weighted tiles
June 30th, 2014
Until now, NPCs in Hidden Asset didn't care whether they walked on the road or sidewalk. When finding a path from one spot to another, they'd always choose the shortest path. But having NPCs walking in the middle of the road without a care in the world is pretty immersion-breaking. So I had to implement some kind of way of having NPCs prefer walking on the sidewalk. This turned out to be much simpler than I had anticipated.
A* pathfinding works by checking potential paths between nodes until the destination is reached. For each node, you store how far you've traveled to reach that node. When the destination is reached, you just backtrack through the nodes with the smallest 'distance traveled' value. This gives you the shortest path to the destination. For my purposes, each tile is a node.
The distance traveled can just be 1 for each tile. So if you move through 4 tiles to reach the destination, the distance traveled will of course be 4. But because the pathfinding will choose the shortest path, changing this 1 to some other value for specific tiles or situations can have huge effects on the final path found.
One example of this is that I don't give the same value when moving diagonally as when moving straight. While moving straight results in the 'distance traveled' to be increased by 1, moving diagonally increases it by 1.4. This is quite simply because you're moving further when moving diagonally across a tile that's a rectangle than when you're moving straight across it.
A Pascal code example:
This code snippet takes the 'distance traveled' value (G) of the current tile and applies it to the next tile while increasing it with either 14 or 10 depending on whether or not it's a diagonal movement (I use 14 and 10 instead of 1.4 and 1 in order to stick to integers -- the individual values don't matter, they're only important in relation to each other).Code:IF MovingDirection IN Diagonal THEN Tile[NextLayer, NextX, NextY].G := Tile[ThisLayer, ThisX, ThisY].G + 14 ELSE Tile[NextLayer, NextX, NextY].G := Tile[ThisLayer, ThisX, ThisY].G + 10;
However, I can also say that moving across a road tile will increase the 'distance traveled' value by an additional 10. The result of this is that an NPC will only choose to move across a road tile if sticking to the sidewalk means that he'll have to walk at least an extra 10 tiles. Furthermore, I can tell the pathfinding that if there's a pedestrian crossing on the road tile, don't add the road 'penalty' to the pathfinding.
So I add a function call to the above code. This function returns the 'penalty value' for a given tile.
Note that I only add these tile 'penalties' if the pathfinding function was called with WeightTiles defined as TRUE. I don't add this tile weighting when pathfinding for the player character, for example, as it should be up to the player to decide whether or not to use the sidewalk and pedestrian crossings.Code:IF MovingDirection IN Diagonal THEN Tile[NextLayer, NextX, NextY].G := Tile[ThisLayer, ThisX, ThisY].G + 14 ELSE Tile[NextLayer, NextX, NextY].G := Tile[ThisLayer, ThisX, ThisY].G + 10; IF WeightTiles THEN Tile[NextLayer, NextX, NextY].G := Tile[NextLayer, NextX, NextY].G + TilePathingWeight(NextLayer, NextX, NextY, MovingDirection IN Diagonal);
The result of all this is that characters will stick to sidewalks and pedestrian crossings, but if they really need to cross the road and they're far from a pedestrian crossing, they'll still choose to cross the road instead of taking a long detour. Here's my NPCs demonstrating safe traffic behavior (though they don't care about red lights):
Another use for this would be to have characters walk around corpses instead of over them. If there's a corpse on a tile, just add 100 (or some other large value) to that tile's penalty.
I got back from vacation about a week ago but have only now had time to write a new blog post. First of all, I had an awesome week in Berlin. Germany won the World Cup the evening we arrived, so we just managed to catch Super Mario Götze scoring the winning goal and then went out into the street to celebrate with the rest of Berlin. What a great way to kick of a vacation!
But anyway, one of the big reasons for this late blog post is that this site (and a few other of my sites) was hacked on one of the last days on vacation. So the first couple of days back was spent cleaning up this hack, which was a result of a security hole in the MailPoet newsletter plug-in for Wordpress. This security hole has since been fixed in the plug-in, which is why I'm still using it, but it resulted in all php files across this and other of my sites being infected with some code that was most likely meant to redirect to less sober websites but just messed up Wordpress completely and resulted in blank pages.
It took a couple of days to clean out all the injected code as well as a couple of backdoors -- and reinstalling some parts of Wordpress and the forums. Since the Ascii Sector site also got infected, I decided to use this as an opportunity to merge the forum over there with the Laserbrain forum, since the Ascii Sector forum was an old phpbb forum that's no longer supported and could prove a risk in itself in the future.
With all that being said, I did manage to do a bit of work on Hidden Asset in the past weeks. Mainly bug fixing and minor things I could look at whenever I had an hour's time in an airport or between sightseeing. I also managed to complete the nightclub on the first map of the game, so your first target is now chilling and celebrating his birthday in the nightclub's lounge before he meets his untimely demise at your hand:
The sitting poses for the randomly generated characters are a bit stiff, but I'll be adding some more relaxed poses in the future.
Next, I'll be working on the final part of the map -- some old train tracks that have become a small village for homeless people. In the opening cutscene, your character will be walking past this area as part of introducing the economic crisis that's ravaging the game's world. And when that's done, I'll be diving into fixing a bunch of A.I. jankiness.
so, how long still before beta?