English Amiga Board


Go Back   English Amiga Board > Main > Retrogaming General Discussion

 
 
Thread Tools
Old 11 April 2017, 14:05   #1
gntavelis
Registered User
 
Join Date: Jan 2014
Location: Greece
Posts: 61
games - coding related question

Hello!

I was always wondering which programming language the coders were using to create games for the amiga computer or atari st?

Thank you in advance
George
gntavelis is offline  
Old 11 April 2017, 14:33   #2
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,334
Mostly ASM, and then a number in Blitz Basic or AMOS, with a few using C. On the atari it would be similar I suspect, but Blitz wasn't available and AMOS was called STOS.
Daedalus is offline  
Old 11 April 2017, 15:38   #3
gntavelis
Registered User
 
Join Date: Jan 2014
Location: Greece
Posts: 61
Thanks Deadalus! I was always wondering how the coders actually master asm. It is a very difficult language in my opinion.

Skidmarks was written in Blitz Basic or i am wrong?
gntavelis is offline  
Old 11 April 2017, 15:41   #4
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
Quote:
Originally Posted by gntavelis View Post
I was always wondering how the coders actually master asm.
By doing it a lot. It's the only way.
Thorham is online now  
Old 11 April 2017, 15:44   #5
PortuguesePilot
Global Moderator
 
PortuguesePilot's Avatar
 
Join Date: May 2013
Location: Setúbal, Portugal
Posts: 609
68K Assembly presents the best results for the Amiga. However, it's a crypto (dead) code language and it's not as user-friendly as some more modern ones, hence why it seems to be hard for people to pick up, learn and use.

And yes, Skidmarks - in all of its glory - was written in Blitz Basic.

EDIT: typos fixed

Last edited by PortuguesePilot; 11 April 2017 at 17:02. Reason: Typos fixed
PortuguesePilot is offline  
Old 11 April 2017, 16:54   #6
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
Most used for games are ASM and C, many being a mixture of both. Amos+Blitz are rare for commercial games. Stos is even less common.
Quite a lot of games, especially (but not only) point'n'click, use their own language (f.e. scumm).
ASM isn't as hard as most people think. For me it's just a different state of mind - and it helps if you have the right tools. But what's sure is that it gives the best results.
meynaf is offline  
Old 11 April 2017, 17:46   #7
gntavelis
Registered User
 
Join Date: Jan 2014
Location: Greece
Posts: 61
Thank you guys for your replies. If anybody has a book to suggest for a beginner please let me know.
gntavelis is offline  
Old 11 April 2017, 23:47   #8
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
If you don't have any programming experience, then assembly language is an absolutely terrible language to start with.
Thorham is online now  
Old 11 April 2017, 23:55   #9
Galahad/FLT
Going nowhere
 
Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 50
Posts: 8,986
Quote:
Originally Posted by Thorham View Post
If you don't have any programming experience, then assembly language is an absolutely terrible language to start with.
And yet I found it the complete opposite, I just cannot get on with high level languages at all, yet found ASM far easier
Galahad/FLT is offline  
Old 12 April 2017, 08:41   #10
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
This isn't necessarily contradictory : ASM isn't a good choice for pure beginners, but once you're started it becomes more and more the right tool (as the further you go, the more frustrating the other languages become).
That said, some "high level" languages probably aren't good for starters.
The best school is old 8-bit basic -> old 8-bit asm -> 68k asm.
meynaf is offline  
Old 12 April 2017, 10:48   #11
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,334
I don't really know of a book that covers game development in various languages, but there are plenty for individual languages. Several old books cover Amiga-specific ASM such as "Mastering Amiga Assembler", as well as general 68000 books and resources including the Motorola reference manual, though you're probably better off looking for something Amiga-specific.

I personally like "Complete Amiga C" for C programming, it covers the basics and some useful Amiga-specific stuff. Blitz has a decent manual and built-in help system, but I don't know of any other books. AMOS has a couple of books from memory, there's a Game Maker one in particular that crops up from time to time second hand, and also has a decent manual.

