Advertisement Jump to content
Sign in to follow this  

How to make game like To The Moon?

This topic is 1210 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Ok so I am just getting into game development. And by that I mean I have absolutely no idea what I'm doing. I've done a little bit of coding on Code Academy but nothing serious.


Now to get into my plan. I want to make a 2D story-based game with graphics similar to To The Moon or Pokemon, I haven't decided yet. But I want the focus of the game to be the story and your choices shape your game (personalized experiences). So think of a text adventure game but with graphics. And maybe some simple combat, unsure if I want that yet tho.


My problem? No idea where to start. I have done tons of research but there is so much on the internet I don't know what to do. So basically I need a way to learn and create at the same time. I would love some advice bc there is so much I WANT to create but I lack the skills to do it. Thank you in advance!


PS also need help on language to use. I hear C# is a good way to go for games...but Python is good for beginners...

Share this post

Link to post
Share on other sites

I want to make a 2D story-based game with graphics similar to To The Moon or Pokemon, I haven't decided yet.

I think To the Moon was done with RPGmakerVXACE.


But I want the focus of the game to be the story and your choices shape your game (personalized experiences).

Depending on what you mean this, it might be really difficult to never done before... ie not for beginners.


My problem? No idea where to start.

C++ or C# for a programming language.  SFML, Allegro, or Clanlib as a framework.  Start simple like pong or break out, maybe a text game first.  Work up from there.

Share this post

Link to post
Share on other sites

I hear C# is a good way to go for games...but Python is good for beginners...


Python is also good for smaller games, and while beginner-friendly, it isn't something you'll discard, but you'll continue to use it for years, even after learning other languages.

So yes, it's good for beginners, but it's also good for not-beginners.


When making major 3D games, you'll want to use an engine written in C++, but even then, you can still use Python for scripting.


I just don't want you to get the impression that because Python is "good for beginners" that it's 'merely' a stepping stone. You'll continue to use it for a long while.


You can also try something like Construct 2, GameMaker, or maybe something like Quest.

Edited by Servant of the Lord

Share this post

Link to post
Share on other sites

Well, the first and foremost question would be what is your goal?


1. Learn the skills needed to get a job as a game programmer and work my way in the industry (and maybe someday, in the future, start my own studio and develop my dream game)

2. Develop the game idea I have now as soon as possible and skip all the formal stuff and job opportunities


If you target is point 2 (which I guess it is), you will at some point start to use a game engine to speed up development. When you do, the choice of a programming language will get narrowed down (C++ for Unreal Engine 4, C# and UnityScript for Unity, some proprietary language for Game Maker). Which means you will most probably need to learn a new language.


Now, learning new languages is getting easier with every language you already know, so you just need to start somewhere. Most probably, if you stick to it (and you need to do that for quite some time (years) even with your modest requirements to learn the skills AND build a game with any substantial amount of content), you will switch engines and thus languages multiple times... many do for a variety of reasons.



Focus on "learning to program" instead of "learning python" even if you decide to go with python... there are more thing python and C# have in common than differences. Learning python will NOT hinder you at learning a different language in the future, quite contrary to it.

That being said, C# is not that hard to learn. Object orientation is a roadblock for many starting fresh, but once you understand the principles linked to that, it is not that much harder than python. And thanks to Unity, C# got quite big in the game dev space. Whereas the only Game Engine that I know of using Python for Scripting outside of specific python frameworks like pyGame was Hero Engine... which I don't even know if it is around anymore, and its cleraly not suited to your needs.



I would encourage you to have a look at Game Maker, as its the most used 2D Engine I know of, thus is bound to have a massive community and lots of tutorials around.

If you want to go bigger, you could look at Unity or Unreal Engine 4. Both are multipuprose Engines that do 2D besides their native 3D capabilities, but of course these are massive engines with a steep learning curve so if you want to tackle a 2D game in one of these as a beginner its like shooting squirrels with a battleship cannon smile.png


The actual language to learn will be dictated by the engine you use (as said above)... so if you want to go with a specific engine, check what languages the engine supports (in case of Unreal Engine 4, there is the Blueprint system, a visual scripting system where you connect nodes and later compile that into executable code... doesn't mean you do not need to know how to program, you just don't need to know syntax specifics anymore).



There is of course an alternative way, which is more DIY and skip using a pre-existing engine. You can use many Frameworks like Infinisearch mentioned. For small 2D games that might actually be a better approach as your built game might be saddled with less overhead generated by a fat engine ran in the background (though this depends on how the engine builds the game code in the end). You will certainly learn more as you will have to do more of the low level plumbing work.


On the other hand you DO need to do more of the low level plumbing work, and you have less of a community to fall back on (if you pick one of the big engines, you will certainly find help easier when you get stuck). Of course YMMV, and for a small 2D project that first point might not matter too much.



One last word of caution: creating games takes time. A LOT of time. As in months and years, not hours and days.


A skilled dev might be able to complete a small 2D game in some hours. You don't seem to be skilled in game development, and your game, despite being 2D with simple graphics, doesn't sound small (RPGs and other story based games tend to be among the most ambitious games because of the large amount of content needed to build them, with story being one of the content parts that take a lot of time to create).


Prepare for months of training yourself to become good enough to built something that comes close to your current ambitions. And then more months or years to built this game you have in mind.


The reason I put this here is because most beginners come here with an unrealisticly large project in mind (yours is more humble than that of most others), and no idea just about how long such a game would take even a skilled dev to create, if he was going at it alone.

Look at the size of the teams involved with past or current games (check the credits of Pokemon for example), and how long it took them to make it (at least a year usually) for some reality check.

Programming a game for the SNES or GB back in the nineties can not be compared to programming for Unity/PC in 2015 of course, but don't expect efficiency gains that let 1 Person replace a team of 10!

Edited by Gian-Reto

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. 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!