Jump to content

  • Log In with Google      Sign In   
  • Create Account

The good old "which one"; choosing a language.


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
19 replies to this topic

#1 Pingying   Members   -  Reputation: 100

Like
0Likes
Like

Posted 10 January 2012 - 05:25 PM

I took a walk on the gamedev forums, there are a lot of questions about what language to learn, xna or own engine... I feel embarrassed for asking this stupid question, because I'm just another beginner opening another topic about the probably same question that comes around "for beginners" every 5 minutes.

I will try to make this question different from the other ones.



I like understanding how games works more than playing it.
I watched livestreams of people making games. I liked it.
I watched some tutorials about Java and C. It feels good to write the code.
I will not quit, like many other beginners, once I step upon math or language problems, or because other reason. It makes me mad when I give tips to someone and then they quit after a while. I will not do this.


So what do I want to do with programming?

I want to make games. I don't care if its my own game, or work for some company. I have no clue how the jobs in this area are, I don't know if the payment is good, don't know where I have to be (like forums, websites, blogs to read) to get into the area, know the terms (like framework). I was hoping you could answer me this.


Ok, so after reading stuff on the internet, I concluded that based on what I wrote above, the right language for me is C++. As far as I know, C++ can be used both for indie games (little fighter, liero, tibia, many many others) and to work for companies (call of duty series, blizzard games). I also have the mindset that using other game engines is BAD. I do not like (with my mindset) UDK, XNA. I don't know why, maybe because it's limited, I can't do w/e I want. I was hoping you could change or enforce this mindset (or thought, not sure which word is the right for this situation, pardon!)


Thank you in advance.

Sponsor:

#2 Serapth   Crossbones+   -  Reputation: 5756

Like
2Likes
Like

Posted 10 January 2012 - 06:08 PM

Read this.


The right language for professional game development is often C++. You on the other hand, aren't a professional game developer and C++ is very much *not* the right language to start with. Learn to program first, then consider C++ if you need it for your resume. I would actually posit you could learn C++ programming faster by learning another language THEN C++.

As to your mindsets; lose them. You admittedly know almost nothing, and you've already formed decisions you aren't capable of making with your current knowledge. Learn first and let actual experiences form your biases, not well... whatever it is you've used to date.

#3 Telastyn   Crossbones+   -  Reputation: 3730

Like
1Likes
Like

Posted 10 January 2012 - 06:22 PM

Nope, sorry... Just like every other question asked every 5 minutes, and you came to the same wrong conclusions as everyone else.

On the plus side, that makes the advice easy. Use C#, learn to program, etc etc. See Serapth's post and pretty much the entire forum for more info...

#4 jbadams   Senior Staff   -  Reputation: 19374

Like
1Likes
Like

Posted 10 January 2012 - 11:08 PM

I also have the mindset that using other game engines is BAD.

Something to consider: a lot of AAA titles created by industry professionals use existing engines. Many games are built using the Unreal engine, or the various engines produced by id software. Many other studios have libraries of existing code or in-house engines that they re-use. Whilst there are also plenty that are created "from scratch" or where new engines are developed, the chances are pretty good that if you eventually get a job in the industry you'll be expected to work with existing engines.


Something else to consider: a lot of engines provide the same or very similar functionality; the engine might load and display a model, applying some particular lighting technique, provide some physics, etc. All of the interesting stuff that makes a game unique is built on top of that, and you can either wait till you've done all the same-old work to load and display a model, or you can get to the interesting stuff of implementing new and exciting game-play features right away using an existing engine or library.


Using existing engines is definitely a Good Thing™, as it saves you time and effort that you would otherwise spend re-writing code that a great many people have already written a great number of times. It's going to be a long time and take a lot of experience and mistakes made before you're good enough that your choice to use an engine will be a limiting factor in what you're able to do rather than your own skill being what stops you.