Yeah, Blitz and AMOS commercial games were rare, but there are a few key examples that will show you the type of thing they're well suited to. Blitz, for example, was used for Skidmarks as mentioned, but also Worms, Foundation and Gloom (though I would expect Gloom had a hefty amount of ASM involved for its core routines). Anything with a lot of fast action will almost certainly be ASM as nothing else can extract that sort of performance from the hardware.
Daedalus is offline  
Old 12 April 2017, 10:50   #12
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
Quote:
Originally Posted by Galahad/FLT View Post
And yet I found it the complete opposite, I just cannot get on with high level languages at all, yet found ASM far easier
Then you're likely an exception.

Quote:
Originally Posted by meynaf View Post
the more frustrating the other languages become
You seem to be an exception as well. I've found some higher level language to be very nice to work in.
Thorham is online now  
Old 12 April 2017, 11:16   #13
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
Quote:
Originally Posted by Thorham View Post
You seem to be an exception as well. I've found some higher level language to be very nice to work in.
High level languages are what they are -- high level. This means that, as long as the tools you need are there, they're ok, but whenever the tools are not present then they start to suck badly. In addition they do a lot of things by themselves, and this "by themselves" often turns into "in your back". Not to mention they may contain bugs or design mistakes, which may make you end up spending more time fighting against the development environment than for actual coding...
meynaf is offline  
Old 12 April 2017, 14:41   #14
Apollo
Registered User
 
Apollo's Avatar
 
Join Date: Sep 2008
Location: Germany
Age: 49
Posts: 137
It really depends.

It depends on what you're trying to achieve, on which platform etc. I can hardly imagine that someone wants to write an internet browser in 100% pure assembler.
Development environments, frameworks etc. have their right to exist. Even writing games on todays standard PCs is something very much related to using libraries or frameworks (doing 3D without using OpenGL or DirectX, really?)

I started in Assembler in '88 because my group back then needed a coder and I was the one already hacking around in Seka. Later on I did some Modula-2 (because I liked the syntax of Pascal). Of course I did some C on Amiga but It never got me hat much. On the Amiga I always went back to Assembler. But this was always related to what I was coding (mostly small tools and games, demos).
On work I do C and Python on project I hardy can imagine doing in Assembler (or even parts of it). Additionally I rely heavily on frameworks because I do not want to write my very own HTTP-library.

Please do not get me wrong, I am not a friend of things like "eclipsed Java" also. If someone is not able to program f.ex. Java without the support of hints everywhere there is something wrong.

Sometimes it strikes me by comparing Assembler with high-level languages. By learning Assembler on 8-bit or 16-bit platforms you're almost always faced with the concepts of the hardware (f.ex. graphic or sound). Learning Assembler mnemnonics is one but understanding f.ex. how blit-terms work is something for its own. There is so much more to know before you finally see you're 'hello world' example on a vanilla 230x256x5 screen (without using the OS).
Of course one can compare Assembler and HL languages but you always miss the point.
Apollo is offline  
Old 12 April 2017, 15:00   #15
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
Quote:
Originally Posted by Apollo View Post
I can hardly imagine that someone wants to write an internet browser in 100% pure assembler.
Perhaps, but I can certainly imagine writing an HTML/CSS engine in 680x0 assembly language.

Quote:
Originally Posted by Apollo View Post
doing 3D without using OpenGL or DirectX, really?
Indeed. Would probably be madness. Actually, is it even practically possible?

Quote:
Originally Posted by Apollo View Post
On the Amiga I always went back to Assembler. But this was always related to what I was coding (mostly small tools and games, demos).
For small utilities C is best.

