Skip to main content
added 184 characters in body
Source Link
DuckMaestro
  • 445
  • 2
  • 14

There are definitely some advantages in developing your game logic in an agnostic (non-Unity) environment.

Pros

  • It forces you to think about game design more purely. I find it is much easier to think about game design, whether on a board or on a computer screen, if I don't also have to think about writing or using an engine.

  • It is easier to write and run tests, though I hear there are testing frameworks for Unity.

  • It is easier to simulate your game at faster than real-time. Balance and mechanics in "economic strategy" games are comparatively more chaotic than in other games: the effects of adjusting Ability X are often less localizable and less generalizable than in first-person shooters for instance. Therefore balancing this type of game is a much more time-consuming process. When writing AI or tuning numbers, being able to simulate many games (outcomes) generatively, automatically, at faster-than-real-time, and to finally output statistics, can be incredible useful.

  • MonoDevelop for Unity is only ok. If you write your game logic in a pure .NET library, you can use Visual Studio which has a more mature debugging environment.

  • And as you alluded to, to validate game moves on a server you probably want all or some of your game logic to be running in an environment not dependent on Unity.

Cons

  • If your game model depends on physics, or any other capability already offered by Unity, you must recreate it or use some other library that you can link against or build.

  • In general you might find yourself rewriting certain basic constructs in your own library, and writing wrappers or converters to go to-and-from yours and Unity's.

There are definitely some advantages in developing your game logic in an agnostic (non-Unity) environment.

Pros

  • It forces you to think about game design more purely. I find it is much easier to think about game design, whether on a board or on a computer screen, if I don't also have to think about writing or using an engine.

  • It is easier to write and run tests, though I hear there are testing frameworks for Unity.

  • It is easier to simulate your game at faster than real-time. Balance and mechanics in "economic strategy" games are comparatively more chaotic than in other games: the effects of adjusting Ability X are often less localizable and less generalizable than in first-person shooters for instance. Therefore balancing this type of game is a much more time-consuming process. When writing AI or tuning numbers, being able to simulate many games (outcomes) generatively, automatically, at faster-than-real-time, and to finally output statistics, can be incredible useful.

  • MonoDevelop for Unity is only ok. If you write your game logic in a pure .NET library, you can use Visual Studio which has a more mature debugging environment.

Cons

  • If your game model depends on physics, or any other capability already offered by Unity, you must recreate it or use some other library that you can link against or build.

  • In general you might find yourself rewriting certain basic constructs in your own library, and writing wrappers or converters to go to-and-from yours and Unity's.

There are definitely some advantages in developing your game logic in an agnostic (non-Unity) environment.

Pros

  • It forces you to think about game design more purely. I find it is much easier to think about game design, whether on a board or on a computer screen, if I don't also have to think about writing or using an engine.

  • It is easier to write and run tests, though I hear there are testing frameworks for Unity.

  • It is easier to simulate your game at faster than real-time. Balance and mechanics in "economic strategy" games are comparatively more chaotic than in other games: the effects of adjusting Ability X are often less localizable and less generalizable than in first-person shooters for instance. Therefore balancing this type of game is a much more time-consuming process. When writing AI or tuning numbers, being able to simulate many games (outcomes) generatively, automatically, at faster-than-real-time, and to finally output statistics, can be incredible useful.

  • MonoDevelop for Unity is only ok. If you write your game logic in a pure .NET library, you can use Visual Studio which has a more mature debugging environment.

  • And as you alluded to, to validate game moves on a server you probably want all or some of your game logic to be running in an environment not dependent on Unity.

Cons

  • If your game model depends on physics, or any other capability already offered by Unity, you must recreate it or use some other library that you can link against or build.

  • In general you might find yourself rewriting certain basic constructs in your own library, and writing wrappers or converters to go to-and-from yours and Unity's.

Source Link
DuckMaestro
  • 445
  • 2
  • 14

There are definitely some advantages in developing your game logic in an agnostic (non-Unity) environment.

Pros

  • It forces you to think about game design more purely. I find it is much easier to think about game design, whether on a board or on a computer screen, if I don't also have to think about writing or using an engine.

  • It is easier to write and run tests, though I hear there are testing frameworks for Unity.

  • It is easier to simulate your game at faster than real-time. Balance and mechanics in "economic strategy" games are comparatively more chaotic than in other games: the effects of adjusting Ability X are often less localizable and less generalizable than in first-person shooters for instance. Therefore balancing this type of game is a much more time-consuming process. When writing AI or tuning numbers, being able to simulate many games (outcomes) generatively, automatically, at faster-than-real-time, and to finally output statistics, can be incredible useful.

  • MonoDevelop for Unity is only ok. If you write your game logic in a pure .NET library, you can use Visual Studio which has a more mature debugging environment.

Cons

  • If your game model depends on physics, or any other capability already offered by Unity, you must recreate it or use some other library that you can link against or build.

  • In general you might find yourself rewriting certain basic constructs in your own library, and writing wrappers or converters to go to-and-from yours and Unity's.