Jump to content

  • Log in with Facebook Log in with Twitter Log In with Google      Sign In   
  • Create Account

Welcome to BZPower!

Hi there, while we hope you enjoy browsing through the site, there's a lot more you can do if you register. The process is easy and you can use your Google, Facebook, or Twitter account to make it even faster. Some perks of joining include:
  • Create your own topics, participate in existing discussions, and vote in polls
  • Show off your creations, stories, art, music, and movies and play member and staff-run games
  • Enter contests to win free LEGO sets and other prizes, and vote to decide the winners
  • Participate in raffles, including exclusive raffles for new members, and win free LEGO sets
  • Send private messages to other members
  • Organize with other members to attend or send your MOCs to LEGO fan events all over the world
  • Much, much more!
Enjoy your visit!


Photo

How do I get into programing


  • Please log in to reply
22 replies to this topic

#1 Offline PrismWind

PrismWind
  • Premier Member
    BioniLUG Member
  • Premier Members
  • Seeker

  • 224 posts

Posted Mar 15 2014 - 04:11 PM

Where do I start? I want to make a game like legends of mata nui. How long did it take you to learn?
  • 0

          In The Prism Dimension,

 

               nyan2.gif

              Nyan Cat Sees ALL

 

 

 

Admin on BioMediaProject, obsessed with finding Legends of Mata Nui, and a Pianist/Organist. 


#2 Offline -Windrider-

-Windrider-
  • Premier Member
  • Premier Global Moderators
  • Literally Kagome

  • 5,319 posts
  •   BZP Staff

Posted Mar 15 2014 - 04:14 PM

This seems like a better fit for Fan Created Media, since Media Discussion is for topics about things produced officially by LEGO.

Moving...


  • 0

#3 Offline Snubby

Snubby
  • Outstanding BZPower Citizens
  • Armored Protector

  • 303 posts
  •   Outstanding BZPower Citizen

Posted Mar 15 2014 - 05:37 PM

Creating a game is a lot more than just programming. You should start with some planning and concept art and that stuff, then learn modeling and animation (I'd recommend Blender) and model and animate your characters, and then learn the type of programming language you would like to use (I believe that Blender has some sort of Python tool on it, but I'm not 100% sure). Unless you would like to use Flash (you would get pictures like MNOG), which I think you generate the pictures from the code, but again, I'm not 100% sure of that. 

 

With that being said, I'm no genius with computer coding, and you would get more detailed advice from someone more experienced :) . 


Edited by Underscore, Mar 15 2014 - 08:28 PM.

  • 1

#4 Offline Katuko

Katuko
  • Premier Member
  • Premier Members
  • Mask of Light Unveiled

  • 5,144 posts
  •  

Posted Mar 15 2014 - 06:29 PM

There are many ways to program, and to make games. Personally, I have been using the aptly-named GameMaker (now GameMaker:Studio) for years. It's rather simple to use, and provides a drag-n-drop icon interface to get you started. Then you can try translating the icon functions into GameMaker's scripting language, which teaches you many programming basics while not being quite as advanced as the more hardcore programming languages. GM:S is primarily a 2D game-making program. It can compile to Windows EXE format, and to others if you buy export modules for that. The Standard version of the program has been free on 2 separate occasions recently as part of promotional stunts, so if you're lucky they will do it again soon.

RPG Maker is popular with those who want to make a classic RPG as quickly as possible. As the name implies, this program comes with a pre-made dialogue system, battle engine, map, etc. In this program you can also try your hand at scripting your own things. Similar programs exist for other types of games.

For 3D, I second Underscore's suggestion of trying Blender, which is free to download and use. It's primarily a 3D modeling program, but it also contains functions that can allow you to program a game. It's hard to dive into straight away, though, so you might want to teach yourself 3D modeling and simple programming separately first. Flash is another good starting point for vector-based 2D animations and games because of its simplicity and wide-spread use, but Adobe Flash itself costs a lot of money. You can download a 30-day free trial, but you might need more time to get the hang of it and make what you want. Flash uses a timeline coupled with ActionScript to make things happen. For 3D there is also the Unreal Development Kit, which is really industry-quality and free for anyone to download and use. It has a scripting language used to make the engine do what you want. Complex, but good. Unity is another 3D tool which has recently gotten a lot of popularity among amateur game makers.

Programming games can be hard, but there are many tutorials for different languages out there. Many of them share functionality, so that if you learn one you can move to another with relative ease. Some languages are a bit more finicky than others, though, and they can have their quirks.

There are also many pre-made modules which are far easier to use than if you were to make everything from scratch. Trying to make a game in C++ is hard unless you know what you're doing. Downloading an engine and building upon it is better, and saves time. You can still dive into the source code and learn from it, so that you can make your own engine later.


Oh, and one big tip: Start small. Most aspiring game programmers have a dream about a giant game project, but the fact of the matter is that if you start out making the next World of Warcraft you will almost certainly fail. Instead, if your goal is something like WoW, then you should learn how to make it in pieces: Learn how to make a character walk around, then how to make a simple battle, how to make an inventory, how to make big worlds load without lag, and so on. Eventually you will have learned enough to join the concepts together.

Edited by Katuko, Mar 15 2014 - 06:34 PM.

  • 4

