MaxLimitz Posted January 4, 2022 I was making a list of programming languages games use. Without opening any of the .lmp files and finding out which software opens that kind of files, according to GitHub, Freedoom is made with Python according to the automatic language categorization, but on the other hand, Doom from 1993 is made with C, so maybe Freedoom is also made with C? On the other hand, you need a game engine, so it depends on the game engine, which programming language Freedoom uses? 1 Quote Share this post Link to post
ETTiNGRiNDER Posted January 4, 2022 Most Doom engines are C, but some have either been shifted into C++ or, occasionally, translated into other languages entirely. The Freedoom project specifically is probably marked as Python because of its build scripts, not what the game itself runs on, since a specific "Freedoom engine" isn't included. 2 Quote Share this post Link to post
ducon Posted January 4, 2022 lua was used in many games in the 00’s (Serious Sam for example). 0 Quote Share this post Link to post
Gez Posted January 4, 2022 Freedoom is not really a complete game in itself, it's just the game data. Not the engine. You need to run Freedoom with a Doom exe or source port. This game data is a set of files (e.g. graphics, sounds, music tracks, and miscellaneous other things, plus the maps obviously) and all that stuff needs to be converted to a format that can be used by Doom, which has its own custom formats for archive, image, sound, music... That's where the Python language enters the picture: Freedoom largely relies on Python scripts to handle automatically all the tedious parts of building a usable IWAD. But outside of this, Python is not used in Freedoom itself -- there's no Python code running when you play the game. (Unless you're using a Doom port that itself uses Python, I guess. But the only example I know of was left unfinished due to the untimely death of its author.) 5 Quote Share this post Link to post
fraggle Posted January 5, 2022 Generally speaking there are two parts to any game: the artwork (graphics etc. but also things like sound effects and music) and the "engine" (program code that makes it into a game you can actually play). Each is useless without the other. Doom's engine is written in C although some source ports have switched to C++ nowadays. Freedoom is just artwork. So in that sense there isn't any "code" - it's the job of the source port to turn that artwork into something you can really play. However, there's a lot of stuff in Freedoom, and building the Freedoom IWAD files that we distribute is a whole complicated task in itself. Because of that we have code that's run as part of the build process. As a simple example: when you open the main menu you see different graphics saying "New Game", "Load Game", etc. There's a program in Freedoom's build process that generates those graphics automatically from individual letters. There are a number of similar programs that build different parts of Freedoom, some of which are quite technically obscure. We standardized on Python some time back as it makes for a very good fit for this kind of task. But by the time Freedoom's on your computer being played, all that code has already been run far away on someone else's computer. As a player it's not code that's ever being run on your computer. 5 Quote Share this post Link to post
smeghammer Posted January 13, 2022 There's this: https://github.com/AXDOOMER/mochadoom which seems to be a Java port. Though the last commits were a while back now. 0 Quote Share this post Link to post
axdoomer Posted January 30, 2022 Most modern game engines use C++. Older game engines (games pre-2000) used C because C++ compilers were not as good at optimizing the code back then as they are now. Optimized code is important, it allows developers to create more complex games with lower system requirements. C++ is currently used because it's fast and there's been a lot of programming patterns that were created to take advantage of the programming language. Most of these are implementable in C#, so C# is also a popular language for programming games (see Unity engine). There is not incentive to change this because of all the knowledge that was created around these languages. Game development is not limited to C, C++ and C# tough. Any languages can be used. Java, for example, is a very popular programming language and it's been used to program the game Minecraft. The problem with Java is that it's not a fast programming language, thus Minecraft suffers from performance issues where other more advance and complex games such as Call of Duty: Modern Warfare 3 can run at 60 FPS. Compiled C++ code executes directly on the CPU, whereas Java code must be run inside a virtual machine. Game engines will often use a scripting language so level designers and artists can program AI behavior and cutscenes. This is because C++ is a complex language and most level designers and artists don't know anything about it. In some cases, these scripting languages may be LUA or Python, although most game engines have their own scripting language with their own simplified syntax. Some also use GUI tools to abstract all of this (Unreal uses Blueprint Visual Scripting so no programming knowledge is required). Amateur/aspiring game developers are inclined to use a programming language that they are already confortable with. For example, a group of people have been using Mochadoom to develop their own zombie survival game rather than learning how other more powerful Doom engines work. I'm thinking of ZDoom and ACS. I can only suspect that they made this decision because they were already familiar with Java. 0 Quote Share this post Link to post
Gez Posted February 4, 2022 On dimanche 30 janvier 2022 at 7:23 AM, axdoomer said: For example, a group of people have been using Mochadoom to develop their own zombie survival game rather than learning how other more powerful Doom engines work. Any more information about this game? It is relevant to my interests. 0 Quote Share this post Link to post
axdoomer Posted February 5, 2022 20 hours ago, Gez said: Any more information about this game? It is relevant to my interests. I was going to link it in my post, but sadly I wasn't able to find it. All I remember is that they implemented day and night cycles in the engine. (this is more than 2 years ago) 0 Quote Share this post Link to post
smeghammer Posted February 27, 2022 @axdoomer, could it be this issue on the Mochadoom issues list? https://github.com/njara/mochadoom/issues/2 Translated to English, suggests that zombies are definitely involved... 0 Quote Share this post Link to post
omx32x Posted June 1, 2022 (edited) sorry for the necro bump but if you are interested on learning about what languages are used in games you might like to know about GDscript with is an programing language made by game devs, for game devs https://en.wikipedia.org/wiki/Godot_(game_engine) its is part of the godot game engine and while godot isnt used exclusively for making games it is still dedicated for it cruelty squad is a good exemple of a game made in godot Edited June 1, 2022 by omalefico32x 1 Quote Share this post Link to post
URROVA Posted June 1, 2022 (edited) 26 minutes ago, omalefico32x said: sorry for the necro bump but if you are interested on learning about what languages are used in games you might like to know about GDscript with is an programing language made by game devs, for game devs https://en.wikipedia.org/wiki/Godot_(game_engine) its is part of the godot game engine and while godot isnt used exclusively for making games it is still dedicated for it cruelty squad is a good exemple of a game made in godot Im studying how to use godot, but since a really short time so i couldnt make anything interesting Ok, so to fit this post to the threads theme: Unity games use C# for coding Unreal games are coded in C++, and blueprints that is a visual programming language Gamemaker games uses a propietary language named game maker language or GML The already mentioned Godot uses GDScript but also can use C# and C++ and is working on a visual scripting language too. There are the löve2d games that uses lua, that language is used also on roblox For python, there is the pygame module, i dont know what games were made with it thought And for shaders (not an engine, but graphics processing on the GPU), there are glsl, hlsl, etc HTML5 web games uses javascript/web assembly Flash Games were programmed with actionscript The first videogames ever were programmed on assembler The already mentioned java, its used by minecraft and mobile games Edited June 1, 2022 by URROVA 1 Quote Share this post Link to post
omx32x Posted June 1, 2022 9 minutes ago, URROVA said: Im studying how to use godot, but since a really short time so i couldnt make anything interesting ive been making a game using godot for 4 months now but ive been learning about the engine ever since the year started gdscript is such a joy to write 1 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.