Beginner questions

Started by
6 comments, last by 0r0d 10 years, 11 months ago

So I'm interested in making games. I am totally new to game development. I've used programming languages such as Turing, C#, Java and VBscript. Where do I start? Should I establish a specialization? (AI, Art, Level Design) I'd like to be in charge of everything just to get my feet wet. Which language should I practice? Should I start with a game engine (Unreal/CryEngine) ?

Advertisement

If you have experience with C# then XNA or Monogame is a good place to go to start off making games. There are loads of tutorials out for using them and you can put a game together very fast. I learned a lot from just messing about with them.

Start with what you know, so C# sounds like the best option. Then, start small. Pick a simple game idea, break it down into manageable chunks, and go from there. If the game is simple enough, you really dont need an engine like those you mentioned. Then, finish what you start. This is the most important part, and why starting with a simple game idea is so important.

Allow me to point you to this link. This will discuss C++, Java, C#, and Python as options for a beginning developer. As 0r0d said, start with what you know. I would choose C# or Java since you said you know both. Take a look at the options for each language and see which you find easier to use or better to work with and get programming with it.

If you check the link below, I've written an article covering this very subject. To answer your question directly, I would choose a language you are comfortable with and find any game library for that language. And create some simple games (I list a few in my article).

Beginner in Game Development?  Read here. And read here.

 

You can also start with C# in Unity3d. Quick and dirty way to make games.

You can also start with C# in Unity3d. Quick and dirty way to make games.

I wouldn't say that Unity is "quick and dirty". Quick yes but Unity is quite a powerful engine and tool kit. Other than that I would agree. I believe it would be easier to wrap your head around the game development process by starting with something that uses a language you are friendly with (C#) and is capable of making high quality full featured games. Also an added benefit is that Unity is widely used, you will have a very large community and knowledge base to reach out to when you have problems. Another benefit is that many small development studios are using Unity and you will be learning something that will actually give you a bit of a leg up in the market.

If you are looking for a lower level experience where you are actually practicing and learning how to implement things more at the engine level and want to stick with a language of your choice (again C# as you mentioned it) I would suggest MonoGame. It's actually a very nice and simple framework that will allow you to build from about one story up, I say that because it's not quite the ground level that Direct X is. It provides quite a bit of the basic framework of a game loop and content management / pipelines that save you a lot of time and hassle. From there you may or may not want to move into SharpDX to go even lower, however there is a major lack of tutorials and documentation for SharpDX as they assume you are already a Direct X master. This will likely require you to learn some C++ and Direct X before you'll have a decent understanding of SharpDX.

Dan Mayor

Professional Programmer & Hobbyist Game Developer

Seeking team for indie development opportunities, see my classifieds post

You can also start with C# in Unity3d. Quick and dirty way to make games.

I wouldn't say that Unity is "quick and dirty". Quick yes but Unity is quite a powerful engine and tool kit. Other than that I would agree. I believe it would be easier to wrap your head around the game development process by starting with something that uses a language you are friendly with (C#) and is capable of making high quality full featured games. Also an added benefit is that Unity is widely used, you will have a very large community and knowledge base to reach out to when you have problems. Another benefit is that many small development studios are using Unity and you will be learning something that will actually give you a bit of a leg up in the market.

While Unity is a great tool, I would not recommend it to someone who is a total beginner in game development. The main drawback is that it's too much, too soon. If you jump right into Unity there's a lot of low-level stuff you wont understand, and it'll be too easy to become overly ambitious. I think you need to start small, learning the basics and getting a solid foundation on the low-level and basic elements of what makes up a game.

An analogy would be if you wanted to be an architect, but you have no experience. Someone directs you to software that allows you to design skyscrapers, but you have no idea what the structural properties of a brick are, how steel beams are welded together, or how wind loads affect a large building. Sure, you can design a beautiful building... but it will probably collapse half-way during construction.

Start small, start with the basics. You get to where you're going with small steps, not by shooting yourself out of a cannon.

This topic is closed to new replies.

Advertisement