rahkshi_elite_banner5b.png
Updated February 2014: Added new attacks for Toa of Iron, Plant Life and Psionics!
[ What YOU can do to help develop BIONICLE Fighter! ]
Click here for my: Art | BZP Blog | WordPress Blog


#5 Online GSR

GSR
  • Premier Member
  • Premier Forum Leaders
  • Book Badger

  • 978 posts
  •   BZP Leader

Posted Mar 15 2014 - 07:17 PM

Underscore and Katuko gave some great pointers for getting started with regards to making games.  That said, programming is a titanic field - and that said, there are a few base concepts you should get down pat before you throw yourself into trying to make larger games and programs.

 

If it's your first time programming at all, MIT's Scratch project is a great way to learn basic programming concepts in a way that doesn't involve running around looking for where you forgot a semicolon.  It may seem a bit cartoonish, and it's somewhat limited, but it's very easy to jump right into (no installations/etc. are required) and will teach you stuff like control flow, variables, and the like as well (if not better) than more specialized programs.

 

Once you've got a good grip on the basics, move onto more specialized game-making software as mentioned above.  And while it is of course possible to make games using traditional programming languages like C++ or Java, that is much, much more difficult than using a game-making program if that's what you're focusing on.

 

There's quite a few BZPers who work on games or programming, so feel free to ask for advice as you need it!


  • 0

#6 Offline Meiko

Meiko
  • Premier Member
    BioniLUG Member
  • Premier Outstanding BZP Citizens
  • Nuhvok-Kal Attacks!

  • 3,036 posts
  •   Outstanding BZPower Citizen

Posted Mar 15 2014 - 10:26 PM

Learn HTML, JavaScript, CSS and XML. Web-based development will work better for you. This is the 21st century; there's no point using things like Flash nowadays. If you must go for a desktop-based application though, use Python, Ruby or Java instead of anything else, since it will work across platforms without having to be reprogrammed and recompiled for various platforms.


  • 0
--
Meiko
News reporter and database administrator at Brickset (profile)
Administrator at Brickipedia (profile)
Former administrator at BIONICLEsector01 (profile)
MediaWiki developer (profile)
 
DISCLAIMER: All opinions and contributions made under this account are based solely on my own personal thoughts and opinions, and in no way represent any of the above groups/entities. If you have any concerns or inquiries about the contributions made under this account, please contact me individually and I will address them with you to the best of my ability.

#7 Offline fishers64

fishers64
  • Premier Member
  • Premier Outstanding BZP Citizens
  • Kohrak-Kal Shattered

  • 4,782 posts
  •   Outstanding BZPower Citizen

Posted Mar 15 2014 - 11:38 PM

Learn HTML, JavaScript, CSS and XML. Web-based development will work better for you. This is the 21st century; there's no point using things like Flash nowadays. If you must go for a desktop-based application though, use Python, Ruby or Java instead of anything else, since it will work across platforms without having to be reprogrammed and recompiled for various platforms.

I don't know if this is what you want to program up a game. Katuko's suggestions ring more true to me as better. 

 

If you want to know webcode to put your game in a browser, www.w3schools.com is your friend. But I've done HTML, CSS, and JS, and none of them seem ideal to program up a game. I've also never used Java for game design either - and I would advise against it personally, as Java is cantankerous to work with. If you really need to learn hard Java, C++, C#, etc, you need to take a programming class, and most aren't geared toward game design. Go with what Kat says - he's a game developer himself, and knows what he's doing. 


  • 0

#8 Offline PrismWind

PrismWind
  • Premier Member
    BioniLUG Member
  • Premier Members
  • Seeker

  • 224 posts

Posted Mar 16 2014 - 12:34 AM

There are many ways to program, and to make games. Personally, I have been using the aptly-named GameMaker (now GameMaker:Studio) for years. It's rather simple to use, and provides a drag-n-drop icon interface to get you started. Then you can try translating the icon functions into GameMaker's scripting language, which teaches you many programming basics while not being quite as advanced as the more hardcore programming languages. GM:S is primarily a 2D game-making program. It can compile to Windows EXE format, and to others if you buy export modules for that. The Standard version of the program has been free on 2 separate occasions recently as part of promotional stunts, so if you're lucky they will do it again soon.

RPG Maker is popular with those who want to make a classic RPG as quickly as possible. As the name implies, this program comes with a pre-made dialogue system, battle engine, map, etc. In this program you can also try your hand at scripting your own things. Similar programs exist for other types of games.

For 3D, I second Underscore's suggestion of trying Blender, which is free to download and use. It's primarily a 3D modeling program, but it also contains functions that can allow you to program a game. It's hard to dive into straight away, though, so you might want to teach yourself 3D modeling and simple programming separately first. Flash is another good starting point for vector-based 2D animations and games because of its simplicity and wide-spread use, but Adobe Flash itself costs a lot of money. You can download a 30-day free trial, but you might need more time to get the hang of it and make what you want. Flash uses a timeline coupled with ActionScript to make things happen. For 3D there is also the Unreal Development Kit, which is really industry-quality and free for anyone to download and use. It has a scripting language used to make the engine do what you want. Complex, but good. Unity is another 3D tool which has recently gotten a lot of popularity among amateur game makers.

Programming games can be hard, but there are many tutorials for different languages out there. Many of them share functionality, so that if you learn one you can move to another with relative ease. Some languages are a bit more finicky than others, though, and they can have their quirks.

