Jump to content
Sign in to follow this  
  • entries
  • comments
  • views

JBEngine: Housekeeping

Sign in to follow this  



Recently I have been looking at the overall design of my game/engine and decided it needed a bit more housekeeping to ensure that there is a good level of abstraction so I can replace or rip parts out if I ever need to. A while back I managed to create two seperate libraries for Sound and Networking, meaning that those two could be used within any other project fairly easily.



This time round I'm having a look at seperating out all the rendering code into it's own library which is a little bit more difficult as it is a much larger portion of the codebase. Whilst doing this I realised that the rendering code and also parts of the engine code both rely on some of the maths classes that I've created so I decided to seperate that out as well and have both libraries depend on the Maths Library.



After some thought I cracked on with doing the housekeeping and started by splitting the GUI parts of the rendering from the normal scene rendering as the GUI part will eventually be going into it's own library. For now the GUI parts are staying as part of the Engine as I didn't want to try and do too much at once. This new Renderer Library is now complete along with the Maths Library.



In total I now have these libraries as part of my visual studio solution:


  • JBEngine
  • Networking
  • Sound
  • Renderer
  • Maths


    The next part I need to do is to take out any application specific code that I have put in the JBEngine project. This will allow me to compile the JBEngine as a library and use it as part of a new project which will either be the game or the level editor or any other application I want to use it for.



    All is going well just need to crack on with these few bits and I will feel loads better about the whole design of the engine...


    Keep Coding smile.png

Sign in to follow this  


Recommended Comments

There are no comments to display.

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
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!