If you do decide to write your own engine for the learning experience (and I'll stress that I'm recommending against it), don't just start writing from nothing, but follow the excellent advice given in the article Write Games, Not Engines and produce your engine by isolating re-usable and repeated portions of code from actual games with real-world requirements.


I would also personally recommend a language such as C# or Python rather than C++, but if you're set on sticking to C++ and are willing to tough it through the difficulties you'll eventually reach your goal either way.

#5 Johan!   Members   -  Reputation: 96

Like
-2Likes
Like

Posted 11 January 2012 - 11:20 AM

Considering that your main motivation is to program games, rather than learn about programming or computers in general, I think that the advice you got here regarding goin with an "easier" language, such as C# or Java is sound.
I really would not agree that starting with one of those languages and then later move on to C++ makes much sense though.

The things that I believe makes C/C++ a bit more tricky in some ways (such as memory management) are not things that you really pick up in those other languages.
I would actually suggest that if you really want to learn C++ then starting with learning more about how computers work would be a better starting point.
For example digital circuitry -> computer architecture -> assembly programming -> C programming -> operating systems -> C++ could be one route.
Of course you don't have to become an expert in all these areas but some things that you will do using C++ will make much more sense if you begin by studying such topics.
I would also say that knowing more about the more fundamental things can increase the pleasure you get from programming. :)

Although my experience with XNA is very limited, it seems like a great place to start if you want to dive into making a game right away, and I really doubt that you would find it very limiting.
The only issue I can see with XNA in particular is that you then afaik can only build your executable for Microsoft's platforms.
Going with something even more abstract, like a game engine (XNA is not really a game engine) could also be a good way to get started but I have no experience of these personally.
These days there are so many ways to get into game development (this is a good thing!) and it really comes down to what your preferences are regarding abstraction level, platform to develop for etc.

#6 Serapth   Crossbones+   -  Reputation: 5756

Like
3Likes
Like

Posted 11 January 2012 - 12:35 PM

The things that I believe makes C/C++ a bit more tricky in some ways (such as memory management) are not things that you really pick up in those other languages.



I want to scream from the mountain tops and go on a serial slapping spree every time I read this!

Memory management is not the hard part of learning C++, not even close. Now, memory management is perhaps the most fragile part about working in C++, but that is a different conversation.

The hard part about C++ is the byzantine set of rules that will literally take you years to learn, if you ever come to grips with them. It is a complex language, brutally complex in fact. Ironically, memory management is in fact one of the simplest and best defined aspects of the language! Additionally, to a new developer, C++ also adds a ton of hurdles you just frankly don't deal with in most other languages. The build process is awful, there are so many legacy features that are so rife for new developer abuse ( the preprocessor in general comes to mind but old C style string functions come to mind too ), the error/warning reporting is god awful, especially when templates are a factor. Additionally, C++ is essentially 3 different languages, you have 1983 level C in there, then you have C++ pre-templates, then C++ post templates... that template metaprogramming in C++ is essentially a turing complete language in itself is pretty telling. Perhaps worse of all for new developers, the standard libraries are to put things as succinctly as possible... sparse. I was going to use a different s-word there, but I changed my mind.

I am not calling C++ a bad language, but it sure as hell isn't an easy one. And memory management has very little to do with why.

#7 Johan!   Members   -  Reputation: 96

Like
-2Likes
Like

Posted 11 January 2012 - 01:02 PM

I agree with what you are saying.
Memory management definitely isn't the hardest part of learning C++, but it's most likely one of the most obvious differences when coming over from a language with garbage collection or such.
Of course it takes a lot of work to master any language, and C++ in particular, but when learning the very basics of the language (not things like TMP. maybe not even templates in general), memory management tends to be one of the things people coming from a language like Java or C# have problems with, at least in my experience.

#8 Pingying   Members   -  Reputation: 100

Like
0Likes
Like

Posted 14 January 2012 - 07:33 PM

Hello again

Sorry for the delayed answer, I was out of town.

Again, my objective is "