There are also many pre-made modules which are far easier to use than if you were to make everything from scratch. Trying to make a game in C++ is hard unless you know what you're doing. Downloading an engine and building upon it is better, and saves time. You can still dive into the source code and learn from it, so that you can make your own engine later.


Oh, and one big tip: Start small. Most aspiring game programmers have a dream about a giant game project, but the fact of the matter is that if you start out making the next World of Warcraft you will almost certainly fail. Instead, if your goal is something like WoW, then you should learn how to make it in pieces: Learn how to make a character walk around, then how to make a simple battle, how to make an inventory, how to make big worlds load without lag, and so on. Eventually you will have learned enough to join the concepts together.

I am already an expert at gamemaker studio. Should I try blender or unity? will that be suficent to make a LOMN Clone?


  • 0

          In The Prism Dimension,

 

               nyan2.gif

              Nyan Cat Sees ALL

 

 

 

Admin on BioMediaProject, obsessed with finding Legends of Mata Nui, and a Pianist/Organist. 


#9 Offline Katuko

Katuko
  • Premier Member
  • Premier Members
  • Mask of Light Unveiled

  • 5,144 posts
  •  

Posted Mar 16 2014 - 06:03 AM

I am already an expert at gamemaker studio. Should I try blender or unity? will that be suficent to make a LOMN Clone?


If you're really an expert in GMS, then I believe you'll be able to grasp the scripting languages of Blender or Unity pretty quickly. Starting from scratch in something like Python would give you good coding knowledge, but it would likely take a long time before you'd be able to make anything worthwhile as far as games go. For cross-platform 3D development Unity may be best, as it boasts about being able to export to 10 platforms and it definitely does 3D well enough. It's sufficient to make a LOMN clone - all the tools are there - but it comes down to personal skill and how much time you can devote. Big games usually involve at least a few people on a team, so that the programmers can focus on programming and the graphical artists can work on modeling and other things.

  • 0

rahkshi_elite_banner5b.png
Updated February 2014: Added new attacks for Toa of Iron, Plant Life and Psionics!
[ What YOU can do to help develop BIONICLE Fighter! ]
Click here for my: Art | BZP Blog | WordPress Blog


#10 Offline bionicleFanatic

bionicleFanatic
  • Members
  • Tohunga

  • 29 posts

Posted Mar 16 2014 - 09:02 AM

I would strongly recommend Khan Academy or Udacity, both where a great introduction to learning coding.


  • 0

#11 Offline Meiko

Meiko
  • Premier Member
    BioniLUG Member
  • Premier Outstanding BZP Citizens
  • Nuhvok-Kal Attacks!

  • 3,036 posts
  •   Outstanding BZPower Citizen

Posted Mar 16 2014 - 10:55 AM

 

Learn HTML, JavaScript, CSS and XML. Web-based development will work better for you. This is the 21st century; there's no point using things like Flash nowadays. If you must go for a desktop-based application though, use Python, Ruby or Java instead of anything else, since it will work across platforms without having to be reprogrammed and recompiled for various platforms.

I don't know if this is what you want to program up a game. Katuko's suggestions ring more true to me as better. 

 

If you want to know webcode to put your game in a browser, www.w3schools.com is your friend. But I've done HTML, CSS, and JS, and none of them seem ideal to program up a game. I've also never used Java for game design either - and I would advise against it personally, as Java is cantankerous to work with. If you really need to learn hard Java, C++, C#, etc, you need to take a programming class, and most aren't geared toward game design. Go with what Kat says - he's a game developer himself, and knows what he's doing. 

HTML is the most-supported language for game development across any platform (Windows, OS X, any Linux, UNIX, BSD, Xbox, PlayStation, 3DS, Wii U, Android, iOS, etc), and is by far the easiest, being object-oriented with block-like syntax. LEGO has thankfully begun to use it over Flash in some of their latest games such as the LEGO Movie Sig-Fig Creator or the LEGO Movie Game Maker.


Edited by Meiko, Mar 16 2014 - 10:56 AM.

  • 0
--
Meiko
News reporter and database administrator at Brickset (profile)
Administrator at Brickipedia (profile)
Former administrator at BIONICLEsector01 (profile)
MediaWiki developer (profile)
 
DISCLAIMER: All opinions and contributions made under this account are based solely on my own personal thoughts and opinions, and in no way represent any of the above groups/entities. If you have any concerns or inquiries about the contributions made under this account, please contact me individually and I will address them with you to the best of my ability.

#12 Offline Bitl

Bitl
  • Members
  • Tohunga

  • 33 posts
  •  

Posted Mar 16 2014 - 11:33 AM

I would strongly reccomend using Game Maker. After you have built a few games with the drag & drop element then you can quickly go on to coding with GML.

 

