Joewintergreen

Members
  • Content count

    698
  • Joined

  • Last visited

Posts posted by Joewintergreen


  1. What happens if you fire a water arrow at a guard holding a torch? Will he freak out and start flailing around in the dark, potentially resulting in unfortunate guard-on-guard violence?

    Haha, good idea. Right now his torch just goes out and he acts normal


  2. That does look really rad. I should look into PP more one o these days, all I've done is some distortion stuff 

     

    Here is a cool thing I did the other day with AI for my stealth game. I made it so that if a guard hears a sound that he doesn't know what it was, and can't see the player, he'll check for torches nearby and if there is one, he'll go grab it, then investigate the noise (move to the location of the sound). They don't bother with a torch if the torch has been doused, or if they already have fire arrows, because they can see by that light. The awesome thing is, this accidentally made it so that if a guard doesn't have a torch, and hears a noise he wants to investigate, he can go steal a torch from a guard who has one. It is lol.

     

    torchgrabnearest256.gifwhogoes3.gif


  3. I find it weird that you're saying, "this is probably a douchey thing to do but" and then reasons why you think it's okay. Do you not think it's douchey, or do you just think you're a person who's okay with doing douchey things?


  4. I just finished the second fleeing sequence, and

    I found it a bit annoying; a lot of the stuff was badly signaled, and every time I got past a new obstacle I knew I'd die again right after, hoping to decode what the hell they wanted me to do next.

    After finishing it, I was mentally exhausted.

    yeah exactly this. most frustrating part of the game for me. 


  5. I've been working with UE4 for about the same amount of time, and while I don't disagree? per se and I certainly agree that that was the case with Kismet (and they shouldn't have been pushing it as a "make games without writing code!" thing the way they did), Blueprint is much more powerful and for a lot of people, their work isn't going to benefit from using C++ over blueprint. For me (and I suspect most people), well-organised blueprints will probably always be more legible and explicable than code, and the benefits of accessibility, speed, and workflow that you get with Blueprint are going to outweigh the considerable performance benefits of C++ in most practical situations.

     

    I guess I just would caution people similarly in the other direction, away from the "oh, you need C++ for anything serious after all" direction, and as usual the most useful strategy is probably somewhere in the middle.


  6. The save mechanic is actually rad once you get used to it. You can save pretty much anywhere as long as you have enough energy to make a save point, and then you can go back to the save point and save there until you make a new one.

     

    Also, all the animations in this game and a lot of the design are by James Benson, the guy doing most or all of the animation on Firewatch, also who animated the whale in my game Influx


  7. Not to bring the thread down, but do you think that guy actually killed a cat, or that he just makes this call to every missing pet poster he sees to upset people?

    No idea, but I really hope the latter


  8. Here is Oscar. I started seeing him a few years ago when he was a feral kitten living under my house. Eventually I trapped him in the laundry and tamed him. It took a few weeks before I didn't have to handle him with thick gardening gloves but after a couple months he was a total sweetheart. He went through a pretty long phase of not eating unless I was personally standing next to his bowl. A while back I left him with some friends while I went overseas, and they unexpectedly couldn't keep him and had to hand him off to some less reliable friends of friends, and they lost him. He wasn't seen for over four months, and then someone found him and took him to the vet and I got him back. I am super lucky.

     

    A while later some guy called up all "You still looking for that cat? Because I just killed one just like it." People are strange and awful.

     

    10389238_10152667103722819_4513971199394

    11006397_10152906587437819_5644381811630

    10959719_10152892390792819_5004841913689

    10998856_10152906589662819_7435743959252


  9. Thanks guys!

     

    I struggled a bit with the light/shadow system and doubt I have the most efficient solution but it goes basically like this: I get a list of all the light actors in the world on game start, and update it very rarely, like every 30 seconds (number of actual light actors rarely if ever changes). For any lights where lightdistancefromplayer < attenuationradiusofthelight, I do a trace from the player to the light's location, and if the trace hits anything (meaning something visible lies between the light and the player) I disregard that light. For the remaining lights (so all lights which are within their attenuation radius from the player and aren't occluded) and also the directional light if a trace determines it's unoccluded, I do some math based on the light intensities/attenuation radii/falloff exponents to end up with a LitAmount value for the player between 0 and 1 where 0 is completely dark, 1 fully illuminated, which is the light gem value printed in white at the top of the screen. 

     

    This approach doesn't completely work for times when I'm being illuminated by lightcomponents rather than lightactors, which is often, because I have a lot of blueprints with lightcomponents - the torches and windows in that video mostly - and you can't get a list of every lightcomponent in the world the way you can every lightactor, and that wouldn't be super efficient anyway if I had to update that list a lot. So I have a custom component called DummyLightComponent which gets placed on every blueprint that has a lightcomponent, and automatically inherits that lightcomponent's values for intensity, falloff and attenuation. Every so often if the DummyLightComponent is within its attenuationdistance from the player it adds itself to an array of dummylightcomponents on the player (this is the usually-0-or-1 value being constantly printed in the video in blue), and removes itself when it becomes irrelevant for distance/whatever reason. The array of dummylightcomponents gets the same math done to it at the playercharacter's end and contributes to the LitAmount in the same way.


    So the downside of this is there's some amount of overhead for every light source in the game even when it's not in range, but it's only to the tune of every so often (not every tick) checking the light's distance from the player to see if it's become relevant to stealth, going no further if it's out of range. I have no idea how much overhead that is but I wouldn't imagine much, particularly if I'm not doing it every tick. However obviously it's going to grow with how many lights are in the level, which isn't going to be a negligible amount. Anyway, I try to mitigate it by having an "irrelevant to stealth" bool on my light-containing actors that I can check if the light is out of player range/not near a situation where stealth is relevant/whatever, in which case the dummylightcomponent is actually removed and doesn't tick. Also, if the last time a light checked the player's distance, it was above a certain amount, it will check less often, tuned omre or less so that the time it takes for a light that thinks it's far from the player to update is slightly less than the time it would normally take for the player to cover the distance to stand near it. So theoretically, you never get a situation where a light isn't updating the player's LitAmount when they're standing near it and it's unoccluded, and most lights in the scene aren't going to have a significant performance hit.


  10. I still have no idea how my ladder system sold/is selling, but yesterday I went ahead and did a very similar system for handrails. I even modelled these ones myself! I'm no modeler so I'm pretty happy with how they turned out.

     

    16116037774_5e3de6c545_b.jpg

     

    This and a bunch of other stuff I've done in ue4 recently are on me blog