Geri said:
one for writing the 3d engine
You do not, under any circumstances, want to write your own 3D engine for the first game you develop.
A 3D engine doesn't just come with some support for “shaders and geometry,” but also needs an art pipeline, visual effects support, physics integration, some way to edit levels, and so on. Using any existing 3D engine is better than writing your own. Pick one that comes with source code, like Godot or Unreal Engine or perhaps the C4 engine, which will let you figure out how it works on the inside, which will help you build a faster, better game, and learn more, for your next time around. Or, if you absolutely need C#, pick Unity, and live with the fact that you can't necessarily know/control what happens on the inside.
GiorgiDev said:
can there be any problems with connecting them into one entire game?
Yes, if there's not a shared understanding of how they go together, then integration will be its own special work, essentially being just as big a task as the separate development tasks. It's better to start with an existing “empty game” project in an existing engine, and then follow the conventions from that engine to develop the game, where each developer does their thing and communicates with the other developers, and shares intermediate progress through source control so that all the other programmers can interact with those bits as they come along.
GiorgiDev said:
should i give them some rules to follow for me to be able to connect their work together?
If you are a beginner programmer, trying to do the work of “the integrator” is going to be tough, because the integrator needs to know what all the different pieces of the game requires, not just their individual specialty like graphics, physics, gameplay, or such. Much better to start with an empty game, and saying “This doesn't load a level – why don't Alice build a mock-up of the first level and Bob write the code for that? Also, we don't have a ”start game" menu – Charly can start building the main menu." Then keep iterating together. That way, integration is not as much of a problem.