English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Language

 
 
Thread Tools
Old 27 May 2020, 10:30   #1
CHADBRODIE
Registered User
 
Join Date: May 2020
Location: sacramento
Posts: 2
Question how to draw 3D graphics with assembly ? make video games?

for the first elite it was moved development 68000 assembly language -> 80286 assembler does anybody know what elite 2 was coded in??? just want to make a racer sim/space sim, are there any tutorials on creating/animating very basic vectors. no complicated graphics anything I just want to get a game down !!@ I have knowledge of coding my own rpgs in C so its very weird for me to transition to assembly but not impossible [ Show youtube player ]

Last edited by CHADBRODIE; 27 May 2020 at 10:44.
CHADBRODIE is offline  
Old 02 June 2020, 23:34   #2
VladR
Registered User
 
Join Date: Dec 2019
Location: North Dakota
Posts: 741
You really don't want to start experimenting with 3D gfx in Asm.

You need a productive dev environment where it's instant to rebuild the code and be able to use debugger.

Something like visual studio.

When you finally make sense of all 3D concepts and have a demo running - only then start thinking about porting certain routines to Asm.

I would recommend starting experimenting on PC and only when everything works port the code to Amiga.
VladR is offline  
Old 03 June 2020, 01:37   #3
redblade
Zone Friend
 
redblade's Avatar
 
Join Date: Mar 2004
Location: Middle Earth
Age: 40
Posts: 2,127
Below is a book that has been converted to .html format.

https://amigasourcecodepreservation....e-3d-graphics/

I think the book is also available for the Atari-ST as well.

There was a Danish tutorial online but I can't find the site but it was written for the A500 so it was not system friendly (the Screen buffer was at $50000 but that can be easily fixed).
redblade is offline  
Old 03 June 2020, 09:15   #4
Tigerskunk
Inviyya Dude!
 
Tigerskunk's Avatar
 
Join Date: Sep 2016
Location: Amiga Island
Posts: 2,770
Yep, don't do it in asm.

Just use C, and get your stuff as fast as you can later on with Amiga specifics (bitplanes, etc).

There are some good threads here on EAB about this.

like this one:
http://eab.abime.net/showthread.php?t=93740
Tigerskunk is offline  
Old 03 June 2020, 10:33   #5
deimos
It's coming back!
 
deimos's Avatar
 
Join Date: Jul 2018
Location: comp.sys.amiga
Posts: 762
I'd recommend this: http://eab.abime.net/showthread.php?t=98525

I have written a nearly decent 3D system using it, the start of a flight simulator game, 90% C (using gcc), 10% assembler (using vasm).
deimos is offline  
Old 08 June 2020, 12:58   #6
CHADBRODIE
Registered User
 
Join Date: May 2020
Location: sacramento
Posts: 2
are there any vector\ gfx\ 3D tutorials for asm? im fluent with asm86x [C89], but not really a fan of newer versions of visual studio. what about some video game engines for AOS? like using lightwave with Wazp3D ? .
what about modding 3D construction kit and using the maps importing them into your own games? how about some software you guys would suggest to use maybe some 3D utils? . why would you tell me not to program in asm, are you underestimating me aha ? nothing great comes easy
CHADBRODIE is offline  
Old 08 June 2020, 13:23   #7
deimos
It's coming back!
 
deimos's Avatar
 
Join Date: Jul 2018
Location: comp.sys.amiga
Posts: 762
Quote:
Originally Posted by CHADBRODIE View Post
why would you tell me not to program in asm, are you underestimating me aha ? nothing great comes easy
It is nothing to do with your abilities or our estimation of them, it is simply that it is not necessary to use assembly language to do good, fast, 3D graphics, particularly with how good modern compilers and optimisers have become.

If you want to, that's up to you, but you'll probably get more help if you separate the questions about the 3D graphics algorithms from the actual technicalities of how to implement them in assembly language.
deimos is offline  
Old 08 June 2020, 16:18   #8
commodorejohn
Shameless recidivist
 
commodorejohn's Avatar
 
Join Date: Jun 2012
Location: Duluth, Minnesota (USA)
Age: 38
Posts: 260
The key component for doing 3D graphics, in any language, is learning how the math works, and for that I recommend the book 3D Math Primer for Graphics and Game Development. For additional enlightenment and specific techniques and advice for 3D graphics done at a low level without hardware assistance, check out the relevant bits of Michael Abrash's Graphics Programming Black Book.
commodorejohn is offline  
Old 08 June 2020, 16:22   #9
dodke
Registered User
 
