Jump to content
  • Advertisement

Zaoshi Kaba

Member
  • Content count

    370
  • Joined

  • Last visited

Community Reputation

8443 Excellent

About Zaoshi Kaba

  • Rank
    Member

Personal Information

  • Role
    Programmer
  • Interests
    DevOps
    Programming

Recent Profile Visitors

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

  1. Zaoshi Kaba

    Strange tessellation pattern

    I has been a long time since I touched graphics, but if I remember correctly OutsideTess tells how to split edges, while InsideTess tells how to split inside surface (quad in this case). Using output OutsideTess = (1,1,1,1), InsideTess= (2,1) essentially tells it to split 1 quad into 3 triangles, but have only 4 vertices in total. That's quite impossible so it doesn't make anything sensible. Try using OutsideTess = (2,2,2,2), InsideTess= (2,2).
  2. Zaoshi Kaba

    Disabling online mode?

    Don't know about shut down, but there was a SimCity which has failed its players: https://www.geek.com/games/everything-wrong-with-simcity-1560900/ https://mic.com/articles/29213/simcity-drm-always-online-mode-results-in-disaster-for-gamers
  3. Zaoshi Kaba

    turn-based fight system

    Anything similar might get you into trouble. It depends on company, their mood, and the Moon phase. There's a story somewhere about some guy making game similar to Candy Crush, some years later Candy Crush gets released, and try to sue guy for using Candy Crush name. But he made game first so they couldn't do anything. Instead they found another Candy Crush game that is even older, bought rights for like $100, and then sued guy again - since this time they owned rights to the title he had to take game down. It is completely illogical and immoral, but that's how law works. You're not safe unless you have a million bucks to throw at a lawyer. So in short - no. If it's even remotely similar you have a chance to get sued.
  4. Zaoshi Kaba

    turn-based fight system

    I am not lawyer. I think even if you don't make money it's not OK. It can pass only if it's a parody (there's an exception for parodies) but that can be a hard to prove. Most important thing is that even if you're in right, law will not protect you unless you have money to hire a good lawyer and keep him for at least a year - for a company that kind of money is nothing. They'll just keep spending money to ruin you and then sue to get money back.
  5. This is probably going a bit off topic but I'll add my 5 cents. I've had my 120 GB SSD for around 4 years. According to CrystalDiskInfo it has seen 56 TB of reads, 35 TB of writes, 1700 power on count, 28,110 power on hours (I suppose that makes an average of 16.5 hours per day) and it's still at 88% integrity. This leads me to believe average SSD will become morally and technologically obsolete way before it actually needs to be replaced. My pagefile, OS, all software, most games, and movies are on this SSD and it handles just fine. I did not torrent from it though (HDD has that role). On a side note, my other HDD with 38,000 power on hours already has some reallocated sectors.
  6. Signing your installer with a certificate will make Windows behave in a more friendly way. As other pointed out, does it have to be an .exe? Perhaps just .zip is enough for your game? If you absolutely need an installer try to look into .msi installers - these tend to look more legit than some random .exe.
  7. I have also spotted an issue in another method: std::vector<SDL_Rect*>* ObstacleManager::getCollisionRectVector() { std::vector<SDL_Rect*> collisionRects; for (int i = 0; i < m_Pillars.size(); i++) { collisionRects.push_back(m_Pillars[i]->getCollisionRect()); } return &collisionRects; } You create collisionRects on the stack, but then return pointer to it - after it gets destroyed. Eventually this will cause hard-to-diagnose crashes. Either return a copy or use new ..() and return pointer.
  8. I don't see where you call m_obstacleManager = new ObstacleManager();. How do you initialize it?
  9. Does crash occur if you call m_Pillars.empty()? I don't see anything wrong with std::vector<Pillar*> m_Pillars, perhaps you could show how you use ObstacleManager class?
  10. Most likely you have corrupted memory so vector<> became garbage and everything you do starts to cause issues. Are you sure your pointer is valid - perhaps you are using object after it was deleted?
  11. Are you still constructing vertices on CPU? If yes, try moving that to GPU using instancing. One of ways to do that would be to create: vertex buffer that contains only 4 vertices (there's a way to achieve same without vertex buffer at all, but let's keep it simple for now) instancing buffer that contains position, scale (optional), rotation (optional), texcoord Then you'd just set them both and render N number of instances of 4 vertices and use information from instancing buffer to transform vertices into sprites.
  12. Do you really need whole matrix for each sprite? Perhaps you could limit it just to position? Then you will save a lot of space and increase max number of instances.
  13. "With the debugger configuraiton set" That one word could use a correction.
  14. Half of that sentence is very suspicious. Could you show code for your flushVertexBuffer method? Or even better - upload all code in .zip (if possible), it's somewhat hard to track things when it's all over the place. I see that addToVertexBuffer(Sprite* sprite) also creates geometry for sprites every frame. Most of the time that's not the right way to do it and it probably still uses majority of your CPU.
  15. Am I understanding this correctly: your renderList contains 10,000 sprites and you Map() > memcpy() > Unmap() each one individually? No wonder you're having issues. It should be a single Map() > memcpy() > Unmap() call.
  • Advertisement
×

Important Information

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

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!