I want to make games. I don't care if its my own game, or work for some company". I guessed C++ would be the best because all the games I've seen so far (both indie and company ones) are made in C++.



About the own engine. Lately I've seen a lot of unique engine great games. With 1 minute of thinking I can come up with these unique-engine games.

Maplestory, Tibia, Liero, Little fighter, Starcraft, Warcraft, Minecraft.

Minecraft in special is made by one guy, and yet it's still better than a XNA game, made by one guy too: Terraria. That's why I thought making engines are worth.


I'm completely new like everyone making topics in this category. I'm just not sure about the language I should start to learn because for e.g, I don't wanna be stuck with terraria-like games if I learn XNA. This happens mostly because I have no idea how this area (programming) works. Neither do I know how to learn and which communities to be in.



I'll use CG as an example. I started at videocopilot.net. I learned about how videos work on it, then stopped learning AFX after a while. Then I found some good websites because I knew what to search with my knowledge from video copilot. With my searches I got good knowledge at tracking, 3D stuff, lightning, rendering. Ended up that I know how all the CG area works, I can lead someone to the right way if the ask me something, just like JBadams, seraph and everyone else that posted here, but in the programming area.


So, how do I start at programming? Is there a "videocopilot" where I can learn how the area works. This example is good because video copilot teaches after effects, which is what I (wanted to) get extremely good at. I would like to start in programming with something that I would use to make the games. That's why I'm unsure about engines and languages. I don't want to be stuck with games like Terraria because I learned C# for 6 years. I want to make my Little fighter, my Tibia, or work on a warcraft game with some people.



#9 Micha3L   Members   -  Reputation: 100

Like
0Likes
Like

Posted 16 January 2012 - 03:33 AM

I guessed C++ would be the best because all the games I've seen so far (both indie and company ones) are made in C++.


C++ is the industry standard for AAA, cross platform titles with hundreds of devs or skilled indies. C# is much easier to start with.

Minecraft in special is made by one guy, and yet it's still better than a XNA game, made by one guy too: Terraria.


Minecraft is made in Java. So that doesnt quite waork 100% with your argument, but I get the gist.

I don't wanna be stuck with terraria-like games if I learn XNA


While I havent played Terraria, XNA is one of the most widely used engines available and game quality is almost always a result from the programmer and people working on the game, not the engines. There is some quality stuff from Indies on the Xbox Live Arcade, and that is all made in XNA. No matter if you make your own engine, you are still limited by either OpenGL or DirectX - unless you write your own drives, which you cant - and most engines implement almost everything available from those libraries.

I would first recommend you learn C++ or C#, and use a simple-ish game engine like SFML or XNA, just to get a tast for programming, and then use either of those until you hit a limit with an unsupported feature etc, and then move on to your own engine if you need it. Just get some code examples for GL or DirectX just to see what youre getting into with your own engine.


Edit:
Regarding tutorials, as programming is text based, most tutorials are in text form. just search for c# tutorials etc

#10 menyo   Members   -  Reputation: 494

Like
0Likes
Like

Posted 16 January 2012 - 12:10 PM

You can do anything you want with C#, only if your a real master you could benefit from the freedom of C++.

