Questions about game development

What languages should I focus on in my learning journey at freecodecamp if the goal is to be an independant game developer?
What are some platforms that would be good in creating games with and what do each of them serve as a function for?
Where can I go to see the code of games already developed to learn from?
After completing all the material on freecodecamp and understanding most of it, doing along with guided tutorials where should I go to learn more?

Trying to plan my future and the next couple months of my life, thank you for any advice, would generally appreciate anyone more experienced with coding. I have completed the html and CSS portion, and have found the projects to be much more challenging than the guided lessons, as I have had to follow along with youtube videos and do a lot of searching online, which I understand is normal, though I do want to learn with speed and solidity, though not the language solidity yet though:)

I know 2 game engines that are free to use with limitations, which makes the easier to try out and get started.

  1. Unity 3D - primarily uses C#
  2. Unreal Engine - primarily uses C++

You might be looking for libraries that you can make smaller simpler games in, rather than full on triple-A game engines. In that case, using libraries to build games using web technologies (what your learning right now) is a good starting point.

  1. Phaserjs - expansive, large community
  2. Kaboomjs - simpler, great for learning

There are a number of “graphics” libraries for JS that can be used to create games using more lower-level control than the 2 above.

This really depends on what your goals are in the longer term. Learning to program in any language to anything complex would mean you know enough about general problem solving with code. You’d still have to learn a language’s syntax, but you wont have to re-learn how to use a programming language to solve something.

Game development requires a lot more than “just code”, there are a lot of levels beyond just the code you write. From the design, game play, visuals, music, controls, etc there is a lot to consider.

Because of this I’d think about what kind of games you’d want to learn to create, then pick a game engine/development environment that can handle it within the constraints you want. For example Unity 3D can make 2D side scrolling games, but would be vastly more overkill than using something like Phaserjs. Finally, once you have a game engine you have limited language choices and will more or less go off that.

Most game engine providers have some kind of store or gallery of games that are made, and often times you can download their assets and see how they where made.

This is where I’d be careful with your time. FreeCodeCamp will teach you JavaScript to be used within MERN stack web development. It doesn’t teach anything specifically about building games, or any other language except Python (the bottom half of the curriculum that focuses on data science)

The goal of FreeCodeCamp is to provide a framework and community to learn how to code so you can go out and do entry level web development, or at a bare minimum learn more about how the web works.

If your goal is to be an independent game developer you might not benefit as much as if you focused on a course/curriculum that is focused on game development.

Good luck, keep learning and keep building regardless of what you want to focus on!

2 Likes

Is it possible to make a game without using unity or unreal engine? Any alternatives and how would we make something custom? The specific game I am having in mind is a 3d small scale land building game

There are other game engines out there, but those 2 are very popular and very accessible. I personally used Unity to make a basic 3D game a number of years ago, but I never looked into many alternatives.

There is also the possibility you make your own game engine, but I don’t recommend this if your original goal is to make a game. Primarily because it takes a lot of work to build a game engine regardless of how you do it. Unless your goal is to specifically build your own game engine from the start, you’d probably become disinterested while building the engine before you even do a single thing specifically for your game.

Its vastly easier/faster and more fun to leverage one of these tools/engines and focus on your game itself. Rather than fuss around to understanding what you want, then building an engine to support what you want and then building the game itself.

You’ll have enough to “tweak” with these engines to keep you busy, no need to give yourself more work building your own engine to tweak unless that is specifically what you want to focus on.

All the options I listed above could handle this.

You could even “fake” the 3D aspect of your game using a “2D game engine” like PhaserJS by using specific techniques like orthographic projection. This is what a lot of strategy games used before 3D rendering became available.

Thank you so much for the help so far I’m really learning a to and appreciating this, my specific goal would actually be to make a goal and to have it tied to blockchain. I know a lot about crytoeconomics but have no idea how one would connect a game made on the unity engine to a blockchain token.

The two topics aren’t really related. You can find ways to force a game design to use crypto, but crypto doesn’t really offer any technological improvements to game development.

1 Like

You’re essentially talking about a database, that’s what a blockchain is used as, so the question is fundamentally “how do I make use of a database with a game”. It’s an implementation detail – if your game had, say, in-game skins that could be bought with in-game currency, then the usage of that isn’t likely affected very much by the storage mechanism used to track a player’s purchases, you’d just want to plug something into your game. Googling should throw up a huge number of plugins/libraries/services for doing this for {given popular game engine}.