Advertisement

Tackle my first big project

Started by March 29, 2016 10:34 AM
9 comments, last by frob 8 years, 9 months ago

I guess that the official documentation is okay for learning Monogame or do you have any other advice ?
And one more question : do i have to learn XNA first to use Monogame as it is an extension of XNA ?

There were some old XNA books, and a few books specific to MonoGame, they may be useful if the online material is not.

XNA is a wrapper around Direct3D 9 functionality. It did not evolve because Direct3D 9 did not evolve. The design philosophy behind it was that a set of technologies for an era can be fixed, locked in place, and software built around it. New technologies would have a new set of interfaces, bring their own new era, and have a new style of development. It isn't that XNA died or was abandoned, it was designed from the outset to be locked in place. Many people failed to understand this, a few still struggle with the concept.

MonoGame started in that same place, but decided to continue to grow and add functionality. It is not an extension, it is something more alive and growing. This comes with pros and cons, it is something different, neither good nor bad. Learning about the tree as it used to be will be useful because even though it has grown, the roots and branches are solid and fundamentally unchanged. Some segments will be different, some branches pruned and new growth achieved, but knowledge from the past will still be valuable.


Some Unity shops will like this (typically indie developers etc) but I find only knowing Unity makes it *very* hard to stand out nowadays.

Unity has become a commodity tool. Commodity tools are good, but not particularly good by themselves. Knowing Unity or Unreal is good because the tools are widespread and similar enough between each other and with many other engines, public and private.

A carpenter does not distinguish himself by knowing how to use a hammer or a saw, yet knowing how to work with them is important. Whenever there is need for a specific things then specific knowledge about the tool becomes valuable. When someone requires a worker with specific knowledge of how to make jigsaw puzzles a general knowledge of saws is insufficient, knowledge of the specific tools is essential.

A person's experience with a specific game engine is generally not particularly valuable, but a game developer needs to know how to work with game engines. Sometimes a studio needs help doing something specific with a specific game engine, and then that specialization is important.

This topic is closed to new replies.

Advertisement