New to Game Development

Started by
1 comment, last by sealiteral 3 years, 8 months ago

So I'm new to Game Development (and coding), and I was wondering, if there are any tutorials on how to make a 3D physics based engine? What language should I use? And is it possible to modify game engines such as CryEngine, Source, Unreal Engine, ect.

Advertisement

Everything is possible. Try to check YouTube first. There are a LOT of decent channels. PM if you are looking for something in particular.

None

Maxyyyyy said:
if there are any tutorials on how to make a 3D physics based engine

By physics based do you mean PBR (physics based rendering, as in calculating more or less realistically how light behaves in a scene) or do you mean game physics (gravity, collision detection, collision response…)? Or maybe you mean physics based animation, which include things like ragdoll physics. I could probably find tutorials of all those types, but since I'm using an existing engine rather than building one from scratch, I don't have a big need to research those topics on my own. And spending a lot of time on finding information that isn't very useful for myself isn't something I want to spend most of today doing.

Netaid said:
Try to check YouTube first

You could also use Google, in case you want tutorials that aren't video.

Maxyyyyy said:
What language should I use?

Do you mean which language to write stuff in for the players of your game to read? If so, you could use English or whatever you feel you're good at writing in. And if you mean programming languages, it depends on your skills but also on the task:

  • For code that runs a few times per frame, you can use pretty much any language. Code in some languages, such as Python, might run slower than code in some other languages (like C++), but if the game doesn't need to move thousands of enemies on every frame, you can probably write the enemy AI in such a language without noticeably affecting the performance of the game.
  • For code that runs many times per frame on the CPU, you should probably use a compiled language like C++ or Rust. That includes the rendering code that runs on the CPU (things like checking how far away something is and drawing a simplified version if it's more than a certain distance away instead of drawing the detailed 3D model that you'd only use when something is really close to the camera. And stuff like physics if there's many things that can collide with many things.
  • For stuff that runs on the GPU, you probably don't completely choose a language yourself. OpenGL lets you write shaders in GLSL, Direct3D uses HLSL (I'm not sure if the latest version uses something else), and Vulkan, if I remember correctly, instead of a language uses some code that you'd first write the shders in another language, and then you write something that converts it into that code.

If you're writing rendering code from scratch, I'd probably suggest learning OpenGL or Direct3D (or maybe start with SDL or Allegro or PyGame and then learn OpenGL or Direct3D later). I wouldn't start with Vulkan or DirectX 12, which would take a lot of code to get a solid-coloured triangle on screen.

Maxyyyyy said:
And is it possible to modify game engines such as CryEngine, Source, Unreal Engine, ect.

Yes. The only way to use UE4 on Linux is to compile it from source, and that would require a hundred gigabytes of hard drive or SSD space. And probably 10-20 hours of waiting (not counting what the code would take to download). So I ended up going with a smaller engine myself. As for making the physics less realistic on purpose, as long as it's something simple like reversing gravity in some places or using unusual collision shapes, you should be able to do that in any engine without compiling the entire engine (unless you have to compile the engine for another reason, such as to use UE4 on Linux).

None

This topic is closed to new replies.

Advertisement