Join Date: Feb 2018
Location: London / UK
Posts: 112
It's easier to do higher level optimisations in C than if you write assembly. If you're aiming for 68000 you should use tables for most calculations. If you do the calculations normally first you will end up throwing the code away when you implement precalculation and tables anyway. It would be a bit of a waste of time to write the initial unoptimised solution in assembly.
dodke is offline  
Old 08 June 2020, 21:29   #10
VladR
Registered User
 
Join Date: Dec 2019
Location: North Dakota
Posts: 741
Quote:
Originally Posted by CHADBRODIE View Post
why would you tell me not to program in asm, are you underestimating me aha ? nothing great comes easy
We're merely offering advice based on experience.


It's much more productive to experiment in high level language and only once it works and you understand it thoroughly, then go implement the most important parts in asm.


I'm pretty sure it's on the order of 5x-10x faster experimenting in C rather than handling all the stupid bits (division) and other issues when you are at the level of the metal.


Listen, I myself am doing both game and 3d engine in full asm. But I wouldn't really dare to recommend that approach to anybody unless they are bona fide enemy...
VladR is offline  
Old 08 June 2020, 21:35   #11
VladR
Registered User
 
Join Date: Dec 2019
Location: North Dakota
Posts: 741
Quote:
Originally Posted by deimos View Post
I'd recommend this: http://eab.abime.net/showthread.php?t=98525

I have written a nearly decent 3D system using it, the start of a flight simulator game, 90% C (using gcc), 10% assembler (using vasm).
90:10 ratio


Sounds about right and it's a very smart use of your time.


CHADBRODIE : The further you push that ratio, the less additional performance you get per day burnt on debugging


For a real challenge, why don't you throw away assembler ? Real coders write code in hexa


3F
80 00
03 1B
BC BC
7F WTF


VladR is offline  
Old 09 June 2020, 08:50   #12
VladR
Registered User
 
Join Date: Dec 2019
Location: North Dakota
Posts: 741
What a great timing on the thread

I just spent 1.5 days debugging my assembler code. My 3D scene has over 1,500 triangles.

But one, just one fu*king polygon managed to screw the clipping, resulting in an ugly glitch

Signed Post-Division 32-bit Math in ASM can be sometimes nasty b*tch.


I can thus wholeheartedly recommend ditching C and diving deep to ASM.

it. Is. So. Much. FUN
VladR is offline  
Old 17 June 2020, 14:57   #13
Hewitson
Registered User
 
Hewitson's Avatar
 
Join Date: Feb 2007
Location: Melbourne, Australia
Age: 41
Posts: 3,771
Quote:
Originally Posted by VladR View Post
I can thus wholeheartedly recommend ditching C and diving deep to ASM.
Depends on the application.

I remember once doing a programming assignment in C, because that's what the teacher said we must use. I spent hours on it, the code was fine, I still to this day don't know why it didn't work.

Rewrote the whole thing in assembly, worked perfectly the very first time.
Hewitson is offline  
Old 17 June 2020, 15:06   #14
coldacid
WinUAE 4000/40, V4SA
 
coldacid's Avatar
 
Join Date: Apr 2020
Location: East of Oshawa
Posts: 538
Hewitson, I think he was being sarcastic with that line.
coldacid is offline  
Old 17 June 2020, 16:01   #15
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,322
The more you write in ASM, the better you become at doing it. But you also become better with other languages as well because with ASM experience you really know what you're doing.
meynaf is online now  
Old 17 June 2020, 16:14   #16
commodorejohn
Shameless recidivist
 
commodorejohn's Avatar
 
Join Date: Jun 2012
Location: Duluth, Minnesota (USA)
Age: 38
Posts: 260
Quote:
Originally Posted by meynaf View Post
The more you write in ASM, the better you become at doing it. But you also become better with other languages as well because with ASM experience you really know what you're doing.
^ This. It's not great for portability, and other languages are generally better for productivity, but the value of machine-level programming for gaining a real understanding of what's going on under the hood with any other language and for building one's problem-solving skills should not be underestimated. I'm a much better programmer now than I was before I started dabbling with it.
commodorejohn 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
How do I make HD games not WHDLoad Games spannernick support.Games 3 01 May 2012 21:03
Vector graphics games (ok, other games too...) with great INGAME(!) music? dex Nostalgia & memories 22 27 August 2011 15:57
possible to make a video record of a rtg game ? turrican3 support.WinUAE 1 13 February 2010 18:15
Games that make use of FPU Shrub support.Hardware 8 16 August 2005 22:28
The Things Games Make You Do Peanutuk Retrogaming General Discussion 14 30 July 2004 14:12

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 10:32.

Top

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