Where is a good place to learn to code

This been interested in learning any suggestions.

The internet…or books…
:face_with_monocle:

I’d start by identifying what your motivation is to learn to code. Knowing what you want to do with that skill can serve as guide toward particular language(s) and frameworks. I figure on this site your motivation is likely related to building games, but I don’t want to assume.

1 Like

I want to create an Ouya game just as a hobby nothing series.with a minor goal of maybe being competent enough to make something for next year’s game jam. Been doing some research and now have a better understanding of where to start.

1 Like

Best way to learn is to start doing it. Maybe jump on something like Code Academy? Or find a tutorial online that explains the code being written.

1 Like

@darkdoor You don’t have to wait an entire year for The OUYA Anniversary Game Jam 2021 #OAGJ2021, because we will be having the 2nd OUYA Winter Game Jam at the end of the year; #OWGJ2020.

You have 5 months until that one takes place. Meanwhile, there are endless game jams going on all the time. Just check out itch.io for an idea of those.

@darkdoor If you want to do game jams, I would recommend using game dev software like Godot or Unity (there are others out there, too). Ask around about what kind of tools others are using, some maybe better for Ouya than others, some maybe have less of a learning curve or better support for other platforms if you wanted to play your game on something else. Once you know which program you want to use look for a site that teaches whatever that program uses for scripting. I think Unity can do javascript or C#, not sure about Godot. I only suggest it because it would save you some time learning a random language and then the tool you decide to use is in a different language (in reality once you know one language it’s not hard to transition to another because the core concepts are the same, just the syntax is different and some other language specific differences).

Now, if you’re thinking… I want to build my game totally from scratch from the core language/framework. That’s awesome! This was how I did my first game, which was for Android (non-Ouya). Going this route would narrow down the scope of language options to Java and Kotlin. However, this route will take a lot of time to build a game, because you have to build literally everything (at least what the android framework doesn’t already give you). Physics engine, collision detection, animation, getting the math right, event handling (like controller input, but also system life cycle events like when your app/game goes out of view), keeping things optimized so framerate doesn’t suck (even simple games can have terrible FPS), managing memory to prevent leaks and garbage collection. And with all that code, you’ll want to devise a strategy to organize it in a way you can find stuff. When I originally created Battlespace back in 2013, I knew the syntax of Java fairly well, not so much additional things the language does like garbage collection, had a little exposure to Android (with very simple 1-2 screen apps, not a game which is a different paradigm). I started by following a beginner’s game development book for Java, as I started building I mutated what the author was doing to create my own game with some similar mechanics (the end result was quite different, the book was recreating Asteroids, lol). I also had to adapt that for Android, because the book had nothing to do with that. I spent my entire spring break that year building it (the whole week plus the weekends on either end, basically doing nothing but eat, sleep and work on the game), it was by no means anything fancy. You can look it up on the 2019 Winter Ouya Jam, I basically just adapted it for Ouya instead of touchscreens, the rest of the game is pretty much the same as it was back then.

I know I’ve given a lot to think about (if you are consider this second path). I don’t mean for it to be discouragement, just cautions that there is a lot you’ll be learning along the way with that route and so you have an idea what goes into it before you realized you just want to make games, not all the plumbing just to get the game to do anything at all. Programs like Unity and Godot give you a lot behind the scenes that you can pretty much just take for granted, but you have to build from scratch otherwise.

Disclaimer
I don’t use a program like Godot and Unity, I only know of them, so guys if I misspoke about what these programs are capable of please call me out on it.

1 Like

I’m calling you out!! Lol

Unity ended support for JS a while back :slight_smile: