Sign in to follow this  
VZdemon

Unity Just wanted to share my engine design

Recommended Posts

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

Edited by VZdemon

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this