Advertisement

Coding Language Recommendations?

Started by May 22, 2021 06:38 AM
4 comments, last by nielsvermeiren 3 years, 5 months ago

I need help choosing an optimal programming language. What language do you recommend I code my game with?

I'm thinking of designing a game for in-browser and mobile app, that allows cross platform multiplayer. The game will be a 2D MMORPG with a sandbox map that never resets. Players will be able to harvest materials, build structures and craft items, fight people and monsters, make alliances, train skills, and interact with structures and objects. The maps will be connected with border warps, and the perspective is top down. I want to design the game with pixel art graphics. Players will be able to design custom bases by placing walls doors and other structures on the map, in real time. Other players can then raid the bases if the defenses aren't protective enough.

You sound to me like:

Hi, how does one make the smallest possible drawing to construct a ship?

I want to build a nuclear sub capable of going 2000 miles/hour, be fully silent, and users will be able to modify the internals of the sub while submerged.

In short, if you have to ask what programming language to use (without even considering “optimal”), you're not ready to make the game you describe.

Things may look simple and logical at the surface, but what's simple and logic to a human is not simple to a computer. Computers don't understand “harvest”, “fight”, “interact” or “aren't protective enough”.

So I'd suggest you postpone aiming for your game for now. Find out what programming languages are supported by the target systems, although you should not want to program it in that way.

Instead, find a game engine for those systems like Unity (but there are a gazillion such engines) and learn how it works and how to make a game with it. [These engines generally also support some programming languages, so you may want to learn them anyway.]

At first aim at learning the software without taking needs of your game into account. When you feel like you understand it, try an experiment in making a very small (and I mean very small, take ⅓ or smaller of your initial estimate) of some small part of your game. Be prepared that it will be difficult and will likely fail (if not, hurraay!, but making something that is not explained at length in some tutorial is much more difficult).

Once you understand what it will take to make a game like you propose, reconsider its feasibility with a better understanding in what it takes to make it a reality.

EDIT: To be clear, I don't know if Unity works for the target systems that you mention. Check their feature list and supported systems!

Advertisement

My main advice for making an MMO:
Don't do it as your first game. MMOs need time, teams, money, and experience with netcode.

Other than that, look up some free engines (such as Unity, Godot, and GameMaker) and see which ones work for you for making a 2D sandbox.

Is currently working on a rpg/roguelike
Dungeons Under Gannar
Devblog

There is a realy interesting ready made package out there for Unity

https://assetstore.unity.com/packages/tools/network/atavism-2019-1-op-standard-117342

If I'd make an MMO game and won't have an engine on hand yet, I'd use this one. There is also a video about it on YouTube

Hi, came across this question by chance and signed up to this site with the sole purpose of answering.

If you're totally new to making games and programming, DO NOT go with Unity or similar engines. Start with something much more basic - an excellent library is raylib. As others have said, start with something really, really, really simple - like a Tetris or Pacman clone, so you'll put things into perspective.

But it may also be that you already have some experience with programming and game development, in which case the question “which programming language do you suggest” is totally legit. The optimal choice however doesn't depend on the kind of game that you're making (well, a little bit, but not in this case): it's much more dependent on the platforms you're going to. C# is an easy language to learn but it would work only on mobile (through Xamarin or whatever it's called these days), not in browsers, unless you use Unity that implements a complex workaround for that (compiling C# to IL, IL to C++ and C++ to Javascript). The language that would allow to go on pretty much everywhere, i.e. both browsers and iOS/Android, is C++ but it has a steeper learning curve.

Unity will give you the fastest results when you are new to programming, although it has its own learning curve. Almost half of all mobile games are built with it.
As a software engineer, I recommend coding it yourself, but make it simple, finish it and build from there.
I would recommend using c++ and SFML or SDL. It really will give you the fastest games.
Another option would be using Java, which is simpler to learn and should be able to give you decent results for your project.

This topic is closed to new replies.

Advertisement