Jump to content

Recommended Posts

Posted

It always fascinates me how you hear of indie games can built by a single person with skills in coding because they could do it, or because they they wanted to learn how to code. I believe the creator of Terraria built it purely to learn how to code in C#?

 

I've never done anything like it but I'd really like to give it a go learning C# and maybe try my hand at developing something. Whatever it is, it would be ground breaking or awesome, but if I learn from it, that's a plus in its own. If anyone has any suggestions on where to start, useful resources, books, tutorials etc, please feel free to share then.

Posted

C. C#. C++. Start from the basics. There are thousands of tutorials, books, resources, examples on the WWW.

 

To source out the best, would be damn well hard. Your best bet is to talk to a experienced programmer (8+ years in the business) and ask them how to go about it. I did c++ in University, and it hurt my head for an entire year.

 

It's usually 'C for dummies' book and then tutorials online, then expanding on what you've done.

You then move onto C# which expands upon OO and various other paths.

Then C++ which is games programming, software engineering and a ton of other stuff. Bloody 'el i'm having nightmares again!

 

C has unlimited possibilities. You'll end up turning into a hobo. Best of luck! Yer gonna need it!

  • Thanks 1
Posted

Do you have any coding knowledge going in to this or are you going in as a complete n00b? If you haven't programmed at all before, then start off with some basic coding tutorials for your chosen language. It'll give you at least a basic understanding of generic coding principles as well as some specifics in the syntax of the language you choose, both of which will make the relatively complex process of game programming easier in the long run.

 

C# is a good choice IMO as it's what XNA is based on, the framework used to make indie Xbox games and Windows Phone games (both will also run in Windows and the framework ports them automatically for you). Downside to XNA is it's Windows only. Windows Phone Dev Center

 

Java is a good choice for multi platform development and, in my opinion, a nice language to learn. It's very wordy compared to some others, but that's not necessarily a bad thing when you're starting out - it certainly makes code more readable! If you decide on java, then this forum will be a good starting point: Java-Gaming.org - home of the largest java game developer community

  • Thanks 1
Posted

TBH, before you crack on with coding, you need to decide what you want to make. [i'd suggest a platformer.]

 

Then work on it piece by piece.

 

Create a basic "character".

Work on movement.

Collision detection.

Design a basic [useable] level.*

Make movement animations.

 

Once you've done that... You've made a game! [Of sorts.]

 

Are you planning to use custom resources [art, music, props and stuff] or pre-made?

 

 

*This is a lot of work. You need all the assets made and the ability to call and render them WHERE YOU WANT THEM as they're needed. I would NOT suggest rendering the entire level at once, the load times will be long and the memory useage could be high.

Posted
If you just want to play about with the mechanics of games without worrying about the assets, build the game using ASCII graphics.
Posted (edited)
TBH, before you crack on with coding, you need to decide what you want to make. [i'd suggest a platformer.]

 

*SNIP*

 

Personally, I think this approach lines too many people up for disappointment.

 

I'd jump straight in to coding from tutorials, then make something simple like a Space Invaders or Pac Man clone off your own back (obviously by researching the necessary code and techniques, but without following a tutorial). This will give you a good working knowledge of the language and of the concepts of the game loop, of collision detection, of drawing sprites, animating them, playing music, menu routing - everything you'll need to know before you make your dream game. It'll take all the pressure of designing something from scratch off you - you'll actually be able to see the end result you're working towards, then you just need to work out how to get there.

 

Far too many people set out to make the game of their dreams straight away and quickly become disenchanted and give up. Start simple, build up a solid grounding, then try to make your dream game!

Edited by LosOjos
Posted
I think the assets are the hardest part as it is very easy to look at what you have in beta stages and not get depressed as it looks awful. One reason Dust: Elysian Tail (about one of the biggest indie hits of late!) was so successful was because the developer went from artist to coder instead of the typical other way round. He made the assets as well as code where as you would probably have to get someone to make the assets for you.
Posted
Far too many people set out to make the game of their dreams straight away and quickly become disenchanted and give up. Start simple, build up a solid grounding, then try to make your dream game!

 

I'm talking about tutorial builds. IMO, a Mario-esque platformer would be good for learning a lot of the necessary game creation principles.

 

Especially if you add enemies and powerups.

Posted (edited)
Personally, I think this approach lines too many people up for disappointment.

 

I'd jump straight in to coding from tutorials, then make something simple like a Space Invaders or Pac Man clone off your own back (obviously by researching the necessary code and techniques, but without following a tutorial). This will give you a good working knowledge of the language and of the concepts of the game loop, of collision detection, of drawing sprites, animating them, playing music, menu routing - everything you'll need to know before you make your dream game. It'll take all the pressure of designing something from scratch off you - you'll actually be able to see the end result you're working towards, then you just need to work out how to get there.

 

Far too many people set out to make the game of their dreams straight away and quickly become disenchanted and give up. Start simple, build up a solid grounding, then try to make your dream game!

 

Sprites, collusion, music detection is a piece of cake to learn. Under 3 hours and most people can understand it. The difficult thing is to incorporate graphics, EDIT COURTESY OF X-13: PREVENT security holes, and futuristicly clever AI.

Edited by Sunnyknight
Posted
The difficult thing is to incorporate graphics, security holes, and futuristicly clever AI.

 

Why would you incorporate security holes?

Posted
Sprites, collusion, music detection is a piece of cake to learn. Under 3 hours and most people can understand it. The difficult thing is to incorporate graphics, EDIT COURTESY OF X-13: PREVENT security holes, and futuristicly clever AI.

 

Well I'm sure @Rawns won't mind me saying that as he's a n00b to this, "futuristic AI" is a long way off. And BTW, sprites are graphics

Posted

Christ, i miss out one word and i get slandered for it. Sprities are basic graphics. A dot can be interpreted as a sprite. A line can be interpreted as a sprite. You try calling 3d rendered models a sprite. Yes it's a long long way out, but it's what he should be striving for. To do get as far as that, and not stay 2d, you need a team of at least 5 (as me and my group did in uni and got a A16 (highest grade possible)). Otherwise, 2d is as far as he'll go.

 

Using Engines such as Unreal or Crysis can also help along the way for his game.

Posted (edited)
Using Engines such as Unreal or Crysis can also help along the way for his game.

 

Not at this point thought.

 

High end, 3D rendered games aren't good for when you're learning coding.

 

Start basic, then work your way up to CryEngine.

Edited by X-13
Posted
Not at this point thought.

 

High end, 3D rendered games aren't good for when you're learning coding.

 

Start basic, then work your way up to CryEngine.

 

I know! I know!!! *Bangs head against wall* I I I I I KNOW! lol

Posted
Christ, i miss out one word and i get slandered for it. Sprities are basic graphics. A dot can be interpreted as a sprite. A line can be interpreted as a sprite.

 

You can't get p'd off at other people because you weren't clear... it's up to you as the speaker to get your point across, not me the listener to fill in the blanks for you!

 

You try calling 3d rendered models a sprite.

 

I wouldn't, I'd call them 3D models because that's what they are.

 

To do get as far as that, and not stay 2d, you need a team of at least 5 (as me and my group did in uni and got a A16 (highest grade possible)). Otherwise, 2d is as far as he'll go.

 

Well that's just plain false... of course, it'd be easier as a team but it's by no means impossible to make a 3D game on your own.

 

Using Engines such as Unreal or Crysis can also help along the way for his game.

 

I don't think it's in the best interests of anybody who wants to learn to program to start off using a huge game engine. Yeah, you will pick up on some core fundamentals of the language they're based on, but you'll mostly be making calls to routines that are specific to that game engine and useless anywhere else. Game engines are fantastic don't get me wrong, but I wouldn't say they're great for learning to program.

 

It comes down to this: do you want to make a game as quickly as possible, or do you want to learn games programming? The answer will completely change your approach.

Posted

Thanks for all the feedback, indeed @LosOjos, "noob" is a most adequate term here for my level! :)

 

I completely understand there is no hope of jumping straight into making a game of my dreams here, but half the reason of starting out like this is to learn some new skills. My aim is to learn the basics, grapple with recreating something basic like pong, pacman or pinball, and then continue to try and learn and build on it.

 

When I fell more confident, I will then give making my own game a shot. Like @X-13 suggested, I'll likely go for a platform game of some sort first and then take it from there. :)

Posted
Thanks for all the feedback, indeed @LosOjos, "noob" is a most adequate term here for my level! :)

 

