I Need Help.
Members - Reputation: 101
Posted 14 October 2012 - 01:12 PM
I think I want to begin with C++, but I don't know, I also have no idea how to code, so if one could direct me to the right direction that would be great.
GDNet+ - Reputation: 1154
Posted 14 October 2012 - 02:14 PM
Later I would suggest going with C#, is a great language, the .net framework is powerfull, and C# is accepted in Unity, which is a great engine.
But take one step at a time.
Personal blog In Portuguese: lotuzgames.wordpress.com |
Members - Reputation: 247
Posted 14 October 2012 - 02:32 PM
Members - Reputation: 1474
Posted 14 October 2012 - 04:33 PM
In the broader picture, popular games have been made in any of many languages. For the beginner, there are a few choices which are outstanding to be able to learn.
Compiled languages friendly for newbies would be the standard recommendation from the industry. The C# is the top choice, but C, Java, and others are also compiled. With a compiled language, you get a standard well supported framework to help you, making the task streamlined - such as .NET Framework, Java Framework, or the Mono Framework. These frameworks have sets of programs and libraries available called Integrated Development Environments (IDE): Visual Studio IDE for .NET Framework and MonoDevelop IDE for Mono Framework, but there is some over lap. However, Visual Studio and .NET target Windows and DirectX while MonoDevelop and Mono Framework are cross-platform. Java and Java Framework are a great cross-platform system, too. Keep mind that there are exceptions and substitutions which can be made, but these are mainstream. The C language would be one of the least that I would recommend and I explain why here...
Garbage collecting languages (Auto memory management) like Java and C# or garbage collection scripting languages such as Python are highly urged for newbies.The C and C++ have libraries which can extend them into garbage collecting, but far beyond the scope of a beginner programmer. Choosing C++ would consume you as the largest language environment in which to get lost. The C# from a garbage collection view would likely save you the most time and bugfixing effort, though Python is close behind.
The C++ area is possible, but when polled most people who started with C++ found it harder than the others that I mention here. The C++ has a managed fork which can be confused in its common language runtime and bytecode implementations, allowing class file compiling in the same program, having extensions in several areas, resulting in most newbies getting lost in the largest language jungle there is in the gaming industry. For pure performance and features, C++/Visual Studio/.NET are extremely hard to beat, but only a team working under a game developer with another artist team in support can even hope to make the typical AAA mega popular PC and XBox compatible game which would actually use the advanced features in the C++ language environment, unless an expert coder indy game developer has many years to spare.
Python (interpreted language) is a great second language, but so is Lua, Tao, and others for scripting language. Wonderful games have been made with them, sometimes in combination with another language. Blender comes with a Python game engine in its environment which you may use as a base. There have been popular games written in the scripting languages. Later you may use scripting for game functionaility on top of a compiled language like C++ or C# for engines. Dynamics languages such as Ruby or the dynamic writing in C# can speed the game making process.
Here's my advice for beginners in gaming languages:
1) Compiled language should come first. Get good with it before moving to the next. Compiled language usually has the highest performance and the class library structure is a must for complex games. The C# is a compiled language with garbage collecting built into it and is the core of the .NET Framework, though you may use other languages.
2) Scripting language, perhaps an interpreted language is a logical next language for game functionality. High or Very high level programming. Higher level frameworks such as Blender support this, but here are many wonderful ones! Beginners should get auto memory managed (garbage collecting) in their first couple languages in my opinion.
3) Managed languages or managed fork of C++ is for experienced programmers after they get the fundamentals understood well. Think of managed language or implementation as you programming much more of the technicalilities, lower level programming.
A game engine may be chosen which allows you to program your own game source code which uses their game engine to create a game:
It is possible to make or design games with no programming in using pre-built system. There are many out there, too.
Integrated Development Environments (IDE) may contain Frameworks and Software Development Kits as a complete environment to give the developer the things needed to create a program and make it run in a computer. Examples are Visual Studio, MonoDevelop, Java IDEs, and other
Frameworks - Low Level - contain APIs, language libraries, programs, software, specialized interfaces, and so on, as a layer between hardware and games in order for a game to be programmed to run through an operating system on the machine, using the computers resources. Once or as the game source code is created, more work in the Framework is added to make it run in the computer. Three common examples are .NET Framework, Mono Framework, and Java Framework.
Software Development Kits - Lower level ones such as .NET SDK are a layer between your program (game engine source code) and the computer system which allows you to make it load, compile, execute, and run in your computer. The 3D rendering engines sometimes have an SDK available to help develop programs on their system, for example.
Software Development Kits - Higher level are focused on the game source code to make it run in a computer. Most interpreted languages such as Python have communities which created SDKs to support their gaming vision on their higher level language.
Note: Sometimes a game source code and the game engine source code are integrated.
There are exceptions and blurred boundries in most of the above areas, but this gives you an outline.
Research provides much advantage through realizing your options and knowing what to do with them.
The proven path:
A) Choose a game creation system which matches your game type and language of choice.
B) Start learning to make programs very soon! Make "Hello World" and so forth.
C) Make simple 2D games like Tic-Tac-Toe, Pong, Defender, Pac-Man, Astoroids, and so forth, starting simple and progressing.
D) Practice making simple 3D games if you like.
E) Start working on your own custom game after you have carefully understood the programming in the previous steps.
Keep enjoying it!
Edited by 3Ddreamer, 14 October 2012 - 05:09 PM.
Crossbones+ - Reputation: 1389
Posted 14 October 2012 - 04:50 PM
3Ddreamer is pretty much correct, and I will add I highly recommend C# as a great beginner language, but that's just my opinion. I started with C++, and I'm thoroughly enjoying the experience. It all depends on how well you learn, and your thought process when it comes to programming. There's nothing stopping you from trying out many languages, IDE's, and Game-Development tools, so get started and find out what suits you!
Edited by superman3275, 14 October 2012 - 05:11 PM.
If you need some photo editing done, contact me:
if you want some programming help, or are recruiting for a game development team, either PM me on here or email me up there !
Members - Reputation: 1474
Posted 15 October 2012 - 01:38 PM
Before you start compiling things, you can and should make extremely simple programs like "Hello World", easy data base, simple letter display application - that sort of thing. Start with console applications using an IDE or SDK which matches your course that you plan. There are thousands of tutorials through the web to get you started in console applications. Trust me, you only need to make a few of them before you are ready to start in the area of compilation. If you get confused at any point, then feel free to ask for help.
Edited by 3Ddreamer, 15 October 2012 - 01:38 PM.
Marketplace Seller - Reputation: 9303
Posted 15 October 2012 - 08:18 PM
If you are using Python, you don't need to compile anything - you can just run it.
If you are using C++, you need to compile it before you run it - how you compile it depends on what IDE you are using.
What have you decided to use, and what difficulties are you having?
All glory be to the Man at the right hand... On David's throne the King will reign, and the Government will rest upon His shoulders. All the earth will see the salvation of God.
Members - Reputation: 3363
Posted 01 November 2012 - 01:27 PM
I am going C++, it may be one of the hardest but it is also the one that seems to be a good starting point for the others.
Wish me luck.
Hope you are well stocked up on Tylenol and anti-depressants.
Also, if you fail, reconsider and start over.
Members - Reputation: 661
Posted 02 November 2012 - 04:18 PM
If you know c++, learning anything else becomes easier. I like it cause tons of game programming books use it, so i can follow them along
I did some c# but it felt odd to me, making an array in there felt like allocating memory in c++ lol
Edited by ISDCaptain01, 02 November 2012 - 04:30 PM.