A tool I use for GML is "GML Buddy V3" ( http://sandbox.yoyog...36-gml-buddy-v3 ) which allows you to convert your drag and drop elements into actual code that you can use. However, I haven't tested this in Game Maker Studio yet, so some code inside of it might be outdated.


  • 0

biorena_banner.png

Pre-Alpha 1.0.0: Coming soon...

 

I was a LEGO Universe Closed Beta Tester!


#13 Offline Katuko

Katuko
  • Premier Member
  • Premier Members
  • Mask of Light Unveiled

  • 5,144 posts
  •  

Posted Mar 16 2014 - 12:31 PM

HTML5 is based in Java as far as game-making goes. When talking about "regular" HTML it is usually assumed that you mean basic web formatting. Being easiest is also debatable, as these kind of scripting languages can be very similar to each other; and for a 3D game Unity may trump "pure code" and 2D-based programs such as GameMaker and Construct 2.

In the end the tool and/or its simplicity doesn't matter so much as the programmer's desire to, well, program, and the end goal of the project. In this case it is a 3D adventure game, and for that I would recommend a tool that has a 3D game engine built into it. Unity seems good for that. It can use both JavaScript and C# for its scripts, as well as Boo. Personally I've been testing the C# scripting, at it seems much the same as the proposed HTML5/Java would be to script.

Plus, it is important to think: Will my game be suitable for any medium in the first place? I mean, Battlefield 4 has a web-based launcher, but its main gameplay can not be done on mobile. There is a mobile app that lets you act as a commander, but it only has a map view compared to the main game's full 3D environments. The intensity of the game will likely not be so high, but the number of buttons etc. could be an issue on devices without a keyboard.

Edited by Katuko, Mar 16 2014 - 12:32 PM.

  • 1

rahkshi_elite_banner5b.png
Updated February 2014: Added new attacks for Toa of Iron, Plant Life and Psionics!
[ What YOU can do to help develop BIONICLE Fighter! ]
Click here for my: Art | BZP Blog | WordPress Blog


#14 Offline JrMasterModelBuilder

JrMasterModelBuilder
  • Outstanding BZPower Citizens
  • Descending into Protodermis

  • 992 posts
  •   Outstanding BZPower Citizen

Posted Mar 16 2014 - 01:46 PM

If I were going to do this, I would use UDK, Unity3D, or WebGL utilizing Three.JS and Bullet.JS. I would probably favor UDK in this, since the default game is pretty close, and the only things you would need to code are your custom gameplay elements. You will also need a 3D modeling/animation/texture painting package, I would use Autodesk Maya and Mudbox, but Blender is not bad.
 

HTML5 is based in Java as far as game-making goes.

JavaScript actually. While derived from Java at the most basic level back in the Netscape days, they are very different. Unless you mean putting an actual Java applet in an HTML page, in which case, don't. A Java applet will run far better out of the browser.
 

 

Learn HTML, JavaScript, CSS and XML. Web-based development will work better for you. This is the 21st century; there's no point using things like Flash nowadays. If you must go for a desktop-based application though, use Python, Ruby or Java instead of anything else, since it will work across platforms without having to be reprogrammed and recompiled for various platforms.

I don't know if this is what you want to program up a game. Katuko's suggestions ring more true to me as better.

If you want to know webcode to put your game in a browser, www.w3schools.com is your friend. But I've done HTML, CSS, and JS, and none of them seem ideal to program up a game. I've also never used Java for game design either - and I would advise against it personally, as Java is cantankerous to work with. If you really need to learn hard Java, C++, C#, etc, you need to take a programming class, and most aren't geared toward game design. Go with what Kat says - he's a game developer himself, and knows what he's doing.

I would recommend Codeacademy if you want to get started learning to code. W3Schools is problematic. Also, learning web languages beyond JavaScript isn't going to help you much, since the only way a 3D game can be made in a browser like this would be through WebGL, which is a 3D drawing context to the HTML5 canvas tag.


Edited by JrMasterModelBuilder, Mar 16 2014 - 01:51 PM.

  • 0

banner.png
{ If you have BIONICLE: The Legend of Mata Nui, PM me . . . NOW! }
I'm well over the age of 13, so if you work for LEGO, you can talk to me. :)


#15 Offline Katuko

Katuko
  • Premier Member
  • Premier Members
  • Mask of Light Unveiled

  • 5,144 posts
  •  

Posted Mar 16 2014 - 01:57 PM

HTML5 is based in Java as far as game-making goes.

JavaScript actually. While derived from Java at the most basic level back in the Netscape days, they are very different. Unless you mean putting an actual Java applet in an HTML page, in which case, don't. A Java applet will run far better out of the browser.

Yeah, I mostly meant the syntax, and I know what you mean. Java apps can be somewhat rage-inducing at times. :lol:

Your link does not cite any examples of faulty information W3Schools. I would take it with a grain of salt the same way you should take W3Schools (and any other tutorial page on the web) with a grain of salt. The site teaches you the very basics and has a list of functions to use. Many pages do this. Naturally every programmer have their preferred method of coding, and learning one good way of coding does not necessarily mean there is not an even better one out there -- but often if it works, it works; and so long as it does not have massive memory leaks or other errors it is perfectly acceptable code.

Edited by Katuko, Mar 16 2014 - 02:02 PM.

  • 0

rahkshi_elite_banner5b.png
Updated February 2014: Added new attacks for Toa of Iron, Plant Life and Psionics!
[ What YOU can do to help develop BIONICLE Fighter! ]
Click here for my: Art | BZP Blog | WordPress Blog


#16 Offline JrMasterModelBuilder

JrMasterModelBuilder
  • Outstanding BZPower Citizens
  • Descending into Protodermis

  • 992 posts
  •   Outstanding BZPower Citizen

Posted Mar 16 2014 - 03:27 PM

Yeah, I mostly meant the syntax, and I know what you mean. Java apps can be somewhat rage-inducing at times. :lol:

Java in the browser has definitely left a bad taste. There are some really great desktop apps written in Java though, Eclipse is a great IDE, and is Java based. Many Android apps are also written in Java.
 

Your link does not cite any examples of faulty information W3Schools. I would take it with a grain of salt the same way you should take W3Schools (and any other tutorial page on the web) with a grain of salt. The site teaches you the very basics and has a list of functions to use. Many pages do this. Naturally every programmer have their preferred method of coding, and learning one good way of coding does not necessarily mean there is not an even better one out there -- but often if it works, it works; and so long as it does not have massive memory leaks or other errors it is perfectly acceptable code.

Granted, but I have personally found the site to be riddled with errors, and uselessly vague information. It's also pretty clear they are concerned more with ad revenue than useful information, which is probably why they are pretending to be associated with the W3C.

W3Schools.com is not affiliated with the W3C in any way. Members of the W3C have asked W3Schools to explicitly disavow any connection in the past, and they have refused to do so.


  • 0

banner.png
{ If you have BIONICLE: The Legend of Mata Nui, PM me . . . NOW! }
I'm well over the age of 13, so if you work for LEGO, you can talk to me. :)


#17 Offline Ldd2000

Ldd2000
  • Members
  • Toa

  • 108 posts

Posted Mar 16 2014 - 04:19 PM

If I was doing this, I would either use Unity(unity3d.com) which does 3d and 2d games. Or I would use the LWJGL library for Java. 

 

Creating a game is a lot more than just programming. You should start with some planning and concept art and that stuff, then learn modeling and animation (I'd recommend Blender) and model and animate your characters, and then learn the type of programming language you would like to use (I believe that Blender has some sort of Python tool on it, but I'm not 100% sure). Unless you would like to use Flash (you would get pictures like MNOG), which I think you generate the pictures from the code, but again, I'm not 100% sure of that. 

 

With that being said, I'm no genius with computer coding, and you would get more detailed advice from someone more experienced :) . 

 

Blender can be a good tool for making games, but it can also be somewhat simple and frustrating, Blender is written in the Python programing language, which is really easy to learn if you look in the right places.

 

Also flash is becoming really outdated, most people use Unity or CryEngine nowadays, so I wouldn't recommend using flash.

 

 

There are many ways to program, and to make games. Personally, I have been using the aptly-named GameMaker (now GameMaker:Studio) for years. It's rather simple to use, and provides a drag-n-drop icon interface to get you started. Then you can try translating the icon functions into GameMaker's scripting language, which teaches you many programming basics while not being quite as advanced as the more hardcore programming languages. GM:S is primarily a 2D game-making program. It can compile to Windows EXE format, and to others if you buy export modules for that. The Standard version of the program has been free on 2 separate occasions recently as part of promotional stunts, so if you're lucky they will do it again soon.

RPG Maker is popular with those who want to make a classic RPG as quickly as possible. As the name implies, this program comes with a pre-made dialogue system, battle engine, map, etc. In this program you can also try your hand at scripting your own things. Similar programs exist for other types of games.

For 3D, I second Underscore's suggestion of trying Blender, which is free to download and use. It's primarily a 3D modeling program, but it also contains functions that can allow you to program a game. It's hard to dive into straight away, though, so you might want to teach yourself 3D modeling and simple programming separately first. Flash is another good starting point for vector-based 2D animations and games because of its simplicity and wide-spread use, but Adobe Flash itself costs a lot of money. You can download a 30-day free trial, but you might need more time to get the hang of it and make what you want. Flash uses a timeline coupled with ActionScript to make things happen. For 3D there is also the Unreal Development Kit, which is really industry-quality and free for anyone to download and use. It has a scripting language used to make the engine do what you want. Complex, but good. Unity is another 3D tool which has recently gotten a lot of popularity among amateur game makers.

Programming games can be hard, but there are many tutorials for different languages out there. Many of them share functionality, so that if you learn one you can move to another with relative ease. Some languages are a bit more finicky than others, though, and they can have their quirks.

There are also many pre-made modules which are far easier to use than if you were to make everything from scratch. Trying to make a game in C++ is hard unless you know what you're doing. Downloading an engine and building upon it is better, and saves time. You can still dive into the source code and learn from it, so that you can make your own engine later.


Oh, and one big tip: Start small. Most aspiring game programmers have a dream about a giant game project, but the fact of the matter is that if you start out making the next World of Warcraft you will almost certainly fail. Instead, if your goal is something like WoW, then you should learn how to make it in pieces: Learn how to make a character walk around, then how to make a simple battle, how to make an inventory, how to make big worlds load without lag, and so on. Eventually you will have learned enough to join the concepts together.

 

GameMaker can be a good tool to use, but I found it to be quite simple, and it's feature set to be a bit limited, unless you buy the full version. Personally I prefer Unity over Gamemaker if I'm creating a game. 

 

 

Learn HTML, JavaScript, CSS and XML. Web-based development will work better for you. This is the 21st century; there's no point using things like Flash nowadays. If you must go for a desktop-based application though, use Python, Ruby or Java instead of anything else, since it will work across platforms without having to be reprogrammed and recompiled for various platforms.

 

Python, or Java would be your best bet if you wanted to program a game from scratch, I haven't learned Ruby yet, so no comment there. Also on a side note, Unity will allow you to develop for almost any platform, without having to rewrite your code. You just select which OS to compile your game/app for, and Unity will do the rest.

 

 

 

Learn HTML, JavaScript, CSS and XML. Web-based development will work better for you. This is the 21st century; there's no point using things like Flash nowadays. If you must go for a desktop-based application though, use Python, Ruby or Java instead of anything else, since it will work across platforms without having to be reprogrammed and recompiled for various platforms.

I don't know if this is what you want to program up a game. Katuko's suggestions ring more true to me as better. 

 

If you want to know webcode to put your game in a browser, www.w3schools.com is your friend. But I've done HTML, CSS, and JS, and none of them seem ideal to program up a game. I've also never used Java for game design either - and I would advise against it personally, as Java is cantankerous to work with. If you really need to learn hard Java, C++, C#, etc, you need to take a programming class, and most aren't geared toward game design. Go with what Kat says - he's a game developer himself, and knows what he's doing. 

 

 

W3schools is a great source for web based development, but I think you would be better off making a standalone desktop app. Java can be easy to learn, if you start looking in the right places. 

 

 

There are many ways to program, and to make games. Personally, I have been using the aptly-named GameMaker (now GameMaker:Studio) for years. It's rather simple to use, and provides a drag-n-drop icon interface to get you started. Then you can try translating the icon functions into GameMaker's scripting language, which teaches you many programming basics while not being quite as advanced as the more hardcore programming languages. GM:S is primarily a 2D game-making program. It can compile to Windows EXE format, and to others if you buy export modules for that. The Standard version of the program has been free on 2 separate occasions recently as part of promotional stunts, so if you're lucky they will do it again soon.

RPG Maker is popular with those who want to make a classic RPG as quickly as possible. As the name implies, this program comes with a pre-made dialogue system, battle engine, map, etc. In this program you can also try your hand at scripting your own things. Similar programs exist for other types of games.

For 3D, I second Underscore's suggestion of trying Blender, which is free to download and use. It's primarily a 3D modeling program, but it also contains functions that can allow you to program a game. It's hard to dive into straight away, though, so you might want to teach yourself 3D modeling and simple programming separately first. Flash is another good starting point for vector-based 2D animations and games because of its simplicity and wide-spread use, but Adobe Flash itself costs a lot of money. You can download a 30-day free trial, but you might need more time to get the hang of it and make what you want. Flash uses a timeline coupled with ActionScript to make things happen. For 3D there is also the Unreal Development Kit, which is really industry-quality and free for anyone to download and use. It has a scripting language used to make the engine do what you want. Complex, but good. Unity is another 3D tool which has recently gotten a lot of popularity among amateur game makers.

Programming games can be hard, but there are many tutorials for different languages out there. Many of them share functionality, so that if you learn one you can move to another with relative ease. Some languages are a bit more finicky than others, though, and they can have their quirks.

There are also many pre-made modules which are far easier to use than if you were to make everything from scratch. Trying to make a game in C++ is hard unless you know what you're doing. Downloading an engine and building upon it is better, and saves time. You can still dive into the source code and learn from it, so that you can make your own engine later.


Oh, and one big tip: Start small. Most aspiring game programmers have a dream about a giant game project, but the fact of the matter is that if you start out making the next World of Warcraft you will almost certainly fail. Instead, if your goal is something like WoW, then you should learn how to make it in pieces: Learn how to make a character walk around, then how to make a simple battle, how to make an inventory, how to make big worlds load without lag, and so on. Eventually you will have learned enough to join the concepts together.

I am already an expert at gamemaker studio. Should I try blender or unity? will that be suficent to make a LOMN Clone?

 

 

I would recommend using Unity, as it will give you the biggest feature set, and will support almost any programs you use to make your assets. Unity will be more the sufficient to make an LOMN clone.

 

I would recommend using Blender to make your 3d models, and Gimp to make any textures, also the Mono Develop program that is installed with Unity to do scripting.

 

 

-ldd2000

p.s: I'm working on a tutorial set for game creation using Unity, Blender, and Gimp, if you would be interested in buying it when i'm done, shoot me a pm


  • 0

leechfoam.gif "Copy and paste me into your sig! The shadows command you!"

promo_banner.png

 

Creating topic for Idd2000, please don't post until he does.

 

Or he'll eat you

 


#18 Offline Katuko

Katuko
  • Premier Member
  • Premier Members
  • Mask of Light Unveiled

  • 5,144 posts
  •  

Posted Mar 16 2014 - 06:27 PM

Java in the browser has definitely left a bad taste. There are some really great desktop apps written in Java though, Eclipse is a great IDE, and is Java based. Many Android apps are also written in Java.

Yeah, I've dabbled a bit in Eclipse as part of school work to make a mobile app. It feels pretty nice to use.
 

Granted, but I have personally found the site to be riddled with errors, and uselessly vague information. It's also pretty clear they are concerned more with ad revenue than useful information, which is probably why they are pretending to be associated with the W3C.

Hm, could you site an example of such an error? It'd be nice to confirm if I should stay clear of it in the future. Ads are never a problem for me anymore, I run full ad-blocking in my browser(s). One noisy, blinking spam pop-up too many a few years ago made me completely unwilling to spend a second more on ads.
 

GameMaker can be a good tool to use, but I found it to be quite simple, and it's feature set to be a bit limited, unless you buy the full version. Personally I prefer Unity over Gamemaker if I'm creating a game.

It's not as optimized as other languages, and it's IDE is not as good as it could be. Still, it works for sprite-based games and that's been what I need for most of my time. Plus, the name of the program is what led a 13-year old me to find it many years ago, so it's just kinda stuck after it was the first I learned. With the recent developments allowing exports to Android and other systems the program has really gotten a boost. Still, right tool for the right job, and GameMaker is not good for 3D compared to other programs.

So yeah, I'd recommend Unity as well.

  • 0

rahkshi_elite_banner5b.png
Updated February 2014: Added new attacks for Toa of Iron, Plant Life and Psionics!
[ What YOU can do to help develop BIONICLE Fighter! ]
Click here for my: Art | BZP Blog | WordPress Blog


#19 Offline JrMasterModelBuilder

JrMasterModelBuilder
  • Outstanding BZPower Citizens
  • Descending into Protodermis

  • 992 posts
  •   Outstanding BZPower Citizen

Posted Mar 16 2014 - 11:26 PM

I forgot to mention before, the Source Engine is also really powerful, if more difficult to get into. I also think Unity has some draw-backs over their competitors, as they limit certain features to the pro version. I find the 3D graphics in Unity to be limited also. For a complex, script intensive game, I would recommend Unity, but for a 3rd person shooter (which is what TLoMN boils down to), I would recommend UDK.

 

Granted, but I have personally found the site to be riddled with errors, and uselessly vague information. It's also pretty clear they are concerned more with ad revenue than useful information, which is probably why they are pretending to be associated with the W3C.

Hm, could you site an example of such an error? It'd be nice to confirm if I should stay clear of it in the future. Ads are never a problem for me anymore, I run full ad-blocking in my browser(s). One noisy, blinking spam pop-up too many a few years ago made me completely unwilling to spend a second more on ads.

 

 

Yeah, I don't see their ads and their tracking code doesn't see me, but that's not the point. Here are a few example I can readily find, from forgivable to terribly dangerous.

 

Example 1 - Vague and Incomplete Information:

 

The HTML5 video tag page has vague and dated information on browser support, which is true of almost all of their pages, but especially notable here. MDN's article has detailed and, as far as I can tell, complete information, on browser support.

 

Example 2 - Wrong Information:

 

The CSS3 @font-face Rule page states that "Internet Explorer 8 and earlier versions, do not support the @font-face rule.", but this is not true. While it may not be ideal, Internet Explorer 5.5 implemented EOT web fonts, and I have personally seen web fonts in IE8. Their page also doesn't show the necessary hacks to make this work cross-browser in the real world.

 

Example 3 - Dangerous code:

Their PHP Secure E-mail may* be secure against mail injection, but it's definitely not secure against XSS injection. I really hope nobody uses this line in their code:

<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">

Directly echoing PHP_SELF is vulnerable to XSS attacks. This is a basic attack vector that can easily be sanitized, but W3Schools makes no mention of this.

* I have not personally verified that the email injecition code is not vulnarable as well.
 

Example 4 - More Dangerous Code:

 

Ignoring the fact that their MySQLi code only shows the old-school, procedual way of using it, their MySQL tutorial has SQL injection vulnerabilities. If you use this code:

$sql="INSERT INTO Persons (FirstName, LastName, Age)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";

Expect you database tables to disappear one day. PHP's Magic Quotes might save you if enabled, but this can be bypassed in many databases. If they were using MySQLi correctly, this wouldn't be a problem.

 

Also, why no article on PDO? It's better than MySQLi.

 

Example 3 and 4 have remained for many years now.


Edited by JrMasterModelBuilder, Mar 16 2014 - 11:44 PM.

  • 0

banner.png
{ If you have BIONICLE: The Legend of Mata Nui, PM me . . . NOW! }
I'm well over the age of 13, so if you work for LEGO, you can talk to me. :)


#20 Offline fishers64

fishers64
  • Premier Member
  • Premier Outstanding BZP Citizens
  • Kohrak-Kal Shattered

  • 4,782 posts
  •   Outstanding BZPower Citizen

Posted Mar 17 2014 - 03:36 PM

I have a web design prof that has linked me to information on the W3Schools. I would rather take her word over someone (two someones) on the internet. 

 

Still, I'll try to keep what you said in mind when browsing the place, and not to trust it with server-side security issues. (And thanks for the info on the video tag...yeah I've been having trouble with that.)

 

