Jump to content

nick.ace

Members
  • Posts

    647
  • Joined

  • Last visited

Everything posted by nick.ace

  1. One problem I found is that there is no way to change the crouch height which creates a big problem when you want the character to go into small spaces such as vents. A command such as SetCrouchHeight(float height) would be ideal.
  2. Nevermind, I wasn't looking at the right map. You can delete this thread, sorry about this.
  3. That's probably a good way to do it. Pivots are pretty powerful for methods like that. If they are grid-based rooms, then you might not even have to do that. Usually, grid-based approaches are easiest for procedural generation since they are easy to line up. If you are talking about adding doors after the level is generated, then the method you described would probably work best.
  4. Well, I just did something stupid. I renamed my camera entity today, and replaced the old one with a pivot.
  5. 2 related bugs: I'm on the beta branch, but I cannot start the Advanced Shooter template. When I start a new project, I select that choice, but I get the Tutorials option instead (all 9 of the tutorial maps are there). The undocumented command SetDebugPhysicsMode(true) appears to be broken (unrecognized by the Lua interpreter). imo this should really be a standard command because it's too hard to debug the character controller without it. Either way, the FPSPlayer.lua controller used it, and it might break compatibility with that script (that's why I was checking to see if this command has been totally removed).
  6. It would be nice to be able to click on sound icons to play a sound in the Assets tab in the editor.
  7. What is your CPU and what are you budget constraints? Also, do you have a desktop (because that card you put in the first post I think might be a laptop card if i'm not mistaken)? If you have a laptop, upgrading might not be that easy.
  8. idk why I thought it was a string. Anyway, this works: Map::Load("testmap.map", &Loading);
  9. http://stackoverflow.com/questions/10532978/difference-between-nvidia-quadro-and-geforce-cards http://www.engadget.com/2014/04/11/construct-cg-rendering-nvidia/ http://forums.autodesk.com/t5/installation-hardware-os/geforce-vs-quadro-benchmarks-actual-tests/td-p/4102908 I did some research into this because I was curious. Most people seem to agree that Quadro cards are over-priced for containing what is simply a repackaged GeForce card because they are sold to large corporations. However, there are some issues with Quadro cards including benchmark results that indicate it suffers from a much lower framerate than GeForce cards for games, and only a modest increase in framerate for modelling applications (although to be fair, Maya and 3DS Max aren't great benchmarks). Anyway, it seems that people who use CAD software don't seem to have problems with GeForce cards for the most part (but if you require high-precision calculations, then Quadro is the way to go, but games typically don't need this). Quadro cards also have quicker double calculations due to hardware that supports it (which I guess helps with simulations). Quadro could be useful for scientific calculations as well it seems (since GPUs can be used for other things besides graphics). I'm not sure what you mean by this. If you want to buy a card for gaming or game development, purchasing a Quadro is not the way to go (more expensive, less powerful, and could have compatibility problems).
  10. Sorry to revive this old thread, but did anyone ever get the C++ hook to work? This is basically what I have (obviously I left out all the surrounding code, but that shouldn't have any impact on this): void Loading(Entity *e, Object *o) { System::Print("it worked"); } bool App::Loop() { Map::Load("testmap.map","Loading"); } Am I calling the hook function correctly?
  11. I remember getting this issue before. Two things could be happening (idk what the specifics of tables are): -An empty table is just a nil entity, so you can't get the length of it -The table hasn't be registered as a table yet in the code Either way, you should be able to fix this issue by checking to see if the table is nil (instead of its length): function Script:Collision(entity, position, normal, speed) if speed>self.threshhold then if self.sound~=nil then local collisiontype = entity:GetCollisionType() if collisiontype==Collision.Prop or collisiontype==Collision.Scene then local t = Time:GetCurrent() if t-ImpactNoiseLastSoundTime>self.maxfrequency then ImpactNoiseLastSoundTime=t local n=math.random(#self.sound) local noise = self.sound[n] self.entity:EmitSound(noise,self.range) end end end end end
  12. Lol don't know how I missed that, it's been a long week...
  13. Yes! The sunglasses one! What keyboard code do you use? You can change shader values in real time with the commands here, so you could adjust the contrast or bloom effects (I think the .lua that accompany some of them also allow for this). Shadmar does a great job at writing the shader values at the top of each shader (so does everyone else, but I believe Shadmar wrote the bloom shader ) so that they are easy to edit, but if you pass a value in as a uniform, then you don't need to recompile (not sure how much you know about shaders): http://www.leadwerks.com/werkspace/page/api-reference/_/shader/
  14. Personally, I really like the bloom, fxaa, contrast combination! I don't like when there is thresholding for blocky surfaces because that cuts up the color flow, and the outlines are too dominant in the toon screenshot. I love the voxel-based art though. Keep up the good work! (Also, how do you do the cool emoticon? lol)
  15. It's the displacement map. Displacement maps change the perceived geometry, so you get warping effects on edges like this, but a normal map won't do this since normal maps only take into account the lighting properties of the surface.
  16. I don't know about that. The behavior could be trying to emulate forking (basically copying while retaining state), which is also a type of copying. However, from a few tests, neither seem to be an intuitive behavior: Looped functions (such as UpdateWorld() and UpdatePhysics()) are where the calls start from (so yeah Start() is skipped) Variables reinitialize (so the copy acts like a fresh entity) These behaviors should be defined better in the documentation or one of the paradigms should be chosen imo.
  17. I would say AT LEAST as much as the engine. It really depends on how demanding your game is (what shader effects, polycounts, etc.). Ideally, you would want to have tested the game on the entry level machine for your game. I know I can't typically play the types of games I make on the lower end of the spectrum without a very low framerate, for example. So I would use my specs as the baseline in that situation. But it all matters what you have in your game.
  18. Thanks! I actually saw those slides and a few others from Valve a few years back. I'm amazed at the number of picks that they perform with the number of zombies that they have and are still able to get good performance. My AI has a similar thing going on (the parkour example in the Workshop uses a similar method) to get over edges.
  19. Aw, good point! Never thought of doing that! Thanks!
  20. I'm running into a problem with pathfinding where you have a ledge like this: <- enemy ----------- player | ---------------- The problem is that if the ledge is big enough, a path can't be created (which makes sense). However, GoToPoint still returns true (presumably because the point that the enemy is trying to go to is on an unconnected navmesh). Anyway, all I need is for the enemy to be able to walk over the ledge. How would I recognize that the enemy reached the edge of the upper platform though?
  21. Aw I see! I guess if you can break it down into chunks, that would help, but I still think it would be beneficial to use repeating meshes whenever possible.
  22. I'd imagine that one big model would be worse in that situation though. You wouldn't get hardware instancing to help you out or occlusion culling. Yeah, the engine would only have to deal with one transformation matrix, but I can't see that tradeoff helping you out in the long run.
  23. Why wouldn't SetParent() with the child just work?
  24. If you choose to use TrueBones, take it with a grain of salt. Also, make sure you read their license though, because those are EXTREMELY important. I use a lot of bought assets as well, but like you said, it really is impossible to determine where it originally came from. Here's a good article: http://gamedevelopment.tutsplus.com/articles/understanding-licenses-or-can-i-use-this-asset-in-my-game--cms-22510
  25. It would be nice to be able to set the stiffness of joints. Right now, things like ropes and ragdolls aren't really possible because everything looks like a rubber band.
×
×
  • Create New...