1
$\begingroup$

I am wondering what it takes to develop a game in assembly language. For example, what are the limitations or advantages from using assembly language in game development? Also, are there any programs/softwares to aid the development of games in assembly language?

$\endgroup$

closed as off-topic by Wandering Logic, D.W., Rick Decker, David Richerby, FrankW Oct 11 '14 at 20:14

This question appears to be off-topic. The users who voted to close gave these specific reasons:

  • "This question does not appear to be about computer science, within the scope defined in the help center." – David Richerby, FrankW
  • "Questions about software development or programming tools are off-topic here, but can be asked on Stack Overflow." – Wandering Logic, Rick Decker
If this question can be reworded to fit the rules in the help center, please edit the question.

  • $\begingroup$ Yes, it's very possible. Nearly all early games (e.g., in the 1980s) were written in assembly. But this is off-topic, here. $\endgroup$ – David Richerby Oct 11 '14 at 19:43
2
$\begingroup$

Yes, most definitely!

Would you want to these days? No, probably not, unless you were doing it for educational purposes.

The first games on computers were coded in Assembly language, because when computers first came out there wasn't anything else to program in. The most recent example of a popular game that I know of which was written in Assembly is RollerCoaster Tycoon: http://en.wikipedia.org/wiki/RollerCoaster_Tycoon

The are a lot of limitations of writing a game in Assembler code.For example, in assembler you are writing individual instructions to the CPU. This takes a lot of thought and a lot of time. Chances are you won't be doing it as efficiently as you could be too! A modern programming language, like C++ for example, would be far easier to code a game in these days. It allows you to think about how you want to program things in at more complex level without having to think about the very basics of how it will actually run on your computer.

Plus, different computers will have their own versions of Assembler code, so writing your game on one computer may mean it won't run on a whole other line of computers! But when you write a game in something like C++, there's a special program you run that will turn it into assembler code, specifically for what ever machine type you run it on!

To sum this up, I'd say there really is no point writing a game in assembler, unless you are doing it to learn assembler. You will get much faster and better results when making a game if you do it in a higher level language. If you want to get up and running quickly I'd say you should go for something like Java, specifically using a special IDE & library called 'Processing', take a look at it and see how easy it is to get up and going, pretty good if this is your first time programming something and want to get a hang of it:

http://www.processing.org/

$\endgroup$
1
$\begingroup$

I am by no means an expert on assembly language. What I do know makes me think that there would be no reason to develop a game in assembly language, especially with all of the high level languages/ software out to help. Assembly language is a very low level, almost 1s and 0s language, so you would not be making any great 3d games like that I think. Using assembly language to make a game would be extremely difficult in my opinion, and it would not be worth the effort. Have you seen how assembly language looks? It would be very hard to fit that language into the game development context.

$\endgroup$
  • $\begingroup$ Hi @user22623 thanks for the reply! I've searched around and also discovered that the game rollercoaster tycoon uses x86 assembly language but not entirely, with some directx help and others. Basically what I know so far is programmers uses assembly for 'speed' but I would like to explore further more on the advantages and disadvantages of using assembly in games development. Thanks $\endgroup$ – Josh Lcs Oct 11 '14 at 18:11

Not the answer you're looking for? Browse other questions tagged or ask your own question.