Jump to content
  • Advertisement
Osaid

how do i make 2d pixel games from scratch

Recommended Posts

i am a beginner and i want to learn how to make 2d pixel games from scratch, i want to know what programming language i should learn, what to know, i will design my own assets and do my own art and get sound effects, but for now i just don't know how to program and i don't know where to start. as you need to be a good programmer to make games from scratch i wonder how i will be good at it, i don't know if i should learn all the programming language or i need to know the parts that i will use, but i know that making game from scratch will improve your programming skills and it's better, most of the pixel games i googled they made their own game engine i thought i need to be a good programmer to do that

Share this post


Link to post
Share on other sites
Advertisement

I highly recommend not making your own game engine, since there are plenty of great engines already made. Gamemaker is great for 2D games. Unity is pretty good for 2D games as well. My favorite though, UE4  is not so great for 2D games. At least 2D with 2D assets. There are other engines too.

Pick one engine and start making something simple like a character that walks around, just a basic character will do, either take free sprites or make basic shapes.

Then pick a game, like Super Meat Boy or Super Mario Bros. and go through and write down everything on the first level. All the distinct items, all the distinct level objects, all the enemies, and everything that the player can do. You will likely be surprised by the amount of things there are in even the most basic seeming game. Once you have your list, you will have a list of all the graphics and animations you will need to create. Make just one level of the game.

After you've done that, then start a new game from scratch, keeping it to just one level, but use the one you just made as a reference. By your fifth one level game, you should be pretty far along in both developing and making graphics. It might take a few months, but you'll learn a lot. I'd say, at that point, you'll have a much better idea about game development and what path you want to follow.

Even if right now you want to program your own engine, I still recommend using an existing engine so that you'll have a much better perspective about game engines. I've written my own game engines, used to program them in C++, even made one in Java a few years ago. Otherwise I've been developing professionally for over 18 years. Even by using other people's game engines, you will be working on programming skills.

Share this post


Link to post
Share on other sites

i tried to make a 2d game in unity, following a tutorial series but it hurt my stomach, i had errors and bugs and weird things, and i didn't learn anything about programming language just the same things that don't even count (if statements), i want to learn a programming language that i will use later for my game engine, i don't know where to start, should i know everything about it (programming language)

Share this post


Link to post
Share on other sites

This is what I did and do:

I make a list of all the things I want inside the game, then if I don't already have a good idea how to do one thing, I will look up information and/or ask for help for each thing, one at a time. I don't like following tutorial series', most of them don't work well for me. Most of them are simply copy what they're doing and paste it into your thing. Step by step. I don't learn well that way. That's why I offered up an alternative that might help you learn better because it helped me learn better.

Learning how to program is a very long process, so is learning how to do graphics. Making a game engine is a separate (but still uses programming), skill altogether. Keep trying and you'll keep learning. In failure we can still learn, in fact, even after all my years of programming experience, failure is a great part of the development process. Evaluate the failure and develop a new plan and keep going. You'll learn a lot.

Programming is more than learning a language, there is a way of thinking that helps far beyond knowing the language that applies to every programming language. You will learn this way of thinking even if you're not programming a game engine from scratch. Developing game mechanics, and most importantly, fixing bugs will help you learn how to program. Fixing bugs is often difficult, but I've found them to be great learning experiences. Unless they are the brain dead simple errors where I made some kind of basic mistake... even those help a little.

However, if you just want to learn a programming language, then there are some places that have small programming puzzles that you can take. Work through a bunch of those and you'll get better.

Something like this site: https://adriann.github.io/programming_problems.html

Once you work through those, head to Project Euler.

You're in the nexus of infinite paths asking strangers what your best option is. You have to figure out what path you want to take, which is what I'm trying to help with right now. I don't want to make your decision for you.

Share this post


Link to post
Share on other sites

i have 2 methods, method 1: watch "how to make 2d games tutorial series" and do the same thing so i will learn to do my game later method 2: start making my assets and art and get free music, soundtracks then put them into unity and get them together and script (i don't know how to script)

sorry for being annoying

Edited by Osaid

Share this post


Link to post
Share on other sites

Method 2 sounds like the better method to go with. Add some to that and that should get you going.

Break your game down to its essential game play elements/mechanics. What are each of the actions that your character can do? Jump, run, yo-yo, get power ups, collect feathers... etc. List them all out. Then take each one in turn and find out how to do that one. Once it's working and you've got the bugs worked out, move on to another item.

Figureing out how to do each one is a process in itself.

  1. Try to see if you can use what you know to accomplish the task
  2. Search the internet for how to do that thing in that engine
  3. Ask other people for help to figure out how to do that thing

Sometimes you have to go through that a few times to complete some of the more complicated tasks.

Getting good at breaking things down to manageable parts is probably the most useful development skill.

Share this post


Link to post
Share on other sites

Depends on how 'from scratch' you mean. 

If you mean as 'from scratch' as writing your own renderer in DirectX or OpenGL, I'd start from there.

If you are new to that sort of thing there is a little bit of a road ahead. But if you are patient, it is extremely rewarding and you can absolutely bend the direction of your game to you will.

That's the path I have chosen and it is truly rewarding. 

I have tried both Unity and Unreal myself and agree with you they can be very tedious to work with. And funnily enough, I find working with these engines bore the hell out of me. I feel myself glazing over and walking away before too long.

Share this post


Link to post
Share on other sites

i download unity 2d game kit which you can learn things from it, i will see how it works and i will learn, if that works and i learn a bit i will make my own small game and that's gonna help me even more. thanks to you both for that advice i really appreciated it

Share this post


Link to post
Share on other sites

The question I haven’t seen asked is what is @Osaid‘s goal. 

If your goal is to create games, then who cares what language you use to get started... use whatever is easiest to get a game running and then you can play with the game design/art/whatever. 

On the other hand, if your goal is to be a game/engine programmer, then start by learning basic programming concepts. Forget about games for the moment. 

Those aren’t even the only two options, obviously.

Also, it’s entirely possible to have one goal, and realise that you are better at/enjoy something else in the process and pivot to that  

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!