Where to Start?

Hello all,

I have a great simplistic idea of a 2D game that seems addictive and fun! But the problem is there are so many ways nowadays to make games that I do not know where to start, or what will be the best option.

I have a potential team of 3 (one is an experienced Photoshop artist + me) that could specialize in a certain field to make this game happen. Now some of the questions I have on starting is:

I just finished learning the basics of C++ and going into Object-Oriented Programming, I also have learned the basics of Unity and Blender/Photoshop and was wondering if i need to even finish my C++ learning before I jump into unity or is unity just the simple answer for all my game development needs?

I take a real interest in programming/scripting and that will probably be my main job. Another one on my team is a Photoshop expert that can make anything from simple-advanced 2D pics and I was wondering if I even need a 3rd guy and if so, what would be his job duties?

Lastly, I am planning on distributing this through the PC platform first (if this game can become a success through friends/testers first) and maybe to the iPhone (because that is the strongest market) but If anyone can get this question out of the way on do you NEED a Mac OSX system to DEVELOP a iPhone game in unity. I know you have to do the registration through a Mac and do we need to buy the unity license first?(iPhone/droid license)

Sorry for the long post and thank you for taking the time to read this! (and hopefully reply) :smile:

Scripting is going to need knowledge of programming. C# would be the obvious choice if you’ve been learning C++, it should be an easy transition.

iPhone development needs a Mac since the tools are based on it. I’d look at the performance issues of iPhone/iPad for graphics, and keep that in mind when you make the PC version. Get the licences when you’re ready to work on the particular versions.

Edit: 2-3 people is a good number.

i’ll keep the graphics in mind (does not require really any high graphics, its mainly like a “angry bird” graphics style NOT the game play).

I do not have a Mac, but my friend does so I’ll probably have to do that after I have the set base, so what you are saying is I should stop progressing in the C++ fields and switch to advancing in the C# fields? I just picked C++ because people said it was widely accepted.

Since I am using unity for this game I was wondering if it was worth it to learn the unity scripting language above all.

Right now my timeline goes: C++(C#) >>> Unity >>> Unity scripting language >>> Basic layout of the game >> functionality >>> Polished >>> completed >> distributed >>> cross-platform

Anything I can skip/should not do? Just steering me in the right direction really helps.

Using either C# or unity script is merely for the programmer’s convenience in which syntax style he prefers. Both have more or less equal capabilities, though from what I understand, only C# can import dlls. I suggest using C#, though that’s from personal preference.

Learn the fundamentals first. ifs, loops, variables, functions. These things are more or less common in any language.

Then learn the basics of Object-Oriented Programming at the very least. Regardless of which widely used language you will use, you can apply your skills in object-oriented programming there.

Next you should learn are data structures, though each language has different methodologies for implementing them, the theories are the same.

At this point you should be skilled enough in designing systems that interact with each other.

Then do yourself a favor and learn unit testing.

Also you should learn about what they call anti-patterns.

These are all just my opinions though, take them with a grain of salt.

Thanks anomalous, though the last three options might seem like something I should learn when i am going through more advanced games/scripting I will follow those lines and eventually be comfortable with C# and OOP and get cracking on the actual development of my game (I believe best way to learn is through experimentation).

Indeed it is, that’s how I learned everything (Unity, photoshop, maya (…)) :slight_smile:

That goes without saying. But if you’re learning at the same time you’re making the game, be prepared to accept the fact that the first iteration of your game’s code may be inefficient and you may need to scrap it altogether and build again from the ground-up to accommodate new, more complex features. That’s the worst case scenario. Hopefully it doesn’t come to that.

I would say it was very likely. There is quite a bit of difference between a game that “works” and a game that “works well”

Unity has it’s own way of doing things, which you’ll only find out by getting your hands dirty.

The best place to start is iwth the manual. The majority of new users’ questions are answered in the manual, the documentation is well above average for game engines and if you are familiar with simulation development, most of it will make sense.