Jump to content

  • Log In with Google      Sign In   
  • Create Account

Norman Barrows

Member Since 04 Apr 2012
Offline Last Active Today, 05:06 PM

Posts I've Made

In Topic: CAVEMAN: pet interactions

Today, 05:00 PM

I was trying to suggest something that would avoid players trying to grind at dog-petting, and that kind of situation. 

 

 

not sure there'd be much point. all you have to do is keep relations above zero to keep them from running away. at least that's the only effect i've thought of so far.

 

 

 

Also, why not have a spontaneous NPC triggered minigame opportunity?

 

 

its on the todo list.  make NPC's spontaneously walk up to the player and engage in various dialog actions. on the todo list, one of the examples is "ask to go bowling" from GTA. <g>.

 

already in the game: when you encounter friendly cavemen, their leader may walk up to you and engage you in random dialog (exchange greetings, news, maps, trade, etc).

 

so that will be easy to add as an occasional AI action on the part of friendly NPCs near the player. and playing a mini game will be easy to add as one of the dialog options. 

 

believe it or not i've only got 6-12 features like that left to do and the entire gameplay is DONE! nothing left but final graphics and help.


In Topic: CAVEMAN: pet interactions

Today, 04:52 PM

Can you have an option to use the dog to hunt and follow a scent? E.g. you have some fox hide, you let the dog smell the fox hide and say "find it boy" and they sniff out and track the nearest fox for example. Would be good for finding meat or tracking an enemy caveman...

 

since you can control more than one caveperson, like a household in the sims, the game always stops the simulation and displays a message whenever any band member gets any kind of encounter. this gives the player a chance to react.  i haven't figured out any way around this.   because of this, any critters out there, you will at least already be aware that something is in the vicinity, even if you don't have a visual on it to make a positive ID as to critter type.  animals spawn points are only at caves and rock shelters, and inside caverns, all others are random encounters. so its not so much go hunt for something as it is go to an area with lots of critters and wait for something to wander by. also, since most of the critters are megafauna, a dog can only take on maybe 10% of the types of critters in the game. 

 

if you get an encounter, but don't know where they are or what they are, you can always give your dog an attack or alarm order. this will make it close for attack if it has target. when near their owner they automatically attack targets within 50 feet. but either way, at 20 feet they will decide fight or flight, and will only press the attack against equal or lesser targets.

 

Another one that might be implicit? "Keep guard", you can rest in peace in your camp and if an intruder comes close the dog wakes you.
 

 

that one's already in there. dogs decrease the chance of the party being surprised.


In Topic: collision and astar maps, variable entity radius

Today, 01:32 PM

so are there any other options available besides:

1. clearance based

2. enlarging obstacles on the astar map

3. no diagonal movement

 

how does "clearance based" compare to "larger" obstacles for implementation complexity?   as i recall, when considering options, clearance based didn't sound that straight forward. its a two step check, itsn't it? and the assigning of clearance values, can that be easily computed automatically on the fly for on-demand real-time map generation? or is it more suited to hand edited level maps?

 

i suppose "no diagonal" followed by path smoothing is also an option.

 

if the size of an astar tile was sufficiently larger than the size of an entity, diagonal movement wouldn't clip corners would it?  actually, no.  no matter the size of the tiles, moving diagonally from the center of one to the next with a non-zero radius swept area will always intersect the (potentially impassable) tiles to the left and right along the path. the "padding" must be added at a higher resolution - a smaller tile size.

 

what about a tile size smaller than an entity's diameter?  for collision maps, you just check a bbox of tiles the size of the critter, instead of a single tile. i guess you'd do the same for astar maps?

 

that would let me use just one set of maps at 1 foot per tile for all critters, instead of maps at various critter diameters per tile.

 

EDIT: i double checked the code. astar is using a map with tile size = entity diameter. and it does do diagonal. and it does not "grow" the obstacles by the radius of the entity. so it looks like clipping corners is the issue.

 

suggestions?

 

grow obstacles? clearance based? no diagonal? no diagonal with path smoothing? 

 

took a look at the clearance based article, clearance values and HAA map may not be suitable for real-time on the fly on-demand generation? it looks a bit intense...

 

tried doubling the scale of the astar map vs the collision map. didn't seem to work. but i probably didn't scale up then back down correctly.

 

i'm thinking a single astar and collision map with a tile size of 1, and check a bbox rad=criiter rad of tiles around a tile for both astar obstacles and collision checks. this would mean just one map, and would effectively "grow" obstacles for use with diagonal astar movement. so a tile would only be traverse-able in astar if all the tiles in a given bbox rad around it were traverse-able.   this would work, wouldn't it?    i would think it would be fast enough too.


In Topic: collision and astar maps, variable entity radius

Today, 01:04 PM

Are you generating grids purely for AI purposes?

 

yes

 

you attempt to move from one square to another one diagonally then you're no longer passing through adjacent squares and you will (potentially) clip corners

 

this seems to be the issue.

 

one solution i saw was to increase the radius of all obstacles enough so diagonal movement would not trigger a collision - leading to two maps, one for collisions, and one for pathing with somewhat larger radius obstacles.


In Topic: CAVEMAN: pet interactions

Today, 12:54 PM

I suppose you could have the pet have an xp meter, and each time it filled up (due to the player traveling normally with the pet) the pet would generate an encounter where the player could interact with the pet, and have a chance of leveling up the pet or player in some way?

 

the game tracks relations between band members and NPCs in a manner similar to The SIMs.  i was thinking of making it do the same for pets.

 

in the way of spontaneous NPC triggered interactions for pets, about the only one i was considering was a "pet me!" action when the player was idle. or maybe coming up to you with their ball or a stick in their mouth - an obvious request for you to play with them. or maybe begging for food when you're cooking or eating.


PARTNERS