Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

4141 Excellent

About wintertime

  • Rank

Personal Information

  • Role
    Quality Assurance
  • Interests

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. wintertime

    Cannot define "TextureManager" class

    game.h needs an #include "TextureManager.h" Additionally, its weird to include .cpp files.
  2. I think, your problem is you are mixing up the ECS-philosophy with the OOP-philosophy. In ECS a Component should ideally only have data; the System does the operations on that data each frame. You could then inside the collision-system write 2 loops for any combination of collision-volume-component-types, where inside you know which 2 types you got, avoiding the inner loop type-check and just calling a specialized function to calculate if there is a collision.
  3. Any data from a computer you don't have control over you should regard as compromised. Have the game simulation and scoring run on a server you control, that's the only way to prevent it.
  4. Yes, it's easy for cheaters to read any data from your games memory. That's why it's much safer to use a client-server-architecture for multplayer games, process the simulation on the server side and only send data to the client when it's absolutely necesssary and would be shown anyway. You don't want the client to have information about the positions of opponents/npc which are outside the screen or behind walls.
  5. wintertime

    Dsigning ECS framework for my egnine

    You don't need a GameObject. An Entity exists iff any component with its Entity-ID exists. Now you need to associate an Entity-ID with each Component and there is a few possibilities: - just use the index of the component-vector -> imo not good cause of needing useless holes for syncronizing all component arrays - add the EntityID to all components -> bloats components and may need searches on component-vectors, but if you keep the component-vector sorted by Entity-ID, you can iterate more than one at once in a cachefriendly manner or use binary search for single components - add an index-datastructure for each component-vector -> more complex, but maybe faster depending on what you use (vector, hashtable, ...)
  6. Would you consider to use some sort of the Singleton Pattern for the aggregation of the component tables? He should just write and use a few templates, if he always needs to copy and paste code, which only changes cause of different component types. Singletons woud only add more useless boilerplate code.
  7. wintertime

    Shooting & Catching Edges In Prediction

    Some round data on the server to the same values a client would get after bitpacking, sending and restoring. That should help with determinism. Maybe thats what they meant with ignoring fractions?
  8. You can use a single triangle with doubled side-lengths containing the whole screen and some outside, it will be clipped automatically and is a bit better than 2. Though, for just a single color use glClear, as said above, because it doesn't need a shader.
  9. wintertime

    Redirecting scam ads...

    I had something similar a few months ago. Only way to get rid of it was to force close the browser, try to get the browser to show a new tab on reopening to get access to the browsers UI (which was blocked from appearing by the phishing site) and close the tab from the tab list. It made me stop looking at gamedev on mobile. You could try your luck with adblocking, because IMHO protection from malware trumps helping sites putting such risks on viewers.
  10. I meant you believe in them too much, but whatever, bye.
  11. wintertime

    Any "kids friendly" mobile ads?

    You want to include ads, so I assume you believe they have an effect. If you think they have an effect on people, especially vulnerable ones like children (even if its "just" corrupting them into wasting money), then the logical conclusion is to not include any ads.
  12. I was just pointing out you should try looking outside the box and not focus on a single flawed microbenchmark. Newer API got the potential to be better, but it all depends on the application (how its using it). I'm not interested in giving you another microbenchmark I don't believe in, even though you sadly still insist.
  13. One unusual test is just a single measurement and does not imply that the whole of a complex system (DX in this case) is fast or slow. Btw., with ms you can better measure time single systems take, as usually you would want to measure real world performance in a real application, not a microbenchmark. You could, for example, try to measure without the per frame setup, but as said above this would also be flawed when you measure CPU time not GPU timers.
  14. fps is a useless flawed metric only clueless gamers/journalists use, cause its calculated in a reciprocal and does not add up linearly. % off of fps is even more useless. Use ms (Milliseconds), because they are an absolute metric on a single machine, independent of unrelated stuff happening in a frame! Additionally, several frames of work might be queued up for the GPU to work in parallel and there may be no direct feedback to the CPU, which means you may measure only the queueing if you don't use a GPU-profiler. 1. Is not a fact, cause you use a flawed microbenchmark, probably DX12 got a larger once-per-frame setup cost on your computer which amorties over any normal amount of real work done in the frame. 2. as it should be, was one reason for making the newer APIs 3. see above 4. Don't get your hopes up too much, newer APIs are made to let the app-programmer do the tweaking without behind their back stuff happening in the driver; old API the guys at NV or AMD do some nonstandard black magic in the driver for AAA games only.
  15. I'd just avoid including windows.h in any Header and hide uses inside a few cpp files. I also find it helpful to order includes from specific to less to library to system to standard headers, to ensure they are not dependent on others coincidentally included beforehand. This also makes your problem less likely.
  • 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!