Quote:
Originally Posted by Apollo View Post
By learning Assembler on 8-bit or 16-bit platforms you're almost always faced with the concepts of the hardware (f.ex. graphic or sound). Learning Assembler mnemnonics is one but understanding f.ex. how blit-terms work is something for its own. There is so much more to know before you finally see you're 'hello world' example on a vanilla 230x256x5 screen (without using the OS).
Yeah, that doesn't make much sense. Assembly language and graphics hardware have nothing to do with each other. Best way to learn this is to use the OS. Makes learning much easier, and it gets you into some good habits, like using the OS to open screens, etc.
Thorham is online now  
Old 12 April 2017, 15:22   #16
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
Quote:
Originally Posted by Apollo View Post
I can hardly imagine that someone wants to write an internet browser in 100% pure assembler.
The problem with the internet browser isn't the language in which it is written. It comes 100% from dirty, unclear, poorly documented, constantly changing web standards.


Quote:
Originally Posted by Apollo View Post
Development environments, frameworks etc. have their right to exist.
There are development environments for asm. I use my own framework in asm. So where's the point here ?


Quote:
Originally Posted by Apollo View Post
Even writing games on todays standard PCs is something very much related to using libraries or frameworks (doing 3D without using OpenGL or DirectX, really?)
Why would someone want to do 3D without OpenGL or DirectX ?


Quote:
Originally Posted by Apollo View Post
On work I do C and Python on project I hardy can imagine doing in Assembler (or even parts of it).
Just about anything can be done in asm, really. But it has to be good asm - not x86, not arm, not ppc, not many of them.


Quote:
Originally Posted by Apollo View Post
Additionally I rely heavily on frameworks because I do not want to write my very own HTTP-library.
Again, why would you have to do that ? If a language can use some http library, then asm can too.


Quote:
Originally Posted by Apollo View Post
Sometimes it strikes me by comparing Assembler with high-level languages. By learning Assembler on 8-bit or 16-bit platforms you're almost always faced with the concepts of the hardware (f.ex. graphic or sound). Learning Assembler mnemnonics is one but understanding f.ex. how blit-terms work is something for its own.
You're talking like if asm couldn't use the OS. But it can. And it's not more complicated than with another language.
Writing asm isn't necessarily banging the hardware !


Quote:
Originally Posted by Apollo View Post
There is so much more to know before you finally see you're 'hello world' example on a vanilla 230x256x5 screen (without using the OS).
When using high level languages and their huge, complicated frameworks, there is even more to know.


Quote:
Originally Posted by Thorham View Post
For small utilities C is best.
Argh ! No. Sorry, but i strongly disagree here. I can't even think about just a single small utility that would be easier to write in C.
meynaf is offline  
Old 12 April 2017, 15:30   #17
commodorejohn
Shameless recidivist
 
commodorejohn's Avatar
 
Join Date: Jun 2012
Location: Duluth, Minnesota (USA)
Age: 38
Posts: 260
68k assembly language is terrific - it's easily the nicest, most programmer-friendly architecture I've encountered.
commodorejohn is offline  
Old 12 April 2017, 15:43   #18
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,334
Quote:
Originally Posted by meynaf View Post
The problem with the internet browser isn't the language in which it is written. It comes 100% from dirty, unclear, poorly documented, constantly changing web standards.
I'm not sure why would that make a difference?

Quote:
Why would someone want to do 3D without OpenGL or DirectX ?
For performance on low-end machines without hardware acceleration. The same reason people would use ASM instead of C, for example. Do you not see how a high level language can be taken as the same sort of thing - like OpenGL, but for a CPU? It takes a nicely organised, relatively standard piece of code and translates it into the actual code the machine runs. Not everyone has your level of expertise, and so for most people, a high level "toolkit" is the only way to achieve significant results.

Quote:
Again, why would you have to do that ? If a language can use some http library, then asm can too.
Again, why would you have to code in ASM, when there are higher level languages you can use instead? It's not that dissimilar a concept.

Quote:
You're talking like if asm couldn't use the OS. But it can. And it's not more complicated than with another language.
Writing asm isn't necessarily banging the hardware !
We are aware of that, and I don't really think he was disputing it.

