Just wanted to share my engine design

Started by
-1 comments, last by VZdemon 10 years, 8 months ago

Hey people. As a heavy Unity3D user and a programming hobbyist I was inspired by Unity3D to make my very own game engine. Except this one was going to be free for everyone and completely cross-platform. Meaning you could play and make games on linux, windows, and osx (Not ready to get in to mobile yet). I have a very rough base to start from and I wanted to get some feedback or just show off some code.


#include "Core.h"

class Controller : public Component {
      public:
          void Init() { // Gets Called Right before main loop starts
               cout << "Hello World" << endl;
          }          

          void Update() { //Gets Called every frame update
               if(Input::GetKey(KEY_W))
                    node->transform->Translate(0, 0.1f, 0);//node is the GameNode this object is attached to
               
               if(Input::GetKey(KEY_S))
                    node->transform->Translate(0, -0.1f, 0);//node is the GameNode this object is attached to
          }

          void Quit() { // Gets Called Right after main loop closes
               //Nothing to put here and it doesn't have to be declared. Just wanted to show it exists
          }
};

int main() {
	Engine::Init(); {

		GameNode* Cam = Engine::Create("Cam");
		Cam->AddComponent(new Camera());

		GameNode* Cube = Engine::Create("Cube");
		Cube->AddComponent(new Renderer());
                Cube->AddComponent(new Controller());

	} Engine::Play();

	return 0;
}

of course a lot of core features are missing such as lights and shadows, asset pipeline, and an interactive scene graph viewer and editor, and addtional graphics features. But for a start i think I'm in the right direction.

Btw any opengl advise/help is gladly welcome.

thanks for reading

This topic is closed to new replies.

Advertisement