Jump to content

View more

Image of the Day

Boxes as reward for our ranking mode. ヾ(☆▽☆)
#indiedev #gamedev #gameart #screenshotsaturday https://t.co/ALF1InmM7K
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

Sign up now

How do I advance my C# Programming Skills

4: Adsense

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
3 replies to this topic

#1 Howl   Members   


Posted 01 August 2014 - 03:17 PM

Right now I think I'm above basic little bit, anyways. I'm tried of not knowing how program in C#. I want start creating my own stuff and not copying other people work. Is it possible to  learn all syntax, function, and other stuff; Will I be able to program in C# without using other people stuff and without copying my own stuff? I want start creating a Tileset Engine in MonoGames/XNA.


 I really love to program since it the backbone of how computer work. I hate not knowing how to do it, when I have the programs and team to create amazing games. I also hate copying other people work. I like doing my own stuff.


 How do I get from basic to advance in few days. Also, I don't care if it's impossible. I'll force myself to learn it, all. I want to do great thing in the future, but if I can't learn a simple programming language, then I won't be able to do that I want because it'll be a to hard and almost impossible for me to do it. I'm not allow to say what I'm going to do, but I can say that I want create a self-aware AI. 



#2 SeanMiddleditch   Members   


Posted 01 August 2014 - 05:36 PM


How do I get from basic to advance in few days. Also, I don't care if it's impossible.

It's unfortunate that you don't care, but it's impossible to do in a few days. If it was possible, programmers would make minimum wage and the market would be flooded with brilliant engineering geniuses who can build whole AAA game engines in a few hours.

The answer to the general question is to practice. Pick a simple program that's a little more complex than you've done before; then make it. Then do this again. And again and again and again, for years, and then you'll be an experienced and competent programmer. e.g. build tic-tac-toe, then build pong, then pacman, then breakout, etc. until you're able to make new and novel games.

If you want to know how to make a tile-based game engine... start making one. Yes, you're going to have to look things up from people who've done it before quite often while you're learning. That's how learning works and why we pay good money for schools where learned people share their knowledge with students.

Really, even the best of the best in the industry still look things up, share knowledge, and have to copy old work. Expecting someone to memorize every single function, class, algorithm, technique, and rewrite complex systems over and over is not realistic. smile.png

Game Developer, C++ Geek, Dragon Slayer - http://seanmiddleditch.com

C++ SG14 "Games & Low Latency" - Co-chair - public forums

Wargaming Seattle - Lead Server Engineer - We're hiring!

#3 orizvi   Members   


Posted 01 August 2014 - 06:18 PM

The way I see it, there are 3 stages to learning how to program:


1) Learning general programming concepts. Object oriented programming, functional programming, algorithms, the theory behind computers etc. This is important because its just as important to formulate your ideas correctly as it is to form the words in your chosen language. This is the real meat of programming. This is the stuff that remains the same regardless of programming language, and reduces programming languages into just a set of tools.


2) Learn the syntax. You'll need to do this for every language you learn. Learning syntax is the easiest part of programming and also the least valuable.


3) Practice. Do this every spare moment you have for the rest of your life.


It sounds like you've been following "tutorials" and other online resources. Unfortunately they are quite notorious for only teaching #2, skimming over #1 and barely mentioning #3.


I would recommend stepping back a bit from learning "C#" and focus a bit more on learning the general concepts and then move onto the practice. I remember being in a similar situation to you where I was stuck and wondering how I could go from depending on other programmer's to writing my own code without copying anyone. In hindsight, I would say my problem back then was essentially that I didn't have the foundation that allowed me to quickly and easily decompose problems I cared about into the set of tools a programming language provides.


I learned my foundation through a computer science degree, which is probably one of the best options. If that doesn't work for you - then maybe some of the other members can recommend some excellent books on the topic. What I recall from my textbooks was that they were horrible - so I won't bother recommending them. "The Art of Computer Programming" by Donald E. Knuth is a classic, but you might want something that guides you along a little more. Generally you can try searching Amazon for programming books - look at the ones that are more focused on the design of programs and concepts such as object oriented programming then teaching you a particular language.

Edited by orizvi, 01 August 2014 - 06:21 PM.

#4 Aurioch   Members   


Posted 03 August 2014 - 07:52 AM

In addition to what Sean and orizvi said, best way to learn the language is to learn it while using it. Numerous times I found myself learning language's syntax and quirks by just doing various tasks, either homework or my own projects. For the Network Programming course on college I had to quickly learn C for homework, lab assignments and exams.


So, set yourself some projects, going from simplest one as number guessing game and tic-tac-toe to more complex ones.

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.