Jump to content
NEurope
Sign in to follow this  
Daft

Indie Games, C# and Everything Else I Don't Understand

Recommended Posts

I watched a documentary about Fez yesterday and I decided I want to dabble with coding and making games. I'm sure I'll give up in the first five minutes but I at least want to get a basic feel. What tools do I need to start going about it?

 

I've downloaded Unity and have tutorials for C#. Anything else obvious I'm missing (apart from basic comprehension of anything)?

Share this post


Link to post
Share on other sites

I know it's tempting to just jump straight into games. But for the long term you're better off learning about concepts of programming first.

 

If you have no prior programming experience I highly recommend CodeAcademy and do the Code Year course or alternatively learn Python or Java.

Share this post


Link to post
Share on other sites
I know it's tempting to just jump straight into games. But for the long term you're better off learning about concepts of programming first.

 

If you have no prior programming experience I highly recommend CodeAcademy and do the Code Year course or alternatively learn Python or Java.

 

Awesome. Exactly what I was hoping for. I just gave the first set of lessons ago and the whole thing is already slightly less daunting.

 

I'll be making Infamous 3 in no time...

 

 

...

Share this post


Link to post
Share on other sites

And when you become fluent call me maybe. I want to do this but lack the time or basic comprehension to do it myself.

 

[/nothing to add]

 

p..s doesn't your brother-in-law does this for a living?

Share this post


Link to post
Share on other sites

Yeah, he's a programmer. Been doing it for longer than I've been alive, now I think about it. He showed me a couple things while he was building a new engine but I only understood the basic principals and I didn't want to bother him with super n00b questions.

 

I thought I'd quiz him properly once I knew what to ask.

Share this post


Link to post
Share on other sites
Yeah, he's a programmer. Been doing it for longer than I've been alive, now I think about it.

 

Is this literal? Because I can't see him being that old.

 

Back on topic...I dabbled in it myself but never really got anywhere. If I think of any resources I'll let you know.

Share this post


Link to post
Share on other sites

When you say making games, are you more interesting in programming or designing?

 

If you are more into designing then using the Unity 3D editor is a good starting place and I recommend going through

videos done by the 3D Buzz guys (they also have a second Unity fundamentals series too) as they take you through the editor and how to knock up a level. You'll still want to learn some coding for when you move onto scripting and C# is arguably more useful than Unityscript (Javascript) or Boo for external purposes. An established editor like this will mean you won't have to get your hands quite as dirty to achieve the basic results like you would if starting from scratch.

 

 

If you are more into the actual programming part, then I'd suggest you go through those C# exercises and look into XNA 4.0. XNA is a framework, as apposed to an engine like Unity, that is based upon DX 9. So it only takes care of the basic stuff automatically, but it gives you a big hand with all the little things, and allows you to make any engine or game you please. Obviously that requires more technical knowledge on your behalf but there are plenty of sites out there that will take you through the basics on the assumption you have no real coding experience. An excellent place to start there would be with RB Whitaker's site that has a whole host of beginner level tutorials for you to try that cover both C# specifically and it's use with XNA.

Share this post


Link to post
Share on other sites

I'm not too sure. I would like to get to grips with the programming part. I was aiming toward starting C# (but this is an uninformed aim, I don't know if I have the time, if I'll "feel" it or if I actually want to focus on something else, at the moment C# seems like a good thing to aim for, though).

 

I did the JavaScript fundamentals at Codeacademy. That was fun. XNA looks like a promising way to go. That Whitaker site looks good. I'll scope it out.

 

What's the general consensus on Python?

Share this post


Link to post
Share on other sites

C# is an excellent place to start your journey into the world of programming. It has the simple/safe nature of Java but has closer ties to C/C++ that makes moving on to them feels a bit more obvious should you wish to get into heavy duty programming. Not that C# isn't widely used in business already but C++ and C are just a bit lower, and faster for it for when speed really matters. C# can be also used for Playstation Mobile development, which is in an open beta stage, so you can make your own PSV games if you wish.

 

XNA is great but it's not really supported by MS anymore. It still runs on 360s, Windows XP/Vista/7 and Windows Phone 7 natively but will only run on Windows 8 in legacy mode - true W8 game development requires D3D11 and XNA just has no scope to implement it given the design gulf that seperates D3D9 from 10 and beyond. It's still the best place to start though and a much friendlier place to get to grips with the basics of games programming than anything else I've ever encountered. There are rumours of a replacement coming based on some spirited individuals attempts to create a nice wrapper for DX11 though, who MS are believed to have been in touch with, so fingers crossed.

 

I've never personally used Python so I feel ill placed to comment on its use though I get the impression it's more of a hobbyist language these days. I know that it is designed to be as readable as possible, which is useful when starting out and trying to determine what you've just written actually does, especially if you're like me and aren't a big commentor of your work - it might seem clear right now, even tomorrow, but check back in a week and see if you can still remember how it works. There are also various libraries you can use to facilitate the development of games, both 2D and 3D, if you really like the language. Again, I have no idea how good they are, but they do exist - check this place out for ideas on where to star that side of things. Beyond that, I can't tell you any more about it without going on a google rampage and I'm sure you can a manage that part yourself.

