Make a game in C# from scratch

Asked

Viewed 1,642 times

0

I’m learning C#, and I already have enough knowledge(I think) to make a simple 2D game. But I don’t want to use NO engine. So where do I start?

1 answer

3


Even if you don’t want to use an engine you will need to use some library.

As a start you must answer two questions:
What platform will the game be made for? (Mobile,pc,ps4,etc)
Which language you will use?

Having these two questions answered you should look for some graphical library that fits your needs.

After choosing your graphics library you can already start creating the core of your game.

In the core you will develop all the necessary foundation for this and future games to be developed. Here you will enter all data management (Saves/loads), communication (client/server if necessary), screen management, physics (if applicable), tools and necessary integrations with your libraries.

As you’re asking where to start I believe it’s the core you should focus on.

Graphic System

I would then recommend to start making your graphic system, where will control the way your game uses your graphic library, after this complete step you should be able to have a window and be able to draw images and geometric shapes with multiple colors. After this you can start working on the base structure of your core, remembering that in the core you will only apply things that can be used in multiple games.

Core

At the core of your game you will have things like Gameloop, event management, basic data structures and any tools you find necessary for the development of a game. In this step I recommend you to read this book : http://gameprogrammingpatterns.com/contents.html
here are shown several Patterns that can be placed in your core.

Physics

Physics is a delicate point, as there is the option of using a ready-made engine that will probably work better than a physical authorial engine and will take much less time. If you want to develop your own engine I recommend reading about the development of physical Engineering because they can become very complex.

With these points implemented and working now you can start working on your game in fact.

I believe that we should only develop a game from scratch without using Engineering in two situations:

  • For learning, this way you will better understand how Engines work and will be better able to deal with problems arising in the future.

  • No engine meets the requirements of your game, this case is more
    rare in developers but is common in the large industries of
    games, where the best Engines can not run the requirements of games designed in a satisfactory way.

Apart from these two cases I always recommend using an engine, be it Unreal, Unity, Cryengine, etc. They are made to make life easier for the developer and are very powerful.

  • Thank you for this reply! You simply talked about exactly what I wanted but didn’t know how to put it into question. Thank you! In case you’re wondering, I’m doing this to learn more.

  • By the way, now I have a problem. I’m looking for graphic libraries... but I can’t find any simple... I’ve tried Opengl but it’s too complex for what I want to do....

Browser other questions tagged

You are not signed in. Login or sign up in order to post.