* * *

 

Java leaves a bad taste in my mouth, period. It's a syntax-heavy language that has ten bazillion classes. A print statement takes three words. Reading from a file takes 4 lines of code and a loop. Making a program that runs something takes a six-word method declaration, not to mention the class dec on top. It has this class system that is disorienting and confusing. Not to mention system-resource heavy. Just thinking about it makes my brain hurt.  


  • 0

#21 Offline Jedi Knight Krazy

Jedi Knight Krazy
  • Members
  • Stone Champion Defeated

  • 2,780 posts
  •  

Posted Mar 17 2014 - 07:02 PM

Ack, so much misinformation going on here...

 

JavaScript is not Java and never has been. The name was a marketing decision back in the Netscape days because Java was cool. That said, they're both useful languages. Just don't confuse them if you want to be taken seriously.

 

The primary source of the Anti-W3Schools movement is w3fools.com. You can find all the information you need there to decide your stance for yourself. My opinion: It's a useful resource in a pinch, but you shouldn't rely on it.

 

The decision to start with a high-level engine or a low-level "make it from scratch" solution is based entirely on your personality. I'm a high level guy, because I'd rather spend my time on the game itself. Many of my friends are low level guys, because they find it easier to understand the underlying components of the game if they built it all themselves. Try both, and see what you think.

 