Share this post


Link to post
Share on other sites

Nice. I started the Crash Course on Whitaker's website. Got up to Looping at which point I couldn't fit any more in my brain. I think I'll carry on. At the moment I'm just looking to get some really solid foundations and this seems to be getting the job done.

 

I think I'll leave Python, at least for now. Best to focus on one thing.

 

Do you do a lot of programming?

 

 

Edit: How does anyone remember all this?! (Practice, I suspect) Enumerations and Meathods...my braaaain.

Edited by Daft

Share this post


Link to post
Share on other sites

I'm currently 2 years into studying a games programming degree so yeah, I do my fair share but I had zero experience before starting it which made for a bit of a rough ride at times and I'm still very much a novice at it all - I've touched upon a lot of things but never had enough time to get particularly involved with any given aspect. I've never actually looked at his crash course section until today and thought it seemed a little over the top for what he covers in the rest of his examples. Even he admits that by the end but you certainly can't say he has covered the fundamentals.

 

As for remembering, like anything, it's practive, practice, practice. Luckily, intellisense for C# (the thing that pops up with suggestions) is present in Visual Studio but you don't get that for all languages. So that certainly helps you out a great deal and C# has a lot more standard functions with very obvious naming conventions that sometimes you can just type and it will suggest the thing you are looking for. In reality though, you'll never need to remember all the various methods and such. As long as you know the theory behind what you are trying to do and steps it invovles, you can easily look up the method names and how they work on MSDN.

Edited by Captain Falcon

Share this post


Link to post
Share on other sites

What do you mean by a little over the top? That it's not very thorough?

 

Yeah, the intellisense is awesome. Really appreciating that. I'm just under half way through the crash course, on '15 - Classes Part 1: Using Them'. It's getting a little confusing but I think that's because it's slightly abstract. When it gets a little more context, fingers crossed it'll be easier to take in.

 

How you finding your course?

Share this post


Link to post
Share on other sites

His XNA examples only cover the basic steps of using the functionality on offer, effectively taking you through how the most important methods work. A lot of those, however, won't require you to know all the things covered in his crash course segment. So whilst the crash course elements are key to making the most use of C# and building up a flexible and powerful game engine, for the small examples he works with, you won't be using many of the things in later chapters.

 

Take enumerations for example. They are the best way to handle the various states of your game (title screen, menu screen, in game, paused, etc) but that isn't something specific to XNA. That's about using C# functionality for intelligent and maintainable design. Consequently, I don't recall seeing any of his XNA examples that require he use of Enums.

 

So to sum it up, the crash course doesn't cover XNA and XNA doesn't use that much of the crash course. But to make something good, something worthwhile, you will need to know both. But his site doesn't cover that side of things. He gives you all the basic individual tools but it's up to you to combine them. Which probably explains why his game mechanics section is limited to just one example for checking collisions. He can tell you how the method required to move an object works, but the algorithm that defines the movement pattern that determines the final number required for said method is entirely up to the designer - and that's where the things in the crash course come to the fore.

 

 

The course is tough (sometimes brutal) but really interesting. It does change your appreciate for games, they become less fun, and once you get a little knowledge under your belt, it becomes very obvious to spot people who haven't a clue about programming games when they start spouting things you could neither confirm or deny before - it makes message board attending for games even more of headache :p

 

We started programming in C# and using gamemaker as a way of understanding how to structure games. Then moved onto XNA whilst also picking up C++. After that, C#/XNA went out the window as a requirement and was only used when felt like it. The focus was then on C++, MIPS assembly language (which without comments is almost indecipherable), and C using PSP dev kits - also managed to fit in a little ActionScript 3.0/Flash. Then it was C++ and D3D11, more C (used for windows programming this time making calls from the OS) and Java for Android development. Also dabbled in RobotC for programming, well, robots. The lectures are great too having been taught by people who've worked at Codemasters, Lionhead, Eurocom and Free Radicial Design. Windows 8 development is already on the syllabus and it's not even officially out plus the have the standard tools like Maya and UDK and things.

 

So as I said, you get so much thrown at you that it's not really until the last year that you get a chance to really focus on one thing in particularly for the dissertation, unless all this stuff is already familiar to you - something that certainly doesn't apply to me.

Share this post


Link to post
Share on other sites

If you're available at all in the next 7 days they're having the GameCity festival in Nottingham, which has indie showcasers aplenty everyday. I'm sure they'd be more than willing to offer any tips or whatnot.

Share this post


Link to post
Share on other sites

I am starting to learn C# and programming. It helped to first get the foundations first, I recommend you some lynda courses since you already started with the Code Academy ones. Do a search for "Foundations of Programming: Fundamentals", "Foundations of Programming: Object-Oriented Design", "C# Essential Training". I'm using C# alongside Unity to learn game development.

Share this post


Link to post
Share on other sites
Sign in to follow this  

×