All Activity

This stream auto-updates     

  1. Past hour
  2. Unity is quite popular these days.
  3. Thank you! Was working on this since writing but wasn't getting anywhere. I'd just given up when I read your message, figuring I'd wait until I'm smarter. Replaced my ridiculous, non-functional code and it works Now I just have to figure out why to actually use + and - and .zy vs .yz since I just trial-and-errored it. I'm sure there's a reason cubemap filtering goes so slowly. But at least I've already found things to read and try when it comes to that, so hopefully I won't get stuck.
  4. Does violence stem from video games

    Lemme fix just one phrase: Someone white does something horrific. People want to see what is different about them, what triggered the horrific behavior.
  5. I'm trying to find a way to check which frameworks, tools and game engines are popular, mainly because I'm trying to decide which programming language to learn, which would stem from would stem from which tool I'm going to use. Any advice?
  6. Today
  7. Where to start making a game in assembly.

    You want to make it in C or in Assembly? Both are programming languages and, thought it is totally possible to write a game in assembly, is it recommendable? No. Not just because it takes a lot of work do get done, but maintainability is also difficult. As for in C, you can do it. Lazy Foo has some very practical tutorials with SDL2. But, your problem here doesn't seems to be (only) language, but lack of understanding of game architecture. For that, I think this is a good read: The topics State, Game Loop, Update Method and Object Pool are, in my opinion, the most useful to understand how to design a (good) game architecture (at least as a start point).
  8. Present is blocking 10x longer than if it were in immediate mode. D3DPRESENT_DONOTWAIT flag doesnt work either. It isn't jittery, just latency by present blocking. Default render target and swap chain.
  9. Deserted Island: A Quest For Survival

    @D Gyani Please stop spamming the Forums. Go to Your Announcements > Post there and delete your other posts please. Thank you.
  10. Hey everyone! Please checkout this game below: Youtube Demo Video Link To Google Play Store Link to Apple App Store Deserted Island: A Quest For Survival is a FREE survival and strategy game, where you have one objective: survive the island your plane crashed onto, repair the broken radio and call for rescue. You need to gather various resources like pine logs, lime stone etc., cook your own food, craft rudimentary weapons, nails, screws, bolts to repair the radio. Wild animals, hunger, thirst and cold all work against you. With a limited supply of guns, simply shooting the animals is not an option. Your world has turned upside down, you need your wits about you, decide crafting which weapon will help you stay alive longest. Ofcorse if you are a vegan, you can grow your own pumpkin farm, forage berries and cook them
  11. Hey Everyone, Its Anthony (the one in the video) just wanting to drop a game development update for our new project ROY. Feel free to leave a comment or any advice on the game, any feedback is good feedback for us. Thanks for watching! Hope to hear from you soon! ROY Game Dev Video #1
  12. Ok, that is what I was thinking. It's the only thing It makes sense to me, at least. Thanks!
  13. Expectations for all your code, always

    For personal code, pfft. If it compiles and does what i want it to do, then it's Part 1. That's it. I'm good. But for code that I'm sharing with other people, like on GitHub. With the intention of them using it in their projects. Or even more grave, code i'm putting out on production. Yeah, I gotta do as much of Part 2 as possible. I am not very good at logging errors. In fact, honestly, I avoid it. Part of the reason why I put it up there. I need to git gud. Plus, not logging has bit me in the bum more times than I can count.
  14. Getting the cubemap face + UV coordinates from a direction vector is fairly simple. The largest component determines the face, and the other two components are then your UV's after you divide by the max component, and then remap them from [-1, 1] to [0, 1]. Here's some example code for you from one of my open-source projects: template<typename T> static XMVECTOR SampleCubemap(Float3 direction, const TextureData<T>& texData) { Assert_(texData.NumSlices == 6); float maxComponent = std::max(std::max(std::abs(direction.x), std::abs(direction.y)), std::abs(direction.z)); uint32 faceIdx = 0; Float2 uv = Float2(direction.y, direction.z); if(direction.x == maxComponent) { faceIdx = 0; uv = Float2(-direction.z, -direction.y) / direction.x; } else if(-direction.x == maxComponent) { faceIdx = 1; uv = Float2(direction.z, -direction.y) / -direction.x; } else if(direction.y == maxComponent) { faceIdx = 2; uv = Float2(direction.x, direction.z) / direction.y; } else if(-direction.y == maxComponent) { faceIdx = 3; uv = Float2(direction.x, -direction.z) / -direction.y; } else if(direction.z == maxComponent) { faceIdx = 4; uv = Float2(direction.x, -direction.y) / direction.z; } else if(-direction.z == maxComponent) { faceIdx = 5; uv = Float2(-direction.x, -direction.y) / -direction.z; } uv = uv * Float2(0.5f, 0.5f) + Float2(0.5f, 0.5f); return SampleTexture2D(uv, faceIdx, texData); } I don't think there's any simple matrix or transformation that will get you UV coordinates for a cubemap that's set up as a "cross". It would be easier if you had all of the faces laid out horizontally or vertically in cubemap face order(-X, +X, -Y, +Y, -Z, +Z), but if that's not possible then it should be possible to do a bit of extra computation to go from face index -> cross coordinates. From there doing bilinear filtering isn't too hard by just treating the texture as 2D, but smoothly filtering across cubemap faces requires all kinds of special logic.
  15. Expectations for all your code, always

    I'm terrible at writing code. Always have been, and while for some time there I was improving, in recent years I've been getting worse, I think. I can usually write something that achieves what I need it to do, but when it comes time to polish, cleanup, formalize the tests, and expunge the warnings... heh. Yeah, THAT will happen. Sure.
  16. Hello everyone, For learning purposes, I want to try to make a small graphical snake game in assembly. I've thought about where to start and which tools to use and personally I thought about using SDL and C to handle the keyboard input and the graphical output, but I would really like to know from other if there are better/easier ways to do this. Thanks
  17. Does your employer have a lawyer you can ask?
  18. If this is your own/company IP why would you be worried about lawsuit?, seems like the worry should be about usage rights for your content. I mean, if it does happen then I would think that being the IP owner would be in your advantage. With that being said, I"m not a lawyer so that would be something that you would want to seek legal counsel on.
  19. I wouldn't think so..glMapBuffer maps the entire buffer into the address space of the process, while glMapBufferRange maps only a range. Now, lets consider you have a buffer thats several 100 MBs in size ( just an extreme though possible ), now when you map this buffer using glMapBuffer, whenever the buffer is unmapped, there is the potential that this entire region is now dirty and will have to be flushed back to the source. In reality its a little more involved than this as the mapped memory should be backed by paged memory so at least only dirty pages should be flush ( don't really know if this is how the driver does it ). However, if you have some knowledge of how the buffer is being used, then glMapBufferRange makes more sense as now you limit how much data that has to be synchronized with the server upon unmapping/invalidation. I have not personally measured and compared the performance of both, but the voice in my head keep telling me that glMapBufferRange should be more Hope that helps.
  20. Does violence stem from video games

    I think that's mostly confirmation bias. Someone does something horrific. People want to see what is different about them, what triggered the horrific behavior. They look at a long list of things, and focus on the things that they personally think are abnormal or problematic. When they find the things they think are atypical, since the person who committed the horrific actions also participated in that thing perceived as bad, the person mentally affirms that the two are linked. The common motivations I see for most of the mass shootings tend to be a long series of abuses and harassment. The link above to Winnenden lists that as among the major motives: Bullying, personal stress, depression. That short list is common to many mass shootings. Abuses at the workplace that are not addressed by management, abuses by classmates that are not addressed by administrators, abuses by people who are outside their group that are not addressed through proper channels. Their tormentors tend to be the preferred targets. It certainly is not all mass shootings, there are other motives for some, but it is a common motive. The links to studies showing people don't feel violent after playing violent games were on the last page. People generally feel competitive feelings, the same as they would after any other competitive match, from an intense football game, an intense tennis game, to an intense chess match. All tend to carry on feelings of victory or of defeat, not of violence. Many people are surprised to learn violent crime rates have been going down for twenty five years. Looking at a per-capita basis, 2016 continued the downward trend being the lowest year on the trend line that has been dropping since 1991. 2014 was 2946, 2015 was 2885, 2016 was 2847. Violent games have become more and more common since the early 1990s, and violent crime among people who play games (nearly everybody) has been on a steady downward trend since the same timeline. There are far too many variables to put it on any one thing, but that trend line has a near-perfect correlation to the availability of violent games. If there were a positive correlation then there should have been an increase on violence as violent games became widespread, with notable bumps in violent crime after violent games were released. Fine-grained studies show instead there tend to be small dips in crime after major games are released, although even those are hard to show anything beyond correlation which could be due to many factors. So getting back, YES games will influence a person's behavior. But NO, violent games will not cause or induce violent behavior or violent crime, as shown by several studies and by crime statistics.
  21. Dungeon Crawler Level

    What kind of dungeon crawler? Poe/Diablo style or more similar to gauntlet? Will the traps be a core part of the game or just a flavor?
  22. Calculating direction after circle-circle collision

    Nope, impulse = mass * velocity. Not velocity divided by mass. You are also not taking the rotational effects into account. E.g. the inertia contribution seen by the impulse at the application point in the direction of the normal. This is sometimes referred to as effective mass. float EffectiveMassInv = 1/m1 + 1/m2 + dot(n, InvI1 * n) + dot(n, InvI2 * n); float EffectiveMass = 1 / EffectiveMassInv; Then you can compute equal and opposite impulses on each body like float Lambda = EffectiveMass * -RelVelocity; Body1->ApplyImpulseAt( -n * Lambda, ContactPoint ); Body2->ApplyImpulseAt( n, Lambda, ContactPoint );
  23. Both functions are available since 3.0, and I'm currently using `glMapBuffer()`, which works fine. But, I was wondering if anyone has experienced advantage in using `glMapBufferRange()`, which allows to specify the range of the mapped buffer. Could this be only a safety measure or does it improve performance? Note: I'm not asking about glBufferSubData()/glBufferData. Those two are irrelevant in this case.
  24. Right, its not an impulse at all! My bad. Its a minimum translation vector! An impulse would be at the relative velocity projected along the direction divided by the sum of their masses.
  25. Editor - Local vs Global

    Thanks for the response - so I can second that it definitely is viable to get some sleep first and think about it the next day (prevents huge amounts of confusion). I've written it down on the paper and it makes a lot more sense now. Given a world matrix W: 1 0 0 0 0 0 -1 0 0 1 0 0 0 0 0 1 and transformation matrix M: 1 0 0 0 0 1 0 5 0 0 1 0 0 0 0 1 a result of W * M would be: 1 0 0 0 0 0 -1 0 0 1 0 5 0 0 0 1 Which is correct - the resulting matrix is M applied to transformation W in local coordinates. Now if I want different basis R - I need to transform M into it and then back from it like - R * M * inv(R) - which is pretty much equal to what you wrote (although I don't want to undo W transformation) - so, when I want global coordinates, my basis relatively to W is inv(W) - therefore W' = W * inv(W) * M * inv(inv(W)) = W * inv(W) * M * W = Id * M * W = M * W To proof this: M * W would be: 1 0 0 0 0 0 -1 5 0 1 0 0 0 0 0 1 Which is correct. Anyways thanks for the response - I actually don't want to undo W, but apply another transformation to it (e.g. I want W' = W * R * T * inv(R) in terms of what you wrote). Note. for my description I'm using standard math definition for multiplication - AB = A * B, AB[i, j] = sum from k=1 to m (A[i,k] * B[k, j]) - first index is row, second column. Column vs Row major terms tend to confuse people imo (even though it's just about how data are laid out in memory).
  26. I assume you are directly modifying position of objects? If that is the case, you should make the AI set applied force or velocity, for example. Not the position itself. It's a common mistake with many physics engine with broad-phase (engines that will solve the position and angle of objects, the reactions).
  27. Calculating direction after circle-circle collision

    This obviously has not the dimensions of an impulse.
  1. Load more activity