(preemptive strike) What Unity calls JavaScript is not JavaScript. It's also not Java. It's actually closest to ActionScript (that is, Flash). I'll usually call that language "UnityScript" to avoid confusion.

 

Now. For my recommendations:

 

If you want to make games, web languages are not the place to start. You'll spend too much time dealing with web oddities rather than actually getting your game to work. That said, lots of engines nowadays - especially 2D engines - have an "HTML5 export" feature which lets you distribute your game on the web. If you want to make applications and utilities, on the other hand, absolutely learn web technologies. JavaScript will get you very far nowadays.

 

For a high-level guy, I would recommend looking at GameSalad when you're getting started. I've heard very good things about it. You'll definitely outgrow it, though, at which point I would recommend Unity.

 

For a low-level guy, I would recommend the C language and SDL (Simple Drawing Library).  After getting comfortable with those, you should move to C++ and OpenGL.

 

And above all: start small


  • 0

IrMSNn3.png


#22 Offline JrMasterModelBuilder

JrMasterModelBuilder
  • Outstanding BZPower Citizens
  • Descending into Protodermis

  • 992 posts
  •   Outstanding BZPower Citizen

Posted Mar 17 2014 - 08:04 PM

Java leaves a bad taste in my mouth, period. It's a syntax-heavy language that has ten bazillion classes. A print statement takes three words. Reading from a file takes 4 lines of code and a loop. Making a program that runs something takes a six-word method declaration, not to mention the class dec on top. It has this class system that is disorienting and confusing. Not to mention system-resource heavy. Just thinking about it makes my brain hurt.