Xna is just a framework that has a ready made game loop and functions that let you draw 2D or 3D on the screen right off the bat. You are not being held down like you are in game maker or something like that. You can do pretty much anything you want with XNA, especially in the first (Let's say 4) years you learn programming C++ has nothing better to offer then C#. Once you know how to program in C# the step to C++ is a lot easier since you know how programming and especially OOP programming works.

I bet my money on it if you still be programming in a year or 2 you won't even make the step to C++ since you love C# + (put in your framework) and it has everything you need. Unless you you really want to work at a major studio, but you better get started then since if you don't want to bring coffee around you need at least 10 years under your belt and a buffy port-folio.

Current Project: TechnoFlux read all about it on my

DEV BLOG


#11 TheTroll   Members   -  Reputation: 882

Like
2Likes
Like

Posted 16 January 2012 - 01:18 PM

Let me jump in on this. When I first started progamming we used punch cards. Yeah, dropping them ruined your day, well, more like days. Thne I moved on to Assembly, boy life was great, I could do in hours what took days. Then I moved to C, wow what a step up that was, then C++. (Now there was some others in the mix, but not really needed for the point). Then came along C#. So what do I use? Well for 90% of what I do it is C#, not because it is the "best" lanaguage ever, but because I can get from point A to point Q in the quickest amount of time while fullfilling the requirments that I need to get done. I still use C++, C, and Assembly for other things but C# gets the job done most of the time.

The trick is to use the right tool for the job. If you just want to put out a game, use the one that gets the game out the quickest with the least errors. If you want to dig into the guts, find the tool that works for that.

There is no "best" language, only "best" languages for the job, and even that is questionable depending the person doing the job.

#12 MeshGearFox   Members   -  Reputation: 158

Like
1Likes
Like

Posted 16 January 2012 - 04:16 PM

I'm pretty sure Little Fighter was a QBasic game.

Also if you're asking which language to learn you're probably missing the point. Learn how to program, learn different programming paradigms -- but not a specific language per se, outside of what you need to learn the broader concepts.

#13 Cornstalks   Crossbones+   -  Reputation: 6991

Like
1Likes
Like

Posted 16 January 2012 - 06:28 PM

C++ is a bad language for beginners. You'll be stuck between trying to learn C++ and trying to learn to program (which are two different things!). It's a lot easier to learn C++ once you have a solid grasp on the fundamental concepts of programming (which you can learn in pretty much any language).

A (simple) example, spot the bug in this C++ program (you can even compile it and run it, and it may work, it may not):
#include <iostream>
#include <string>

int main()
{
	std::string str = "Hello!"; // Create the string
	const char* hello = str.c_str(); // Save the data in the string before we change it so we can use it later

	str = "How are you this wonderful day?"; // Now change the string and ask a question

	std::cout << hello << "\n" <<  str; // Print the strings out to the console
}

Now in a real application with thousands of lines of code, spotting a bug like this is a nightmare.

Besides, in real life, a programmer will know several languages. Just because you don't start off by learning C, C++, and Assembly doesn't mean you won't ever learn them. Go ahead, make games in C++. But make them in C++ later. Make games right now in a more beginner-friendly language (C++ will eat you alive; it eats everyone). We're just trying to help you avoid a lot of unnecessary pain (there's always some necessary pain, however). Seeing as you aren't even sure where to begin with learning how to program, it would be cruel and unusual punishment to push you to try and solve cryptic compiler errors, linking nightmares, undefined behavior problems, etc. from the very beginning. You'll be able to deal with these problems much more effectively once you have a grasp on the fundamental concepts of programming.
[ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]

#14 B O N E S   Members   -  Reputation: 93

Like
0Likes
Like

Posted 16 January 2012 - 08:57 PM

I'm not exactly an experienced programming veteran, but I've faced the same decisions. First of all, I don't think choosing a language matters much at all. Once you know one, you can easily learn others if you put the effort in to it. I think that if you start with C#, you will learn the concepts faster, and if you want, you can try out C++. If you do that, you might even learn some C# and C++ in the time that you would have just been working on C++. Most experienced programmers know many languages. There is no "best" programming language, just languages that tend to work better in certain situations

Also, I used to have the same ideas on using game engines built by others. You have to understand that to do well in this industry, you have to work with others. Most of the time, you can't do absolutely everything by yourself. Also, the people who play your games don't care about all the behind the scenes stuff that doesn't affect their experience-what game engine you use, libraries, etc. "If you wish to make apple pie from scratch, you must first invent the universe." - Carl Sagan

One more thing to address is that if you choose to go the C# route, don't be afraid of XNA. It's a good framework, and would be your best option. Just because one game uses it, that doesn't mean that your game would be similar in any way. Heck, you can even do 3D stuff with it. It handles all the boring stuff that you probably won't want to program anyways.

#15 tbarnstormer   Members   -  Reputation: 122

Like
0Likes
Like

Posted 16 January 2012 - 09:11 PM

Here's my 2 cents. If you have no experience programming, get some. Fast. There's no way you can do much of any game development if you don't have a mastery of basic programming skills (and math). Couple of options you might want to check out. GameMaker, which gives you a great environment to learn the basics of game development, with limited programming skills will help you gather some experience in the game development techniques and give you some programming intro. The other is Micosoft's Kudo (I think that is the name) which also will provide an intro into game development as well as some basic programming skills.

Take an introductory programming class (if you haven't already). C++, C# are just 2 languages that can be used in game programming. There's also Java, Python, Visual Basic, which all have lots of books out there already written for various levels of game development and programming. Any programming language experience can be parlayed into another programming language, so don't limit yourself to the misconception that there can be only 1.

And finally, if you haven't already, check out local schools (especially community colleges in the US) for introductory game development courses. Some are offered on-line as well as in a classroom environment. Some do not require much or any programming experience, and they can give you more basic knowledge in the process so that you can make informed decisions about game engines, or language choices. Some are inexpensive, some are not, but do check them out.

#16 compscialien   Members   -  Reputation: 104

Like
0Likes
Like

Posted 16 January 2012 - 10:30 PM


I don't wanna be stuck with terraria-like games if I learn XNA


While I havent played Terraria, XNA is one of the most widely used engines available and game quality is almost always a result from the programmer and people working on the game, not the engines. There is some quality stuff from Indies on the Xbox Live Arcade, and that is all made in XNA... (quote shortened for length)


You mean XNA is a useful framework (I'd even accept library here) not an engine. And you mean Xbox Live Indie Games, not Arcade. Now that pet peeves are out of the way...

I would first recommend you learn C++ or C#, and use a simple-ish game engine like SFML or XNA, just to get a tast for programming, and then use either of those until you hit a limit with an unsupported feature etc, and then move on to your own engine if you need it. Just get some code examples for GL or DirectX just to see what youre getting into with your own engine.


I do recommend XNA, and SFML if you're just playing with it (not that it is bad, but it is a C++ library (not engine) that handles most of what you need, but many tutorials for it online were written as short one-offs, and as such teach very bad habits (see Global Variables, among others).

Edit:
Regarding tutorials, as programming is text based, most tutorials are in text form... (shortened for point)


No offense, but I don't see any sort of thought behind this statement. That, and it isn't 100% true, see LabVIEW (which is what we use in the engineering courses here at VT, alongside MATLAB)

Let me jump in on this. When I first started progamming we used punch cards. Yeah, dropping them ruined your day, well, more like days. Thne I moved on to Assembly, boy life was great, I could do in hours what took days. Then I moved to C, wow what a step up that was, then C++. (Now there was some others in the mix, but not really needed for the point). Then came along C#. So what do I use? Well for 90% of what I do it is C#, not because it is the "best" lanaguage ever, but because I can get from point A to point Q in the quickest amount of time while fullfilling the requirments that I need to get done. I still use C++, C, and Assembly for other things but C# gets the job done most of the time.

The trick is to use the right tool for the job. If you just want to put out a game, use the one that gets the game out the quickest with the least errors. If you want to dig into the guts, find the tool that works for that.

There is no "best" language, only "best" languages for the job, and even that is questionable depending the person doing the job.


I always love hearing stories like these. It reminds me that not all businesses are evil and have their workers forced to use legecy code, unlike one of the places I've interned at, which used C83 with macros up the ash tray and lots of legecy embedded asm. There was a bug, and their custom compiler for their embedded system detected a bug, but no more information than "COMPILER ASSERT FAIL OVERFLOW DATA CORRUPT". Worse, summer, ever.

#17 jbadams   Senior Staff   -  Reputation: 19374

Like
2Likes
Like

Posted 16 January 2012 - 11:31 PM

my objective is "I want to make games. I don't care if its my own game, or work for some company". I guessed C++ would be the best because all the games I've seen so far (both indie and company ones) are made in C++.

C++ will absolutely allow you to do what you want to do, and if you've got your mind set on C++ then you should go with that choice and get stuck in to learning the basics. As you've probably realised by now, C++ is not what the overwhelming majority of our community would recommend though, but you are free to ignore that and get started learning C++ -- it's capable of doing what you want to do, it isn't impossible to learn (although as mentioned, many find it more difficult than other choices), and you'll find plenty of people that are able to help you out when you get stuck. There are also very good tools available.

A few people have already said that your choice of language doesn't really matter all that much; the important thing is learning to solve problems and express them as programs in whatever language you have chosen, sticking with it through difficulties, and dealing with complications as they arise. If you really want to use C++, make that decision, ignore the nay-sayers, and get started!


That being said, I'm just going to repeat again that you would probably be better off with a language such as C#; just because C++ is good for experienced and professional developers doesn't mean it's a good choice for you -- those people who chose to make their games in C++:
  • probably already knew how to program in C++, they weren't starting from scratch like you.
  • may have had existing libraries of C++ code to work with.
  • may have been working quite some time ago (your example of Liero is a very old game) when there weren't so many choices available and we would have all been suggesting C++ as a better choice rather than C or assembly.
Languages other than C++ are capable of very impressive results, and if you've seen anything un-impressive created with them you can almost certainly blame a lack of experience from the programmer(s), poorer quality art-work, etc. rather than the programming language that was used -- there are plenty of horribly un-impressive programs created with C++ as well.



Lastly, as you mentioned your choice of C++ was based mostly on it being used for all of the games you were familiar with, I'll provide some counter-examples of games written in other languages, which might help to show that C++ isn't the only choice.

Starting with a couple of your own examples:
  • The newer, and currently more widely available version of Liero is written in C++, but the original (which lacks a few newer features such as online multi-play but is otherwise just as impressive a feat of programming) was actually written in Pascal.
  • Minecraft is written in Java.
  • Little Fighter is written in C, not C++. Little Fighter 2 is however written in C++.
and then adding a few of my own...
  • Jak and Daxter was written in a special version of LISP.
  • Disney's MMORPG "Toontown Online" is written in Python (although the underlying engine is a mix of Python and C++).
  • EVE Online is mostly written in Stackless Python.

...and putting aside programming languages for a moment, we'll take a quick look at using an engine, as you've argued against using an engine based on the idea that you may be limited by the engines capabilities -- I'm strongly in favour of using existing engines or libraries where appropriate, and while you are to a certain extent correct that using an engine or library can sometimes impose limitations, you're probably have a worse idea of the situation than actually exists; as long as you choose an appropriate engine there's no reason you'll run into limitations. A few commercial titles that use existing engines include:
  • You mentioned the Call of Duty series; the first Call of Duty game was built using the id Tech 3 engine. Here's a list of some other titles which used the same engine, including Quake 3 and Return To Castle Wolfenstein amongst others. The list for id Tech 4 is less impressive but includes Doom3, Quake 4, and Prey.
  • Here's a list of games which used various versions of the Unreal Engine. There are well over 100 games listed, and a few select titles include BioShock, Gears of War, and Mass Effect -- amongst MANY others.
  • This list is games that used the Source engine, and includes Half Life 2, Left 4 Dead, and Portal.

As you can see, there are plenty of games made with languages other than C++, and whether you choose to use another language such as C# or decide to stick with C++ there's no real reason you shouldn't use an existing engine; you would be in good company with a massive number of commercial titles by doing so, and would learn a valuable skill (the ability to work with existing engines) that would be required for many positions should you ever wish to work in the industry.


I wrote this post in the hopes of convincing you to consider languages other than C++ -- C# would make an excellent choice for you, and should not be a limiting factor in what you can achieve, or should you choose to go with C++ after all to try to sway your attitude about using existing engines -- which simply gets the creation of basic functionality out of the way so you can focus on an actual game.

However, if you take nothing else away from this and still wish to use C++, I hope you choose to get started right away with whatever language you want. You could spend forever discussing the options back-and-forth, but you'll never get anywhere unless you jump right in and start doing things. We recommend C#, but use C++ if you really want to; just start using something now.


I hope that's helpful! Posted Image

#18 keltor2243   Members   -  Reputation: 123

Like
0Likes
Like

Posted 19 January 2012 - 04:35 PM

I believe some of the replies are a bit overboard on the whole don't start with C++. I think they are going a bit overboard with the whole C# thing honestly. You CAN start out with C++, depending how you enter the CS department at Stanford, you will in fact start out with C++ as your first language, otherwise you'll have 1 quarter of Java THEN proceed into C++. There's two wonderful books to start your on your path, the first is if you have absolutely NO Computer Science knowledge at all, in which case: Programming: Principles and Practice Using C++ written by the father of C++ himself as an entry-level, no previous experience required book using C++ as the language to teach you basic programming. It's an excellent book.

Now if you DO indeed have some minor experience and are not totally vapid, Accelerated C++ is a fantastic book that will guide you through the basics of programming in C++.

After this you'll really want to learn more about Data Structures/Algorithms, Computer Org (how the hardware works w/o the EE stuff). Next up would be Discrete Math, Calculus, Linear Algebra, and some basic Statistics, Logic, Economics, and Probability.

While you are covering those other subjects, you can start working on your first game, something REALLY basic like Tetris or Tic-tac-toe. I started with a black jack game myself (in Dos using CGA graphics). Then something more complex like Breakout, on to Pac-Man and finally a Platformer/Sidescroller game like Super Mario Brothers.

Do not worry about things like the engine you use or libraries yet, come to those forks in the road when you are actually THERE and not probably a year or more in the future.

#19 SimonForsman   Crossbones+   -  Reputation: 6306

Like
1Likes
Like

Posted 19 January 2012 - 05:29 PM

I'm completely new like everyone making topics in this category. I'm just not sure about the language I should start to learn because for e.g, I don't wanna be stuck with terraria-like games if I learn XNA. This happens mostly because I have no idea how this area (programming) works. Neither do I know how to learn and which communities to be in.


The upper limit for what you can do with XNA is not terraria, You could make games with a visual quality that rivals games like Skyrim or other modern console titles with it (Given enough skill and time), Its really not the tools you use that determine what the game will look like.

Here is a XNA demo microsoft have made:

Edit: This is silly, i post a youtube link and the forum has to make it inline (Rather than a clickable link) and then it removes it entierly...
http://www.youtube.com/watch?v=rRGMcFswwik
//in case it removes the vid



You could write a game that is identical to BF3 using Java if you wanted to, Your choice of language can potentially increase the system requirements of the final product (Allthough strictly speaking this has far more to do with the compiler/VM than the language itself) and your choice of graphics API can restrict you somewhat in terms of what hardware features you can use, XNA is essentially at the same feature level as DX9 and the xbox360).



If you want to make high quality games you should use the tools that simplify the process the most, (Unity, UDK, XNA are all good options for the PC)
I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

#20 daedalus316   Members   -  Reputation: 119

Like
1Likes
Like

Posted 21 January 2012 - 12:00 PM

I personally feel that python is a brilliant way to get into game design and programming. It can teach you the fundamentals and lets you et things done very quickly. Also it is very readable code and is great for a beginner before jumping into C++ or another language. My suggestion woudl be to make a few basic games(pong, asteroids, tetris) in python using either pygame or pyglet, which are both great libraries.
www.worldofuniverse.wordpress.com




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.



PARTNERS