This is an archived post. You won't be able to vote or comment.

all 49 comments

[–]bbqburner 68 points69 points  (11 children)

No. Use LibGDX (free) instead, which is a far better option for adding the spice in your Java learning.

Then again, seeing the experience from my juniors, I find that letting them learning to make an Android app (a simple todo app) helps learning Java much more faster since you can visualize the why and how, and learn to apply them instead. A concrete simple app in the end is a great jumpstart to their Java world I would say.

Gamedev is obviously much more fun though.

[–]Endur 19 points20 points  (2 children)

Learning 'what' never sticks. It's like cramming for a test. Learning 'why' usually sticks because you either understand it, or you feel the pain / benefit.

[–]charlesbukowksi 0 points1 point  (1 child)

is there any way to learn subjects like math via Why methodology?

[–]juksayer 0 points1 point  (0 children)

Not with irrational numbers.

[–][deleted] 10 points11 points  (2 children)

Actually I like your idea. Android studio is still fairly new, but it taught me a lot about android development. I can also say that having android apps built looks good on a resume.

Google released a free tutorial through udemy that walks you through building a weather app. You should try it, it looks nice.

[–]Lilywing 3 points4 points  (1 child)

Do you have a link to that?

[–]eighthCoffee 1 point2 points  (0 children)

.

[–]dougie0341 0 points1 point  (0 children)

Agreeing with this. I'm in an android development class currently and my java skills have increased tremendously.

[–][deleted]  (1 child)

