Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

1148 Excellent

About Ameise

  • Rank
  1. Ameise

    Job Based Rendering

      Doesn't that architecture only allow for two primary threads?     In the example, there are two update loops in different threads: game loop and physics loop.  I don't see why you couldn't have more.     Why not just implement a simple job graph at that point? They're not particularly difficult to write.   In that particular architecture, the more threads you have trying to communicate like that, the deeper the pipeline becomes, so you end up with more latency.
  2. Ameise

    Job Based Rendering

      Doesn't that architecture only allow for two primary threads?
  3.   If I recall correctly, we solved this (trilinear with discontinuous textures) in the past using tex2dGrad, which should be textureGrad on OpenGL... though that was sampling a texture in an atlas, rather than to another texture, so I'm not sure if it would still work.
  4.   As has been said, so long as your heuristic does not overestimate (the heuristic is always less than or equal to the actual optimal path cost) it is guaranteed to be optimal. Also, to note, A* can run faster if you do not require an optimal path, so that's also something to keep in mind... though if you really want greedy best-first search, don't use A* as that has the bookkeeping logic required to keep track of the length of the path so far which is what let's A* not be greedy. Without knowing what exactly he's doing, though, it is impossible to recommend an ideal solution. Floodfill can be used for anything from pathfinding, to image editing, to determining if two voxel volumes connect, to other things. They're all just functionally graph-processing algorithms. There's other ways to do pathfinding as well (that generally couple with A*), including preprocessing certain pairs (jump point search - it basically identifies obstructions and preprocesses the pairs at the corners so you can get around blocking corners with 1 test), using hierarchical space above the nodes to quickly check path validity, and so on. That, and different algorithms are used if your map is dynamic vs static.
  5.   __restrict can be used on references as of Visual C++ 2015. It was one of the things that I was glad that they added. You also can functionally specify member functions as restrict in 2015 (where this is restrict).
  6.   I've seen this come up in profiles before (and have corrected it). Visual C++, at least, has a lot of difficulty with this situation. It treats m_sum practically as a global variable for purposes of optimization in this case, so every single operation done on it in that loop incurs a load-hit-store. In the latter, the compiler knows very well that sum is local to just the function and thus generally just performs the operations on a register and stores it at the end. This can be hugely faster in some cases, depending on what you're doing. While this is bad on x86, on the PPC consoles (like the 360 or the PS3) where LHS were death, this caused major slowdowns.
  7. I recently quit my job in game development where I was there more than two years, in Illinois. My contract had a clause stating that I could not work in game development within something like a 50-mile radius (basically, the entire urban area in this region) for a period of one year. I have a new job not in game development, but want to do game development on the side.   Is a non-compete in this case enforceable - that is, is preventing me from doing game development a "legitimate business interest" in the eyes of Illinois courts?
  8. Ameise

    Reusing abandoned trademarks?

      ?Is this specific to re-using trademarks which were originally created, or to trademarks in general?
  9. Ameise

    Reusing abandoned trademarks?

    Hard to say. A lawyer could probably tell you.     ?True. I will see if I can find a lawyer who will give a free consult - I'd like to avoid paying money on such a trifling issue until I actually have something worth pursuing (like actually registering something).
  10. Ameise

    Reusing abandoned trademarks?

      ?Been there - they no longer list it. I do need to contact a lawyer, though that may end up being expensive for no end benefit. Is there any harm in contacting them ?prior   to speaking with a lawyer?
  11. ?Hello, ? ?I'd like to use an name that happened to be the name of an old, abandoned product of Microsoft. The USPTO lists it as abandoned (it was abandoned over 10 years ago, as well) and MS no longer lists it on their list of trademarks. That being said, I have absolutely no desire to use a trademark that was ever used by Microsoft without express, written permissions, but I cannot for the life of me figure out how to actually contact Microsoft to request clarification on this matter - their website is absolutely useless for this. ? ?Is there any way in which I should approach this, or should I just abandon this name as a pointless endeavor?
  12. Ameise

    Why didn't somebody tell me?

      Unless you're referring to the pronoun ye, which was also the Early Modern English second person plural... as in, "I am talking to ye five gentlemen!".   Also, yes, the y was used in those cases because typesets lacked þorn, so they used y.  There was also another character, eð, which was similar.   *Ye*, the article, is pronounced *the*. *Ye*, the pronoun, is pronounced *ye*.
  13. Ameise

    Why didn't somebody tell me?

      Because it is duck tape. It originally was a tape made using duck cloth. It should not be used on ducts. Duck tape was also the original name.
  14. ?   ?Not always true; you could and often did use DOS extenders (like DOS4/G) which allowed your program to execute in protected mode, giving you 32-bit addressing. Even on the 286, you had four segment registers, so you could access 256KiB of memory at a time. ? ? ? ?Watcom, for instance, included an extender.
  15.   Yup, on certain projects I've certainly seen map/unmap operations build up.   This is a different (and personal) codebase from what I usually work on (which are clients'), so I'm trying to "do things right" - I suspect I'm a bit 'polluted' by other people's codebases that didn't necessarily work well. Forgive my questions if they seem ignorant - I haven't worked on an actual modern, well-performing codebase :(.
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!