ProtectedMode

Members
  • Content count

    151
  • Joined

  • Last visited

Community Reputation

1339 Excellent

About ProtectedMode

  • Rank
    Member
  1. game lib for c++

    There is a Godot tutorial on how to extend it using C++ on the wiki.   Unity does not use a custom scripting language, it uses C# and compiles it. C# is widely used.   Unreal Engine 4 uses C++ for everything, except if you want to program graphically using Blueprints, but that is completely optional.
  2. Unity Decoupling physics

    The extra function calls and callback functions add additional overhead and indirection. And in this situation you would be able to replace the physics system, without changing anything to the side.   Collision detection while moving is done by the physics system. The logic code simply sets a velocity and forgets about it. Preventing an object from moving when there is a block in its face is something else than casting a ray, where you need the result instantly to perform a specific action.   I should have given more information; the physics system calculates if and where the ray hit, and then invokes a callback function. I didn't think it would be a good idea to let the physics system handle placing blocks.   Thanks for the suggestion! My problem is however, that I want to decouple my code as much as possible. If the logic code needs references to the world etc. to cast rays, it will be harder to maintain, I can't switch out the physics system, and the logic code does things it shouldn't do.
  3. I'm having a problem with my current game architecture design; I'm using the ECS pattern but I'm still having trouble decoupling some of the physics code. Especially in case the player wants to place a block somewhere: this gameplay-related code needs to cast a ray, and aside from that check if that position is free. First, I had casted rays by emitting events, and letting the physics system handle them and invoke a callback function. But since the gameplay code now needs to check whether a position is free, it would need to emit a second event. This method already felt hacky and slow, but better than direct access.   I'm curious to how this is usually handled. I know that you can cast a ray from anywhere when using Unity, but I doubt this is the correct approach. How have you handled this kind of problem?
  4. It depends whether you still use PHP. You could only use NodeJS for the real-time stuff and PHP for everything else...   By the way, shouldn't you look up the word "throw" in a dictionary?
  5. In my experience, many scientists are so convinced of some theories, that they consider them facts...
  6. DX11 Any opinions of what to do next?

    My semi-serious reply: you are obviously missing one important feature: gameplay. What's the use of your library if it's never used? Besides, you will have to test if everything works in practice too.   My probably more serious reply: allowing users to specify materials is pretty important nowadays, besides that, I assume all model data can be read from disk already? OpenGL as another back-end would also be nice, since not everyone uses an ugly operating system there are also Linux and Mac users. Some kind of scene manager could also come in handy, just like many other commonly used features of a rendering system. Maybe you should take a look at the Ogre3D feature list for inspiration?
  7. best way to backup my project

    You could use a VCS like Git and a service like Bitbucket. This will allow you to keep track of changes, revert to them in case you screw something up, and allows you to simply clone the repository if your computer would crash. You will have to learn to use Git but if you use something like Sourcetree, this shouldn't be too hard depending on your skill level.
  8. You should just try VirtualBox first with an image downloaded from somewhere to see if it works for you.
  9. Wrote an Entity-Component Framework

    Passing a unique pointer instead of a raw pointer is also better if you are giving up ownership. Aside from that and what KulSeran mentioned, it looks interesting.
  10. Already ready to start making simple games

    You should first read a bit about C++11 smart pointers, starting with modern C++ is probably easier. This comes down to practically never using raw pointers.
  11. C++ starter

    SFML consists of five seperate libraries. You can use only the system and window libraries in case you want to use OpenGL yourself. But if you only want  2D by using the default SFML classes, you should use the graphics library, in this case you don't have to use OpenGL, so don't worry about it.
  12. Are you using the latest VS toolset? Maybe that could help.
  13. I would just want to note that you could also choose a more modern and possibly better library for windowing, handling input etc. like GLFW, SDL or SFML.