Jump to content
  • Advertisement
Sign in to follow this  
meu_bin10

Unity Questions About Engine Development

This topic is 982 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey, everyone! I haven't been on here in 15+ years! I never really thought I'd find myself back in this mode of interest. Long story short, I started in C++ when I was 11 (29 now). Eventually got into .NET (C#). And I ultimately landed a solid career as a software engineer in the healthcare industry, primarily focusing on C# and ASP.NET MVC.

 

I feel that my experience since my old days has definitely given me a much stronger understanding of programming in general. Getting back into C++, I've found myself understanding many of the concepts (especially pointers!) far better than I ever did many years ago. Also the concept of OOP. A friend recently started messing around in Unity, and he wanted to know if I could help him with scripting (C#). Sure, why not! This peaked my interest in C++ and game development again, as a hobby.

 

I've been playing around with SDL 2.0, using C++ in Visual Studio 2013. It's been a pretty easy ride so far. My main question at this point is as follows:

 

1) Does a game engine's purpose include abstracting everything away from the underlying library/libraries? So if I write a simple graphics engine using SDL 2.0, should any game I write that uses this engine essentially know nothing about SDL?

 

I've written a very simple "engine", so to speak. I have a state manager class, a graphics class (handles window creation, initializes SDL and similar operations), basic input manager and so forth. As it stands, I can write an application based on these classes in such a way that, in my application, I do not have to "#include <SDL.h>". All I have to include are the headers for my "engine".

 

2) In this case, if I want to specify a color, for example, the correct approach is to write my own object (e.g. "class Color" - in the engine's code) that encapsulates "SDL_Color" found in the SDL library? And then the engine handles converting it to SDL_Color as needed internally?

 

I've never really had much interest in developing the game itself. I've always had a much deeper interest in the behind-the-scenes (e.g. the engine). Now, however, since I feel that I have a much more solid understanding of programming concepts in general, I wouldn't mind creating some smaller scale game projects of my own, including my own engine.

 

Thanks in advance. Glad to be back!

Edited by meu_bin10

Share this post


Link to post
Share on other sites
Advertisement

Generally the purpose of modern engines is to abstract away the underlying platform.

 

You can build a game using SDL or Unity or Unreal, and it will run on all the platforms the technology supports.  A few clicks or config changes and the game runs on Windows, MacOS, Linux, Android, iOS, Windows Phone, XBox, a web browser, and anything else under the sun.

 

There will likely be some work in matching the platform's look-and-feel (the touch of a phone versus the click of a mouse) or changes to support hardware capabilities (a high-end PC's graphics card versus a low-power phone), but overall a well-written engine will hide all the platform details.  The same game should run across them all.

Share this post


Link to post
Share on other sites

Generally the purpose of modern engines is to abstract away the underlying platform.

 

You can build a game using SDL or Unity or Unreal, and it will run on all the platforms the technology supports.  A few clicks or config changes and the game runs on Windows, MacOS, Linux, Android, iOS, Windows Phone, XBox, a web browser, and anything else under the sun.

 

There will likely be some work in matching the platform's look-and-feel (the touch of a phone versus the click of a mouse) or changes to support hardware capabilities (a high-end PC's graphics card versus a low-power phone), but overall a well-written engine will hide all the platform details.  The same game should run across them all.

 

Makes sense. Thanks, frob. This is all purely experimental, and I've never had a desire to reach some sort of public release. Just something fun to do with spare time, and to expand my knowledge. I have yet to consider my options or methods for making anything compatible with any platform other than Windows at this point. Perhaps that's something I should look into, just to open things up a little.

Share this post


Link to post
Share on other sites

I've always had a much deeper interest in the behind-the-scenes (e.g. the engine).
Depending on the genre of games, you can have very large and complicated "magic" going on in the game. Think about simulations, path finding, or smart AIs or NPCs.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

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

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!