Quote:
When using high level languages and their huge, complicated frameworks, there is even more to know.
Only the frameworks you need for your task - the same frameworks you're talking about using from ASM above.

Quote:
Argh ! No. Sorry, but i strongly disagree here. I can't even think about just a single small utility that would be easier to write in C.
Of course that's your perception, since your exceptional gift for ASM leads you to be strongly biased towards it. But for most people, myself included, everything but the simplest of routines is easier to write in C. I know I haven't made that many contributions to Amiga software, but I have made some, which is more than the zero I would have made if it weren't for high-level languages.
Daedalus is offline  
Old 12 April 2017, 15:52   #19
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
Quote:
Originally Posted by meynaf View Post
Argh ! No. Sorry, but i strongly disagree here. I can't even think about just a single small utility that would be easier to write in C.
I wrote a simple completer for FrexxEd in C (it's a stand alone program, though). Was very easy. Also did a time stamp program in C (custom strftime function). Really easy, too. Both programs don't even use the C run time. Can't imagine it would be easier to write in assembly language. I can post the code if you want.

Quote:
Originally Posted by commodorejohn View Post
68k assembly language is terrific - it's easily the nicest, most programmer-friendly architecture I've encountered.
Wasn't it designed with the programmer in mind?
Thorham is online now  
Old 12 April 2017, 16:35   #20
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
Quote:
Originally Posted by Daedalus View Post
I'm not sure why would that make a difference?
The point is precisely that it does not make any difference in which language it is written.


Quote:
Originally Posted by Daedalus View Post
For performance on low-end machines without hardware acceleration. The same reason people would use ASM instead of C, for example. Do you not see how a high level language can be taken as the same sort of thing - like OpenGL, but for a CPU? It takes a nicely organised, relatively standard piece of code and translates it into the actual code the machine runs. Not everyone has your level of expertise, and so for most people, a high level "toolkit" is the only way to achieve significant results.
So in short it's an abstraction layer for beginners...


Quote:
Originally Posted by Daedalus View Post
Again, why would you have to code in ASM, when there are higher level languages you can use instead? It's not that dissimilar a concept.
There are things that can be done in ASM and not in another language.
But there is nothing other languages can do, that ASM can't.


Quote:
Originally Posted by Daedalus View Post
Only the frameworks you need for your task - the same frameworks you're talking about using from ASM above.
Frameworks for high-level languages do too many things, a lot more than what's needed - and in a more complicated manner than should be.


Quote:
Originally Posted by Daedalus View Post
Of course that's your perception, since your exceptional gift for ASM leads you to be strongly biased towards it. But for most people, myself included, everything but the simplest of routines is easier to write in C. I know I haven't made that many contributions to Amiga software, but I have made some, which is more than the zero I would have made if it weren't for high-level languages.
Well, you don't write asm because you believe it's hard, and thus your asm skills remain low so it indeed is hard.


Quote:
Originally Posted by Thorham View Post
I wrote a simple completer for FrexxEd in C (it's a stand alone program, though). Was very easy. Also did a time stamp program in C (custom strftime function). Really easy, too. Both programs don't even use the C run time. Can't imagine it would be easier to write in assembly language. I can post the code if you want.
I've written many little tools in asm, some even for a task that had to run only once. Everyone can show examples, this leads nowhere.
meynaf is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Another floppy-related question. NightSprinter support.Hardware 2 28 February 2016 20:26
BBS Software Related Question. lucidphreak Amiga scene 2 20 February 2009 03:42
whats happening coding related at amiga inc / hyperion (link) PseudoDOS Coders. General 0 29 May 2003 23:47
Looking for scans related to bitmap bros. games kametyken Nostalgia & memories 33 09 October 2002 22:53
Sex related games! Jim Looking for a game name ? 11 28 August 2002 09:21

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 04:53.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.12673 seconds with 13 queries