You would be surprised how many devices you interact with that are running Java perfectly fine. Reading from a file requires a loop in most languages, though Java 1.7 can read a file straight into a string. Usually, it would be easier to parse if read by line though. The class based system is also great for OOP, MVC, and modular code, and is pretty much the same in all class-based languages.

Ack, so much misinformation going on here...

JavaScript is not Java and never has been. The name was a marketing decision back in the Netscape days because Java was cool. That said, they're both useful languages. Just don't confuse them if you want to be taken seriously.

Didn't we already cover this?

The primary source of the Anti-W3Schools movement is w3fools.com. You can find all the information you need there to decide your stance for yourself. My opinion: It's a useful resource in a pinch, but you shouldn't rely on it.

That's kind-of like saying Browse Happy or crashie8.com is the primary source of the Anti-Internet Explorer movement. W3Fools is just a resource, by web developers, for web developers, to point others to.

If you want to make games, web languages are not the place to start. You'll spend too much time dealing with web oddities rather than actually getting your game to work. That said, lots of engines nowadays - especially 2D engines - have an "HTML5 export" feature which lets you distribute your game on the web. If you want to make applications and utilities, on the other hand, absolutely learn web technologies. JavaScript will get you very far nowadays.

It should be noted that the only notable game engine that can publish 3D games (the kind of game the OP is looking to make) for web is Unreal Engine 3, and it's not clear if or how you can license it (unless you count games which require plugins, like Unity3D). Also, Python or C++ would be better languages for applications and utilities, unless you plan on making them in the browser. Out-of-browser JavaScript implementations are scattered and convoluted at best.

  • 0

