WTL Programming Language

Started by Naraku, February 05, 2015, 05:02:49 AM

Previous topic - Next topic

Naraku

Firstly, WTL simply means wanting to learn. I honestly couldn't think of a perfect short subject name. My goal for most of my life has been to make a game of my own. I realized even when I was younger that the undertaking would be large. I have a certain talent when it comes to theory-crafting, but I have no skills to which I can implement those ideas, those theories. Long story short, I've finally decided to stop procrastinating. I want to learn how to program for a game, and honestly I'm impressed with the modding community, and Tynan's work. I also tend to like his ethics, he's already helped me immensely. I hope to one day repay the debt. (even if it means buying this game's largest package or getting it for several friends)

Honestly, I could go on and on.. but the truth is, I've led a sheltered life and now my only hopes of getting and keeping a legitimate job is to do something I love. I've already had a peek at making a game, and I find great enjoyment in it. Which is why I've come to Rimworld.

If you were to ask me to dumb down, "What precisely are you asking?" Basically what's perhaps the best all-arounder language, (jack of all trades, master of none perhaps?) or a good language to start at, and what to move onto from there, etc. Tell me the advantages and disadvantages. One day, I'd love to learn multiple languages, tell me all about what you know about them and where I can get started.

I'm thinking of learning C# if it's a good idea to do so early, because from the tutorial it would seem to mod Rimworld you need it, and I think that may be a good start. Something to add, I'm known to have some reading comprehensions, so the easier it's explained the better!

harpo99999

definitely learn c# & c+ , they will help you with ANY programming as MOST utilities and games engines (and even some operating systems and compilers) are written in the c language family, but as far as programming goes, it does HELP enormously for  you have the desire and passion to eliminate the problems and issues (commonly called bugs) that you find


iame6162013

Well seeing that you have got no experience with programming just do an old(or incomplete! sometimes it's nice to know how to be restricted to only a few things) language to start not c or c++ or c# but something like forth or something
It will teach you some reasons why things are the way they are, and if you've never needed to know why something is the way it you never went and did something low level.
(sometimes, but usually never) it's nice to do something low level to create a  fully understand the thing you're using because at some point you're going to come across something and there is no easy way to fix it. But if you know how to some low level things to do what you want it can be quite easy...
Linus Torvalds: "But it clearly is the only right way. The fact that everybody else does it some other way only means that they are wrong"
Robert J. Hanlon: "Never attribute to malice that which is adequately explained by stupidity."

kic

In my young days, I hacked at/took classes/read books in a variety of languages. While many of them share similarities in ideas, they each definitely have their own intricacies.

The prevailing wisdom at the time was to cut your teeth on something like PASCAL and from there move to C or C++. I don't know how C# compares, but from my experience I will say it was helpful to learn on a more "basic" language to get some general principles and ideas in place before I moved on.

Coding never stuck with me. I stick to playing the games and cheering on those who make them. ;)

Naraku

It's grand to hear several people's thoughts on the subject. But what I'm seeing the most is (as expected) to start with an easier programming language.

@iame6162013 Honestly that sounds like a wonderful idea. However unless it's actually used in today's modern games, (nothing too fancy in graphics mind you) then I may leave that to the side for later. Because while I don't need to have all the knowledge immediately, the sooner the better.

But I'll keep that in mind. What I think I'll do, is try to learn C# first, if I become frustrated or simply cannot comprehend anything, then I'll try something more simple until I learn at a fair pace on something, then work my way back up. But this isn't the end of this topic, continue on everyone!

Haplo

You could also start with Visual Basic.Net.
It uses most of the base principles that C# also uses (They share the same base: .net Framework) but is a bit more intuitive.
The only problem is that there aren't as much tutorials in VB.net as there are on C#..
But once you know the basics, it isn't that hard to switch to C#
(That's my experience, as I've started with VB.net :) )

Sion

#7
I have the perfect place for you, I use it myself:
It's called: Khan Akademy
https://www.khanacademy.org/computing/computer-programming

If you want to try other languages than JavaScript you could also try:
Codecademy: http://www.codecademy.com/
They aim more for web pages and stuff like that.
So many ideas... so little time...
Silence is the worst answer.

Justin C

If you want to learn how to make games then you should start with a language that you can use to make games. You're going to find it a lot easier to stay motivated if you are making games on day one.

RimWorld was made using the Unity engine. Unity is free, so you could download it right now and start learning with it. Unity lets you work with C# and JavaScript, which are pretty similar languages that should be fairly easy to learn. I'd recommend going with C#, since JavaScript is rarely used in game development.

I've also had some fun with the Love2D engine lately, if you want to work with a scripting language like LUA. The engine will be a lot easier for you to work with than Unity, but LUA has some odd quirks to it that make it a less than desirable first language.

MrSurvivor

Quote from: Sion on February 06, 2015, 08:30:24 AM
I have the perfect place for you, I use it myself:
It's called: Khan Akademy
https://www.khanacademy.org/computing/computer-programming

If you want to try other languages than JavaScript you could also try:
Codecademy: http://www.codecademy.com/
They aim more for web pages and stuff like that.
I do really like codeacademy for javascript and I have gone to the while loops place there.
I do agree though that it is best to start with C or C++ or C# because as my dad says, "It is the basis for all programming language."
Though javascript is easier to learn the C languages are more useful to learn.

RemingtonRyder

Hey guys, is there a lighter IDE that I could use to learn DLL modding for Rimworld? I tried to install VS 2015 Express but the sheer size of the install made my computer cough it back up. In other words, the install failed because the last time I partitioned my drives was back in the old days of WinXP. :P

Besides, do I really need the entirety of VS 2015? I'm thinking not.

Latta

Quote from: MarvinKosh on March 03, 2015, 09:58:20 PM
Hey guys, is there a lighter IDE that I could use to learn DLL modding for Rimworld? I tried to install VS 2015 Express but the sheer size of the install made my computer cough it back up. In other words, the install failed because the last time I partitioned my drives was back in the old days of WinXP. :P

Besides, do I really need the entirety of VS 2015? I'm thinking not.

MonoDevelop? It's a default Unity C#/JS editor.

RemingtonRyder


theirongiant

Anyone wanting to learn game programming in C could do a lot worse than check out Casey Muratori's Handmade Hero project (http://www.handmadehero.org). He's programming a full commercial game from scratch using no libraries so every bit of code is written and explained, streamed live every weeknight on twitch and also available on youtube. Don't think anything as in-depth as this has been done before, going to be a cracking primer for anyone that's interested in games programming.

UMK

For making game I suggest you should learn any adequate language, python or Java are easier and suit better because there is no pointer-wankery, but learning C++ will give fundamental knowledge, functional languages should be avoided (not because they are bad, but because they change your mind). Also you should learn algorithms ("Introduction to Algorithms" by Cormen, Leiserson, Rivest is best imho), computer graphics, numerical methods and linear algebra at least.