Jump to content
  • Advertisement
hyyou

C++ How hard to port PC game with in-house engine to console

This topic is 528 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

I am using my own game/library/engine.

  • use Bullet + Ogre3D
  • use custom allocator in most places
  • high modularity - a lot of independent classes
  • ECS architecture
  • it is well designed / decoupling (at least in my opinion)

How hard to port PC game with in-house engine to console (e.g. nintendo switch, xbox one x, or even mobile)?

Every site states that it takes 1 year to port PC game to nintendo switch if only I develop a game using Unreal/unity (not free).

  • Should I make my custom game engine to support those console since the beginning?  How?
  • What design pattern/technique that I should adopt since beginning to make my PC game to be ported easily?
  • What are difficulty to port?   What type of features are hard to port?
  • Where can I find more information about it?  

Reference (every site states the same thing):-

Edited by hyyou

Share this post


Link to post
Share on other sites
Advertisement

An addition, it just depends on the in-house engine and if it is a collection of libraries or just a real in-house engine. Normaly, such AAA engines developed by companies for there own use like Snowdrop, Fledge or Cry are designed to be multi platform providing the right level of abstraction, using interfaces to different (how ever called) plugin like structures or have compile time switches internally. Those engines are *often more simple to port a game to different platforms where each hardware vendor has its own SDKs that each work different in the core that also may be on different platform generations have totally different mechanics (like using PSN on PS3 vs. PS4)

From my experience this often is mostly more complex depending on the game. If you get a game that was made for PC, you have to potentially rework most of it to fit special requirements either hardware or vendor side ones. One of those could be the limitted memory you might have on a console or the graphics chip, audio pipeline compression and networking where other vendor based restrictions may be the loading time of your game that is sctrictly measured from Sony for example so getting here into your gimmickry is more important than on PC

Share this post


Link to post
Share on other sites

Thank Shaarigan!

In my case, it is a real in-house engine without network or multithread (yet). 

I don't mind if I have to refactoring some graphic / controller later.  

Mainly, I am afraid that the refactoring will become very deep into the game-logic.

I doubt there are other such things (like custom allocator) that are really hard to adapt later, and I should concern about them at the beginning.

Edited by hyyou

Share this post


Link to post
Share on other sites
33 minutes ago, hyyou said:

Mainly, I am afraid that the refactoring will become very deep into the game-logic.

 

10 hours ago, hyyou said:

it is well designed / decoupling (at least in my opinion)

That should alleviate your other concern. As long as all the OS/platform dependent code is isolated into its own CPP files, so that the game code can never include any OS/platform specific details, then you're in a good situation.

Share this post


Link to post
Share on other sites

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