banner.png
{ If you have BIONICLE: The Legend of Mata Nui, PM me . . . NOW! }
I'm well over the age of 13, so if you work for LEGO, you can talk to me. :)


#23 Offline Jedi Knight Krazy

Jedi Knight Krazy
  • Members
  • Stone Champion Defeated

  • 2,780 posts
  •  

Posted Mar 18 2014 - 07:30 AM

That's kind-of like saying Browse Happy or crashie8.com is the primary source of the Anti-Internet Explorer movement. W3Fools is just a resource, by web developers, for web developers, to point others to.

Wow, bit hostile, no? I'll concede that I might be wrong about w3fools being the "source" - it's the first I heard about the W3Schools controversy, but it's still a very helpful link that hadn't been mentioned, and probably should have been one of the first things mentioned when W3Schools came up. Although I suppose I was inviting a response like that by starting my post with an arrogant statement like "Wow, so much misinformation". I apologize for that.
 

Also, Python or C++ would be better languages for applications and utilities, unless you plan on making them in the browser. Out-of-browser JavaScript implementations are scattered and convoluted at best.

Browser-based applications are pretty much the future. Even in the present, most modern applications that aren't browser-based are either A. mobile (which benefit from using OS-native design patterns) or B. content creation tools (which benefit from increased customization and a bit more processing power). But mainly, the web stack is a great place for a beginner to get started, since there's tons of helpful resources and plenty of areas for growth once you have the basics of JavaScript.

I feel like I need to mention Python here... even though Python would be a bit easier to learn for a beginner, it's a lot more difficult to create an application with a UI. UI libraries do exist for Python, but there are nowhere near as many resources for those as for HTML/CSS. But mainly, I feel that it's cruel (hyperbole, don't jump on me) to suggest Python as a first language, because it has so many nice features that it usually winds up as your only language, because you can't stand working with any other...

Edited by Jedi Knight Krazy, Mar 18 2014 - 07:30 AM.

  • 0

IrMSNn3.png





0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users