• Content count

  • Joined

  • Last visited

Community Reputation

374 Neutral

About ferreiradaselva

  • Rank

Personal Information

  • Interests


  • Twitter
  • Github

Recent Profile Visitors

1495 profile views
  1. Advice Leaning how to make a game engine in OpenGL SDL/GLFW

    https://learnopengl.com/ is great. And the examples are in C++, since it is what you are going to work with.
  2. Advice Leaning how to make a game engine in OpenGL SDL/GLFW

    I'm actually making a C framework with OpenGL and GLFW. So, here are my cents. SDL is a larger library compared with GLFW. It isn't big to the point that will make you "overwhelmed", though. If your game engine will be exclusively 2D, it's a doable option. But, if you want something for 3D, too, then SDL is in my opinion a "waste", since some of its features are dedicated for 2D. It wouldn't impede you from making a 3D engine, but there would be that "waste" of unused features. That said, GLFW is cleaner for doing a single job. Is you engine going to manage all assets? Textures, scenes, camera, meshes, animation, shaders/material? You can go with two options, let the engine manage these assets and be responsible for creating and destroying them, or give more power to the user and let the user decide the life time of assets. There's a trade-off here, which is the more power the user have, the more they have to write their own implementations. How much of OpenGL you two know? If not much, start with "modern" OpenGL (a.k.a. OpenGL with shaders). Don't go with fixed function pipeline (old style OpenGL). OpenGL version 3.3 is a good candidate as I mentioned in other thread: Also, how much of OpenGL you will wrap? You certainly will wrap to a degree, since functions to create/delete textures/framebuffers/shaders/VBOs/VAOs will have to use OpenGL. For each type off asset, have a header (.h/.hpp) and a source (.c/.cpp). Then having a central header (myengine.h/pp) that include the header of the types. If this is a possibility, it helps for who uses your engine to include only a single header. Use git for version control. There are several workflows to work with git (for example: http://nvie.com/posts/a-successful-git-branching-model/). Some might be too complex for a team of 2 people. Check what works better for you. You will probably make mistakes with your workflow, so just start using it and learn the best approach for you early. He can use clang or gcc with some editor (Atom is a nice one with good integrations). I don't use Visual Studio (Linux), but it seems like it has support for CMake since 2016. Couldn't you use the CMake instead and make the work with the two platforms easier?
  3. What are you working on?

    My C framework (CGDFW) is at good stage, right now, with examples in the github repository:
  4. What Engine for a 2D Pixel Themed Game?

    Godot. Great for 2D and open-source.
  5. In regard of popular frameworks: SFML(C++, 2D mainly) and MonoGame (C#, 2D and 3D)
  6. 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.
  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: http://gameprogrammingpatterns.com/contents.html. 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. Ok, that is what I was thinking. It's the only thing It makes sense to me, at least. Thanks!
  9. 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.
  10. 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).
  11. Does violence stem from video games

    This whole discussion and I think OP just wanted to finish some homework that their teacher assigned them. I don't think media makes people more violent, but I'm sure it normalizes violence. This is for any media. This video from Pop Culture Detective shows the use of media (movies) as a medium to (intentionally) normalize the view of war and, by consequence, making army recruitment something more attractive than what actually is. Not exactly the same thing as individual violence, and intentional instead of accidental, but the same principle.
  12. MathC - a C math library for 2D and 3D programming

    At first, there was a vector structure for each type (2d, 3d and 4d). But, in the practice the only wasted space is for a single `float`, the W component. Z vector is still very useful for 2D rendering with OpenGL, anyway. As for the const, I agree that it makes more obvious what is modified and what is not for the user. But, just like @Finalspace, I've had problems with integrating libraries from other people that had const (also no optimization, which led me to remove it):
  13. October 2017 GameDev Challenge: Arcade Battle Arena!

    What @Finalspace said about checking the tiles to see where the enemy can walk and where it can't is a good and simple idea. (it is what I'm doing, too). Can't see the video. It's redirecting to my own channel url. I'm slow on the development bc I'm studying for a test on 22nd :'(, after that I will be able to finish the game.
  14. MathC - a C math library for 2D and 3D programming

    Bumping this because I've added a bunch of operations with quaternions and I have an almost complete reference at this point: https://github.com/ferreiradaselva/mathc/blob/master/REFERENCE.md
  15. And 4.5 would be post-modernist, today