I completely understand there is no hope of jumping straight into making a game of my dreams here, but half the reason of starting out like this is to learn some new skills. My aim is to learn the basics, grapple with recreating something basic like pong, pacman or pinball, and then continue to try and learn and build on it.

 

When I fell more confident, I will then give making my own game a shot. Like @X-13 suggested, I'll likely go for a platform game of some sort first and then take it from there. :)

 

That will take you, with a correct mindset, a week to get pingpong or pacman. To learn C#, you can't. It's endless.

Posted
To do get as far as that, and not stay 2d, you need a team of at least 5 (as me and my group did in uni and got a A16 (highest grade possible)). Otherwise, 2d is as far as he'll go.

 

While I'm years away from the same level, the guy who made Dead Cyborg all by himself managed 3D alright. Not Unreal engine quality, but still none too shabby. :)

Posted
That will take you, with a correct mindset, a week to get pingpong or pacman. To learn C#, you can't. It's endless.

 

A week to make a game start to finish with no background knowledge of the language? Sounds legit.

Posted
Well that's just plain false... of course, it'd be easier as a team but it's by no means impossible to make a 3D game on your own.

 

Yes, and the quality of the 3D game would be reflected against that of a teams.

Posted (edited)
recreating something basic like pong, pacman or pinball

 

Do all 3. In that order.

 

Pong > getting everything on screen, movement, collision and basic +1 scoring

Pacman > enemy ai, damage/health and resetting the level

Pinball > more advanced physics and it should help you learn how to structure layouts. [if the pinball map is laid out badly, it won't be playable.]

 

A week to make a game start to finish with no background knowledge of the language? Sounds legit.

 

You ninja'd me while I was typing, good sir.

Edited by X-13
"resetting the level" not "respawning"... you don't want to respawn into a ghost.
Posted
A week to make a game start to finish with no background knowledge of the language? Sounds legit.

 

I did. Not rocket science. You get a book, you turn on the pc, download whatever program you're comfortable using, and you follow the steps. Ta.....da..... :rolleyes:

Posted
I did. Not rocket science. You get a book, you turn on the pc, download whatever program you're comfortable using, and you follow the steps. Ta.....da..... :rolleyes:

 

Copying code != learning how to write code

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...