It is currently Sun Oct 22, 2017 2:05 pm

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 
Offline
Site Admin
User avatar

Joined: Mon Sep 20, 2004 6:04 am
Posts: 3471
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".


Top
 Profile  
 
PostPosted: Tue Jun 13, 2017 2:35 am 
Offline

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.

1985-1990

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.

1990-1995

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.

1995-2000

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.

2000-2010

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.

2010

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.

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

Joined: Fri May 08, 2015 7:17 pm
Posts: 1785
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.

_________________
nesdoug.com -- blog/tutorial on programming for the NES


Top
 Profile  
 
PostPosted: Tue Jun 13, 2017 5:37 am 
Offline

Joined: Tue Feb 07, 2017 2:03 am
Posts: 248
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...


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

Joined: Mon Jan 03, 2005 10:36 am
Posts: 2963
Location: Tampere, Finland
cdcdcd wrote:
1990-1995
...
1990-1995

FYI, you have the same period twice in there.

_________________
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: kkfos.aspekt.fi


Top
 Profile  
 
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 9 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