Newbie: Questions about 2d game development.

Started by
4 comments, last by iLoveGameProgramming 11 years, 10 months ago
Hey guys as the topic says I want some advice about 2d game development.

I want to make a couple of 2D Indie Games before I jump into 3D. I have seen some amazing games like Angry Birds and Braid and I want to make something similar like them. I heard a lot about XNA and download 4.0 from the site and with the help of a bunch of tutorials I managed to make some small animations and sort of stuff. But one thing that really annoyed me that for simple tasks you have to code everything which is pretty time consuming and makes tasks tougher to do.

Is it normal that I have to do a LOT of coding before I make a game or I need a proper UI to speed up the development? Should I rather leave XNA and use some big beasts like Unity or start with learning the basics of coding first?

Is there any other 2d engine that I should use instead of XNA (something more ideal for beginners)? If yes please mention some.

Thank you for your replies.
Advertisement
Learning basics first is never wrong, no matter what you do.
So I'm not a 2D guru, I Just started working on that recently too and currently I'm working with rubygame.
I'm coding all the stuff myself and use google for research on how to actually do it, but its fun and I'm sure it makes me grow as a programmer.
It is time consuming yes, but it is also practice which will help you in the long run.
Also, the more you understand the very basics, the more you will be able to write your own custom code for your specific needs and features.

It all depends though, on how far you want to take your games. If you just need some basic functions and have an idea of how the basics work, you might es well use whatever tools to speed up the development to get some results. (Which can be very beneficial in terms of motivation)
I'm just saying, digging the basics won't hurt you ;)
It might not seem like the fastest way for developing at first, but I believe it will help developing in the long run.

...I might as well be wrong so, it's just my opinion on that matter ;)
Thanks a lot Gazu that was very helpful.
Btw what engine are you using currently?
I'm just writing the code in ruby, using the rubygame library for displaying.
It's really quite low-level what I'm doing right now, thats also because I started working with sockets because I'm only interested into making multiplayer applications, so I'm keeping it as simple as possible and slowly working my way up.
Also, I'm just using ruby for now because I feel comfortable with it's easy syntax and didn't want to dive into some new syntax, the main purpose for me is getting the logic for anmiations, collision and networking. So really basic and simple stuff on a low level, not using any special engine.

I'm quite positive that I will switch to opengl in time, but I read it has quite the learning curve, so I didn't want to concern myself with that for now.
The most important thing is, I have fun and I'm improving. Not very fast, but that's not neccessary, you just need to be persistent and keep working on it, even if it's only a little bit here and there.

Is it normal that I have to do a LOT of coding before I make a game or I need a proper UI to speed up the development?


Yes, games are a LOT of work - both on the coding side, and on the asset creation side. Note that even if you go with the Unity3D route, you will still need to do some coding (just a lot less), and you will still need to make all the assets. Also, Unity is a complex piece of software with it's own learning curve - but there appears to be a lot of support through forums and tutorials. Personally, I prefer working in XNA, but that is because I enjoy the programming side of things, where Unity3D always seemed more targeted for an artist-minded developer - your mileage may vary.

If you've got the basics of XNA and C# down, you could try out FlatRedBall which, last I checked, has some support for higher level game development tools. It is basically a 2d engine built on top of XNA.

There is also something called GameMaker that can be used to quickly create basic 2D games with minimal programming, if that is what you are looking for.

Of course, as you gain experience, coding gets much quicker (less backtracking, less refactoring, less research, and reusing pieces of code you have amassed).


Is there any other 2d engine that I should use instead of XNA (something more ideal for beginners)? If yes please mention some.
[/quote]

Although I have never used it, there is Python + Pygame (and there are likely other libraries for Python as well). I've heard it's "good for beginners", but again I've never gotten into Python much.

My personal opinion is that unless you are getting too discouraged, try and stick with one thing until you feel like you've got a fairly good grasp of it. If it's too hard, lower your goals abit - a completed "simple" project is more motivational than a complex one that never gets done.*

* P.S. for the record, although that is my advice, it is advice that I never seem to be able to practice ;)
have you ever made any 2D games before? how nooby are you in programming? What language do you prefer to use?

This topic is closed to new replies.

Advertisement