What programming language/framework is the best to make a game with?
Articles Blog

What programming language/framework is the best to make a game with?

August 21, 2019


When thinking about making new game one of the most important questions is which computer language to use it may not seem like a big deal to those who just want to get on with it but it plays heavily on development costs security and compatibility issues the wrong choice could cause problems down the road first sword to start with something so technical but it’s important to know the difference between a programming language in a framework a programming language is a set of commands that communicate directly to the computer’s hardware a framework is a collection of libraries which dramatically decrease the amount of time it takes to code by reducing the effort and the volume of code needed an easy way to think about this is imagine you want to drive from Seattle to New York a programming language allows you to design a car from scratch and have full control over every aspect of your new car you can design a new engine, wheels, transmission etc. Frameworks on the other hand are like buying a car and driving it there. You’re restricted on how the car looks but there are some options and many types of cars to buy unlike design in the car from the wheels up you can modify your car as much so what goes fast or cost as much as a custom created supercar. As you can see having your games coded in the native language such as Java or objective c is beneficial for speed and customization but most people don’t need that much flexibility it would benefit from a framework together after market faster and cheaper there are other advantages to frameworks such as cross-platform compatibility if you would write a game and objective-c for iOS we need to rewrite in Java for android and then again if you want a web version however if you were to create a game using a framework like html5 and you can output versions for the web iOS and Android devices with very little additional effort instead of needing different coding teams for each platform you have one team making multiple builds which save substantial time and money javascript PHP mysql and CSS collectively are known as html5 and when thinking about making games for browsers html5 is definitely the way to go while it still requires effort to perfect compatibility for all browsers is a reliable tool two great games than one on your computer mobile and console browsers with tools like a coon Jas and phonegap you’re also able to output a game as an app that runs on ios and android phones html5 is perfect for 2d developments but not when thinking about making a 3d game they’re different HTML frameworks to choose from with some specifically created as game engines for game development so specialized in 2d like phaser yes and cocos2d while others specialize in multiuser communication like no GS the best one is the one that does what you needed to do is updated regularly unity3d is a cross-platform game engine that outputs to a variety of platforms including ios/android Xbox Playstation and even html5 as the name would suggest is particularly great for 3d or 2d games are also possible it’s amateur language and has a great support network which is perfect for making mobile and console games while html5 export codes to leave a little bit to be desired so we’re not wanted a browser version of the game unity3d is perfect but if you wish your players to play in a browser then you might want to focus on html5 alternatives adobe flash once considered a viable cross-platform development tool for the since gone to the wayside due to memory leaks and security problems it has been prohibited for use in browsers on mobile devices which makes it less advantageous to use the html5 you can use Adobe AIR to make flash-based ios and android mobile apps but it’s generally not recommended is also not viewed as a serious programming language and intended more for script kiddies than professional coders flash is also a proprietary architecture like unity3d meaning changes are controlled by a particular company in this case it will be whereas html5 is completely open and controlled by a standards committee costs are also sometimes a factor when choosing a platform some frameworks cost more than others for example unity3d is available for free but additional features are only available when paying a monthly fee similarly with html5 there are different free options like phaser Jas and others you have to pay for like impact jazz personally I prefer to support the paid-for options like unity as that means support and added features for the future since the free options don’t bring any money for the developers and sometimes means those frameworks will cease to exist or not be upgraded which is problematic when thinking about a long-term project with all this information is still might be difficult to determine which direction to go in so let’s break it down if you’re a large publisher with oodles of cash or game code optimization is your primary goal programming natively may be the way to go if you don’t have a substantial warchest want to get to market quickly on multiple platforms and think about using unity 3d if you wish to distribute on web and mobile devices via browsers nap stores but not consoles or 3d the html5 is the right choice whatever you choose don’t choose clash if a programmer recommends developing a game in flash is probably because they don’t know any other languages of frameworks and just want to develop money rather than caring about your long-term benefits of your project ultimately with development tools you use depends on the game your cream for the game gurus while being experienced with multiple languages and frameworks we’d prefer cross-platform development tools like unity3d in html5 phaser GS among others as the benefits far outweigh the cons that said like all things tech this all may change when new frameworks and platforms become available

Only registered users can comment.

  1. Thank you. This is really nice, i had a difficult time choosing, I don't want to go very big. I code and stuff for fun but I've always wanted to create something. This helped me out a lot. Keep up the great work

  2. I love programming I have learnt HTML and CSS and I am learning C++, but I want to create games and I want to start off with something small and simple, am lost because I don't know where to start, please anyone tell me any Programming language to learn to start off with something small.

  3. I know Java and Im pretty good at it. I also know a bit of HTML5. But the thing is i just graduated from college and i want to start from making a simple game for pc like 2D rpg and stuff. Can u recommend anything i can do ?

  4. hey, i know the video has been out for quite some time now, i am interested in making a 2d game (aiming low for my first game) so if i had to choose i'd choose phaser but i wanted to ask if html phaser and phaser 1,2,3 are two different things, and if yes what are the differences. Also if not should i use phaser 3? because it seems like phaser is currently on beta and it's really important for me as a beginner to have example to learn from so choosing an older language with a bigger community would be a better option. and one last thing i wanted to ask. Are you familiar with GML (Game Maker Language). What's your opinion about it? would you recommend to a complete beginner?

  5. I have been watching coding videos for 3 weeks straight. This is the most straight forward explaination. THanks. It seems nerds generally really suck at explaining things simply however you did this in 5 minutes flat. THanks

  6. Wrong wrong wrong you can take any language and not just Unity or HTML5 like Phaser. In Java, you can use LibGDX to export on Web, Desktop, Mobile,… (like Ashworld, Meganoid or Heroes of loot) I don't know what is your source but i think you need to find mores informations on others platforms.

  7. HTML is not framework, it's language. In example WebGL is framework.
    Not that it changes much but why spread misinformation.

  8. Pretty neat~
    I recently learned C# and I'm using the MonoGame framework, which is a modernized version of XNA (they technically share the same features). Using a framework is much better than using a game engine for people who are new to programming and who want to learn how to, I find.

  9. "flash is prohibited on mobile devices"
    speak for yourself, apple user
    I can still use flash on my phone if I want to, if the default browser doesn't allow flash, it doesn't meant it's prohibited per say, it's just not supported (but still works if you install apps that do support it)

  10. I just wrote my own 2d engine in C++ using OpenGL. It's a cool thing to do if you must not care about money / development time

  11. i'll probably use unity im just making games for fun and it seems to fit, if i do make moneyz it will prob be because my dads art

  12. You can make 3D games in HTML, all you need is to write your own 3D rendering script or if something like that already exists download it. I heard of 'WebGL'. I think that's used of 3D in javascript.

  13. That information was very helpful for me in order to improve the quality of the games I would like to develop in the future.

    In fact, I already published a game in the Google Play Store yesterday. You can check it out if you want to.
    Here is the link:
    https://play.google.com/store/apps/details?id=com.shaperecognising

  14. Many people saying me for best games programming language for Android,pc and PS4 games use c# but most people saying phython because saying inside lot of liberaries so what can i do please help me thank you

Leave a Reply

Your email address will not be published. Required fields are marked *