It is currently Thu Aug 16, 2018 10:56 am

All times are UTC - 7 hours

Post new topic Reply to topic  [ 35 posts ]  Go to page Previous  1, 2, 3
Author Message
PostPosted: Wed Feb 04, 2015 1:33 am 
Site Admin
User avatar

Joined: Mon Sep 20, 2004 6:04 am
Posts: 3541
Location: Indianapolis
Bregalad wrote:
This is probably controversial, but in my opinion Hardware Description Languages are not programming languages (although they look similar) : They are not written to describe programs, but hardware. The verification / test bench part of them could be considered a programming language, though.

I think that's generally the case, but when I'm making something as a state machine in Verilog, to me it starts to feel similar to programming. It certainly becomes sequential at that point, though you are doing multiple things in parallel on each "instruction cycle".

PostPosted: Tue Jun 13, 2017 2:35 am 

Joined: Wed Sep 07, 2016 4:27 pm
Posts: 2
This conversation seems bonkers, most of the comments are making generalities based on limited experience or just hunches.

The turth is many commercial games are written in many different languages.

1980 to 1985

Initially machine code was used on the first home microcomputers (you barely had the resources to run an assembler along with game code) later with the emergence of cross-assemblers, programmers moved onto writing assembly on dev machines that were more powerful than the target platforms. BASIC was also popular for text-based games with static imagery. Some arcade actions games were developed using BASIC compilers which performed quite well.

PC's typically had more resources so many games were developed in a mixture of Pascal and Assembly.


C was still a young language at the time but because it had probably less abstraction than other high level languages it was easier to predict performance overhead from the symbolic code. As a result C replaced Pascal during this period on the PC and also started to be used on home mircos such as the Amiga (Cinemaware games, Marble Madness etc.). But assembly still dominated most microcomputer platforms.


C compilers got a lot better for most platforms. Portability became more important as the games got bigger. At this stage C started to replace assembly as the principal game programming language on PCs (although assembly was still reserved for bottlenecks where the compiler was doing a lousy job) – see most id games for example. In short, commercial reasons along with technical reasons shifted interest toward C. Even games for more modest systems, such as the Sega Megadrive/Genesis, were being programmed in C at this time such as Sonic Spinball.By the mid-90s with the new consoles C had basically become the de facto language of gaming with assembly being reserved for ever smaller and fewer portions of the code base.


Once hardware acceleration became standard on PCs, the need to optimise some graphic routines in software using assembly ended. Basically all games were written entirely, or virtually entirely, in C at this time.


As projects got bigger they demanded more scalable products. C++ gave a lot of features for free such as those of OOP. The C++ compilers had gotten a lot better over the previous 10 years (closing the gap with C compilers) and given the continued improvement in technology C++ quickly replaced C as the main programming language of the games industry. C# also became popular for game development on MS platforms even if C++ was still used for bottlenecks.


Game development platforms means that other very high level scripting languages can be used by developers. The core engine is developed mainly in C++ (Unreal) or a combination of C++, C, Asm (Unity).

Compiler intrinsics gave C and C++ programmers the ability to bypass the compiler and code directly using the desired instructions without having to dip down into assembly. Thus cementing their position as the best languages for performant game engines.

Last edited by cdcdcd on Tue Jun 13, 2017 2:45 pm, edited 1 time in total.

PostPosted: Tue Jun 13, 2017 4:08 am 
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 2195
Location: DIGDUG
This may not help. But all the infocom games (Zork) were written in ZIL for a virtual Z-Machine. I believe the advantage there, was, it used some kind of advanced compression system for all the text in the game to squeeze onto 1 floppy disk.

One website describes ZIL as a form of LISP.

_________________ -- blog/tutorial on programming for the NES

PostPosted: Tue Jun 13, 2017 5:37 am 

Joined: Tue Feb 07, 2017 2:03 am
Posts: 510
Early days 77-88 on the C64, BBC, Amstrad et al, you would be looking at BASIC or ML or BASIC + ML. Pirates for example is a BASIC + ML combo game.
Eventually you end up making a DSL for your games, so most will have some form of byte code system. SFII for example has its Battles Scripts in its own language. Exile has one so it could handle cross porting. But most things are ASM. Apple II might also use Sweet16.

Chrono Trigger, Terranigma, basically all the RPGs have their own DSL scripting language.

Diablo 2 was still in C as C++ was not fast enough. If you look at the post mortems of old games in Game Dev Magazine/gamasutra they usually cover what languages etc

The Conversation system in Boulders Gate was written in ProLog and yes the developer really really regretted that decision by the end ;)

Once you get to scripting in games, sky is the limit. Game Monkey, LUA, Python, Perl, Prolog, LISP, Java but usually small cut back versions of them.

You also get some exotic things like PROMAL, AMOS BASIC being used here or there. Whatever the dev was a fan boy of ;)

On the consoles NEW is death, you never "new", as you will fragment your memory, typically you have a "buckets" system that is pre malloced and then you allocate from the buckets. Or in Resistance: Fall of Man PS3 case, they did manual memory management, i.e. there was a person in charge of all memory and you had to go to her and ask for 128 bytes, and she would give you a memory address.

Rare had a really kooky C engine, that was GC and Xbox and DS I think, hopefully they have retired it by now. It was OO without being C++.
Hydro Thunder was in C.
IF you ever see ScaleForm logo in a game start up then they are using FLASH for the UI.

At some point in games you will end up with c++, as basically all the librarys, engines, tools, frameworks are written in it, C++ is the Dulux of languages... if a jobs worth doing...

PostPosted: Tue Jun 13, 2017 6:48 am 
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 3110
Location: Tampere, Finland
cdcdcd wrote:

FYI, you have the same period twice in there.

Download STREEMERZ for NES from! — Some other stuff I've done:

Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 35 posts ]  Go to page Previous  1, 2, 3

All times are UTC - 7 hours

Who is online

Users browsing this forum: No registered users and 5 guests

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group