Skip to main content
$12256 / $11500
About
Rules
Blog
FAQ
Style
Forum
Recommend a programming language.
General Discussion
Recommend a programming language.
Age of Fable
Monday, February 3, 2020 - 14:18
It should be free, and suitable for making a graphic roguelike.
Playcanvas, it has also a roguelike game that you can modify, programming language used javascript, it makes games browser based
Thanks.
Does this program let you turn your game into an exe file? Or is it for making online games?
No it's just for making online games
OK. Thanks anyway.
Welcome, if you want to make exe games it's better if you use Unity or Unreal.
Thanks again.
python + libtcod
For example:
http://www.roguebasin.com/index.php?title=Complete_Roguelike_Tutorial,_u...
python is a widely used scripting language, so it can be employed for other projects. It is used in Blender, for example.
Please consider Mini Micro! It supports sprites, tiles, pixel graphics, sound/music, keyboard/mouse/gamepad input, etc. All with a very easy-to-use neo-retro design. Here, check out the trailer video!
It can make executables for Mac, Windows, Linux, and WebGL. It also has a very active community on Discord and forums of its own. I'll personally help you over any stumbling blocks you encounter. Join us! We have cookies. :)
I've recently discovered Löve2d, a game framework based on Lua. You can produce an *.exe file for Windows with this, but it also runs on Linux and Android. My experiences are good so far, the start was very easy, performance is good and Lua does the job. Object oriented programming in Lua is different from what I had been used to (C++/Java) but not bad at all.
https://love2d.org/
Lua was made for smaller projects, and while I think you can use it for any size, it definitely requires some discipline and planning to do so. On the other hand, the start is very easy and swift.
Love2D is an excellent choice, but tutorials on it seem difficult to come by, which is very sad. I would love to see that change. Lua is a good language, and much easier to learn than Unity's C#. For beginners, I would strongly recommend Love2D over Unity. If you're more experienced, Unity offers an excellent amount of tools, however, if the game uses 2D graphics and you already know how to monetize games, I would go with Love2D for ease of use and for being open-source.
I was also a fan of Lua, once. You can read this blog post for some the reasons I then created MiniScript (used by Mini Micro) instead. Or check out this post from the creator of Garry's Mod instead (though he recommends JavaScript, but then MiniScript didn't exist yet when that post was written).
Of course tastes vary and your mileage may vary.
Interesting. I actually used to be a fan of Unity, as it got me into mobile game development.
Other content for mobile game devs:
Godot uses GDScript, and also allows one to use C#. A Python fan is also working on allowing the use of Python into the game engine. Full documentation on how to do things is available. Also open source.
Corona SDK uses Lua. It's an older game engine, but it offers a simulator that shows your game on your desired device. It also has online tutorials for getting started. Lastly, this has tools for monetization freely available, but it isn't free if you want to use certain plugins. All in all, Corona SDK is not altogether super easy to figure out, but it isn't super-hard, either.
Sorry translated using google translator. If you want to immediately create exe files, then I recommend "go".As I know, creating exe files is its main plus.
Joe, but even Garry says in the linked blog post:
"Lua has served us really well in Garry's Mod in terms of both speed and speed of implementation. It's worked pretty much flawlessly"
So ... it works flawlessly. Garry doesn't like how some things have to be written in Lua. I must admit I agree on his findings about the + vs .. operators and missing ++ and += operators. But Lua is open source and has been around for 15 years, a long time to build a community.
JavaScript has many users too. The more people use some software, the easier it is to get help.
Love2d is more than Lua though, there are graphics, audio, networking and more APIs included, and very easy to use. I think for game makers that is a very important point.
Other than that I would suppoer the pygame and libtcod suggestion from above. For roguelikes that is probably the easiest way to start.
Those are all reasonable points, but... have you looked at Mini Micro? It was designed for exactly this purpose. The language has a clean syntax (FWIW, I wrote to Garry this morning and he agrees!), and like Love2d, it supports all the needed graphics, audio, networking etc. APIs, as well as building to Windows, Mac, Linux, and WebGL.
I'm not trying to disrespect anybody's favorite tool. But I do hope you'll give Mini Micro a look too! :)
I just switched from Java to Love2d ... my current project is split, Lua/Love2d for the client and Java on the server side. The main point was that one of my friends refused to install Java and it made me think about a runtime that I can bundle more easily.
So while I work on this, I won't try anything else. I have my own grieves with Lua, along the lines of what Garry posted, plus some of an engineering point of view - testing and debugging. But those are personal and some just come from my background as Java developer, because Lua allows some types of coding mistakes that a language like Java (or C) would detect at compile time.
I'm not a fast moving person. If it wasn't for that one friend who refused to install Java, I still would use Java + LWJGL which did the job just fine for me. Even if Mini Micro has all I would ever need, at the moment I don't want to try something new. Plus I had used Lua as scripting engine myself in a former project, so it was not really new to me either.
Last but not least ... several times I had declared to stop coding game projects (or any hobby projects) and very likely my current return to game development will end very soon. I have seen all from Love2d that I wanted to see, everything works fine. Now I'm past the design stage and it becomes boring (for me) work to advance from a prototype to something that is a real game. Too boring for me. So I'll return to make game-related graphics and leave discussions like these. On the plus side, this prototype made me make quite some new graphics, and I think some of my best ones so far. So it wasn't all wasted (plus I refreshed my Lua knowledge).
How widespread is Mini Micro used? Python is found in many places, so learning Python definitely makes sense. I was told that Lua is also often used, but less exposed to the end user, more in embedded devices (in fact there are microcontrollers which run an Lua interpreter as OS), so learning Lua is useful too.
I'm not denying that Mini Micro is good. The title for this conversation asks what programming language one should learn. Problem is, no two languages are identical. I'm simply suggesting different languages and game engines, and giving their pros and cons, in hopes of guiding the readers to the best set of tools to fit their needs.
Since it was brought up, Python is among the best. It's incredibly easy to learn, and can be used for far more than building games. While this may not be related to the subject of games, it should be noted that Python is used in not only game development, but also in robotics and AI. It is even used in the medical field. If someone wants to build games in order to study programming before doing it for a big programming job, this would be an excellent choice. I would strongly recommend learning the latest version of Python if anyone plans to study it.
The huge downside of learning it for a future job is the intense competition. It's easy to learn, so a lot of people learn it.
C with GBDK
This creates GameBoy (Color) ROMs and those run everywhere, emulators run (pc, android, browser...)
I'm using Godot Engine for roguelikes and others. It can make .exe and web and everything. It, too, is based on Python -- or C# if you prefer. It's a do-everything engine that's free and easier than it seems at first glance.
I'm gonna try that python & libtcod idea, too. Python and pygame gave me great success before, but I want to try libtcod.
MiniMicro is very interesting.
the most diverse language is going to be C# in my opinion; it's widely supported, lots of documentation, cross-platform, and can be framework-interpreted, pre-compiled, or machine-compiled (most other languages are either OS specific or framework-interpreted-only; a hit to performance. Generally not an issue, but framerate is important in video games.) java is a close 2nd in terms of diversity and support, but I have to say I loathe it for having inconsistent behavior from platform to platform. You have to do a lot of exception-coding just to get the same experience on different machines.
However, if you don't care about being a Jack-of-all-trades and want to make a roguelike on a budget: i'd second Godot. (which, incidentally, uses C# as one of it's compatible languages, so double-down on my first recommendation)
If you want to make a roguelike on a budget but don't like programming, you should say so; it changes the list of recommendations entirely. If you've tried programming and don't love it, don't force it. You'll be miserable. (Godot has visualScript too, which is like programming from an I-don't-love-programming mindset https://www.youtube.com/watch?v=LLoaUFK44fE :)
--Medicine Storm
Yes i agree with above too
C# is the one, if you know C# then all other languages can be figured out, well except C++ don't try C++
but engine wise
GODOT
https://godotengine.org/
godot is really picking up speed, easy to use, you can use c# and GD script and others I believe 2D and 3D
i've tried a bunch of engines and made game engines and made games with all of them but Godot is just fantasic, straight to the point and gets you going without a worry.
I'll offer my comments with the caveat that I've been tinkering with gaming and making games for a little while longer than I'd like to admit. My first foray into game making was with Java, then I went through an HTML5 phase, then Flash, then Haxe using flixel (HaxeFlixel), all the while looking at new/different ideas including lua, Love2D, and python to name a few. I've never been a fan of Microsoft languages (still not) but I settled on Unity3D because it compiles to different platforms, relies on a consistent API regardless of the platform, and offers some interesting/powerful tools like parallel thread processing and game development tools readily available. I'm not trying to advocate for or against it but Unity seems pretty easy (and free) and it meets my needs.
I've been using C# + MonoGame lately and I love it. It's free and open source.
I see many people saying "unity" and stuff... People... Unity and others are GAME ENGINES not programming languages....
I could recommend to start with C# as it is a pretty good language for game dev and is easy to learn, once you get used to it enough, you could start C++ and C, once you know C# it is very easy to start other languages.
You can learn C# for free directly from Microsoft here https://docs.microsoft.com/en-us/dotnet/csharp/tutorials/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I compose music inspired by the Japanese style of composition.
I also program games.
If you want to use only a language I recommend c++ with sdl2.
But, even if your dayjob is developer, you should use a gameengine such as unity(c#) or godot(go) because making a whole game engine by yourself is really time consuming and I'm talking years
I would recommend C/C++ if you are serious about game engine development.
There are a lot of resources and tutorials online for game development using C++, as well as a lot of 3rd party libraries available too.
If you just want to make a game then Godot.
You could consider Python, too. You will find a lot of resources (guides, tools, libraries, ...).
That's true, but will you get personal support from the creator of the language (or the game toolkit for that matter)?
With MiniScript/Mini Micro, you get that. :)