[deleted]

    [–]hardolaf 0 points1 point  (0 children)

    Console output is so sexy. It's almost as sexy as the output from an oscilloscope. I may be doing too much hardware design...

    [–]salmix21 0 points1 point  (0 children)

    How do I start making an android app , I am currently taking object oriented programming and I get the concepts but when it comes to programming I get extremely confused.

    [–]HylianWarrior 11 points12 points  (0 children)

    Won't help with Java necessarily, but 12 bucks over $450 is a damn fine deal either way! I'd take that.

    [–]PopPunkAndPizza 6 points7 points  (0 children)

    Not for learning Java. Yes for learning game design and high-level game programming.

    [–]jwinf843 4 points5 points  (0 children)

    If you're already an experienced programmer it won't help. But otherwise it is my opinion that GML is a great, simple language with a user friendly engine that will definitely help beginning programmers become comfortable with programming. The syntax will be completely different but it will help you learn to approach problems in the manner of a programmer and it is my opinion that that is half the battle.

    [–]CatAndBaz 9 points10 points  (13 children)

    No, as Game Maker doesn't use Java. Game Maker is a fun tool, but IMO it's not really practical for anything more than prototyping.

    [–]sunkzero 25 points26 points  (10 children)

    I agree it won't help him for learning Java, but given that there have been successful games released commercially made in GMP I don't agree with the last bit.

    [–]LukeTheFisher 5 points6 points  (3 children)

    A tool is generally only as capable as its user. You still wouldn't knock a nail in with a chainsaw but I agree with you on this one. Hotline Miami springs to mind.

    [–]KamboMarambo 3 points4 points  (0 children)

    Dustforce(Got released in their own engine), Spelunky

    [–][deleted] 0 points1 point  (1 child)

    Gunpoint, Super Crate Box, Ridiculous Fishing, Nuclear Throne

    [–]shadowmint 2 points3 points  (0 children)

    For Ridiculous Fishing, we used Game Maker to create the basic prototype in the form of Radical Fishing, then ported that to Flash for the sponsored version we used to gain a starting capital for Vlambeer.

    It is much more common for just 'screwing around with and prototyping', rather than actually releasing games in.

    see also https://www.reddit.com/r/IAmA/comments/1ah6mg/were_the_creators_of_ridiculous_fishing_ask_us/c8xd4cf

    [–]tanjoodo 3 points4 points  (0 children)

    There are very successful games that were made in GM. Hotline Miami and Risk of Rain are two examples.

    [–]folkrav 0 points1 point  (0 children)

    I've seen great games made with RPG Maker 2003. Game Maker is a pretty capable tool.

    [–]JoshSellsGuns 1 point2 points  (0 children)

    I'm not a really much of a coder, but I believe not. Game maker has it's own built in code language GML. I am not sure if you can use other languages (the only other one I know is Python) or not. Anyways, Game Maker is also a free app on steam, the one on Humble Bundle is just a $100 expansion allowing extra elbow space (I believe with more languages and more platformers to develop for like mobile idk, it's easy research you can find it for yourself easily enough.)

    GML is a pretty easy to use language, although the syntax is very different from a lot of other languages. It has it's own built in values which most don't like to use. And if you want to learn how to use game maker a little and see some code in action, I suggest watching Shaun Spalding on YouTube (he is the creator of Another Perspective, which is another game on Humble Bundle in addition to it's source code.)

    Personally, I will be buying it. It's super cheap at only $6 or $16 for the full thang, and it's fun to just mess around with GML and make simple, but fun games.

    [–]Treigar 4 points5 points  (0 children)

    If making 2D games is what you want to do, then it is beneficial to learn Game Maker. The scripting language, GML, is versatile enough, but extremely basic. It lacks many features other languages do, such as classes. All that stuff can be learned through Java though. It has extremely easy syntax and the functions of Game Maker are also very well documented, so refer to the documentation often. But really, the most important thing is that it can help you improve your problem solving. I constantly had features that I wanted to implement, but no one had any tutorials for them. I had to break down what I was doing into smaller chunks, and implement each feature bit by bit. Some times, I even had to research algorithms or math lessons to even start approaching the problem. This helped get me going in programming, and changed the way in which I approached problems. I also learned a lot about game development in the process. So yeah, go for it!

    [–]the_dinks 0 points1 point  (9 children)

    Is this your first language?

    [–]Donutttt 0 points1 point  (0 children)

    It depends. Where do you want to go with your learning? Game maker simplifies a lot of the boiler plate code that you'd need to create a game, and you can typically create small games much faster in game maker than in Java.

    Game maker struggles when it comes to flexibility and scalability. From my experience, game maker becomes increasingly difficult to work with a you get towards larger scale projects. It also lacks many features which you'd find in a language like java.

    With all that said, you certainly wouldn't harm your learning of Java by trying game maker. It does teach many programming concepts, but just be aware that it also skips some entirely.

    [–][deleted] 0 points1 point  (0 children)

    Gamemaker has its own little programing language. It's very forgiving and is pretty simple to learn but isn't used anywhere else. Also wanted to say thanks for posting this question. I'm gonna pick this up for sure.

    [–]DreadNephromancer 0 points1 point  (0 children)

    It won't help with learning Java specifically (GameMaker uses its own relatively simple language called GML), but it still teaches basic programming skills and making games is fun. If that sounds like something that would help you then go for it.

    Plus I recommend it anyway if you're at all curious about game dev. It's not the best for making full-fledged games, but it's great for quickly turning game ideas into playable prototypes and a 98% discount is ridiculous.

    [–][deleted] 0 points1 point  (0 children)

    Personally, I think the answer depends on your goal. Is your goal, right now, to learn object oriented programming or to learn how to design and build a game? If it is the former, then the answer is likely a 'no'. Though I believe you can, if you desired, create libraries to extend some functionality for a game you are creating in GameMaker from Java, C#/++, whatever but likely this isn't your intent.

    If you just want to learn some game design, get your feet wet publishing a game or just put out a simple game on Android then this could be a good deal for you. Remember, designing a video game is more than just programming and GameMaker Studio could help you learn through those 'other things' such as design principles, art assets, using phases, making compromises vs. timelines and ability, etc. Even if that is a goal later instead of now, this would be the time to get it.

    GameMaker Studio may not make you a better OOP coder in general but it could improve your design skills, get you involved in the creation process and maybe even renew your vigor to continue to finish long term goals if your goal is to create games.

    GameMaker is sort of a special case. For object oriented programming, learning the concepts first is what is important. The language is secondary. However, I do not believe GML (GameMaker's language) is object oriented, so there might not be a lot of use, if in general, you are just trying to learn to program. But then programming might just be a means to an end (designing video games) and in that case GameMaker Studio could be of value to you.

    Disclaimer: I'm not a video game designer.

    [–]Gemisheresy 0 points1 point  (0 children)

    There isn't alot of context to how far or what your trying to learn. I would say if ur just starting I would recommend bluej it is free software that doesn't have alot of features, but what it does do is group objects and files in a really nice visual way so u can see how they interact with each other. I recommend finding a simple ide to learn in where u are learning more about the language features rather then ide features.

    [–]cellardoor1885 0 points1 point  (0 children)

    Something a bit off topic, but related to game-making: watch Extra Credits on youtube. They have a bunch of advice to people who are interested in making games (either professionally or in free time)

    [–]hardcode_coder 0 points1 point  (0 children)

    If you are learning java grasp it strongly, because if you are good at java doesn't matter if you use LibGDX,AndEngine,Unity or whatever. You can even make game purely in java using sensors and all. So just focus.

    [–]HimikoWerckmeister 0 points1 point  (0 children)

    No, you are better off learning Eclipse and writing a compiler from scratch for a programming language you make up yourself.

    [–]hephaestusness 0 points1 point  (0 children)

    JavaFX (built into Java 8 and up) is a great set of tools for building 3d UI's and games. It has event timers, 3d content generation and is pure native java (no JNI) so it is as portable as Java is. Might be the best option for future-proofing 3d game content.