17 June 2021, 23:17 | #61 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,162
|
Besides learning the basics (which is A LOT) what I find difficult is making something work, then realizing that it's too darn slow because of overestimated blitter performance, poor CPU performance (for 3D games), lack of planning when designing your tasks
IMHO, if you don't use parallelism (blitter + cpu when the blitter is working) your 2D game will crawl. If you don't use the blitter, the game will be slow too (some games don't use the blitter at all, like Wicked, and a lot of ST ports. Not great) Also using a high level language can introduce a lot of overhead because of old compilers that generate poor 68k code. Select your compiler carefully, or use assembly.... Best one around seems to be Bartman's VS Code gcc 10 plugin. For sound, you can do a lot of things with off-the-shelf components. Like phx ptreplay. And forget about it. It's great. Some engines developped recently look very good. Ex: Scorpion engine. I don't know about the overhead, but it looks good. Of course, people who know asm / C / C++ have another language to learn... Or AMOS.... |
18 June 2021, 08:46 | #62 |
Also known as GarethQ
Join Date: May 2019
Location: Twickenham / U.K.
Posts: 715
|
So the Raspberry Pi foundation have a good book on learning C++. Would that learning be applicable to Amiga C++? I mean I would not expect a full 1-1 compatibility, but for the basics, would it help?
Last edited by fxgogo; 18 June 2021 at 08:47. Reason: Add more info |
18 June 2021, 10:10 | #63 | ||
Registered User
Join Date: Mar 2018
Location: Hastings, New Zealand
Posts: 2,546
|
Quote:
Perhaps you can find out all you need to know from secondary sources, but it will be a mishmash of fragmented knowledge that is bound to be incomplete, and perhaps give you a wrong impression about some stuff. The RKMs give you an overview of the Amiga from the people who designed it, so you get to how they intended it to be used. This will make it easier for you to understand how it actually works. Quote:
The main reason you might want to program the Amiga in assembler is to do stuff that hits the hardware. So you will be happy to know that the Hardware Reference Manual has numerous asm examples. Some RKM example code is also written in assembler, including a 'ramdev' device, an ILBM packing routine, program startup code, and a run-time library. |
||
18 June 2021, 10:34 | #64 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,162
|
at least when using C when calling the API you can't make mistakes with register parameters. Such mistakes are lethal in asm (lockup/freeze/guru)
|
18 June 2021, 10:51 | #65 |
cheeky scoundrel
Join Date: Nov 2004
Location: Spijkenisse/Netherlands
Age: 42
Posts: 6,908
|
I have no fond memories of that when doing development for DOS. Put one wrong value in a register and boom... reboot needed. Good luck debugging a problem when the result is a hanging OS :/
|
18 June 2021, 11:16 | #66 | |
Registered User
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,409
|
Quote:
There used to be an argument that C was a better pick than C++ for performance reasons, but I'm not certain that still applies today with the newer gcc versions being out now. |
|
18 June 2021, 12:01 | #67 | |
Inviyya Dude!
Join Date: Sep 2016
Location: Amiga Island
Posts: 2,770
|
Quote:
|
|
18 June 2021, 12:02 | #68 | |
Registered User
Join Date: Jan 2015
Location: Melbourne, Australia
Posts: 548
|
Quote:
The Game Gear has a much lower resolution screen. Game gear games have a resolution of 160 × 144 pixels, while most Amiga games have 320 x 200 or even more pixels. Sprites: The Game gear has 64 8x8 sprites, while the Amiga has "only" 8 sprites. Sure, the Amiga can have the sprites multiplexed so they can be "reused" (as long as they don't occupy the same scanline), and they're larger, 16 pixels wide and up to the height of the screen. But if the programmer doesn't want to deal with multiplexing the sprites, that difference of 64 sprites vs 8 is a big one. There is also the issue of experience with the different platforms. Someone who is very experienced with the Amiga can really make it sing and dance, but if they've never programmed the Game Gear (for example), their first game may not be as good as it could be. And it goes the opposite way - a Game Gear programmer who has never made an Amiga game will probably not understand the ways of getting the best out of the Amiga. |
|
18 June 2021, 12:45 | #69 |
Registered User
Join Date: Aug 2013
Location: Marseille / France
Posts: 1,416
|
I didn't have the times to play with it but doesn't the work done with the Scorpion Engine, especially the latest versions, by Earok moderate a bit the assertation that the Amiga is hard to code or would be bad at parallaxes ? Examples of what can be done now with this engine are stunning
|
18 June 2021, 12:58 | #70 | |
Inviyya Dude!
Join Date: Sep 2016
Location: Amiga Island
Posts: 2,770
|
Quote:
b) what you are talking about is not real parallax but scrolling repeating patterns in different speeds per scanline. Sorry for being pedantic here... |
|
18 June 2021, 13:10 | #71 | |
Registered User
Join Date: Aug 2013
Location: Marseille / France
Posts: 1,416
|
Quote:
a) yeah but my point was IF you can manage such a quality with the Scorpion Engine, you could imagine what can be achieved by coding directly the hardware. b) This is a coder point of view. For a non specialist, it ends up to be a perfect parallax, AKA an effect "where background images move past the camera more slowly than foreground images, creating an illusion of depth in a 2D scene of distance" (I'm quoting WP) You're absolutely not. And thanks again for Inviyya (another example proving that Amiga isn't bad at parallaxes btw) |
|
18 June 2021, 13:35 | #72 |
Registered User
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
|
The Amiga is a great machine, but to get the best out of it you have to learn how to use it - just like anything else.
Its weakness as a games platform is that it doesn't have a tile-mapped display where the likes of the old 8 bit and 16 bit games consoles do. I'd therefore argue that making games on those old platforms are far easier than on the Amiga.... then there's the mass of extra hardware ... but we don't wanna go there again. Is it hard to program for ... compared to a C64? Yes Is it hard to program for ... compared to an Atari ST? No Is it hard to program for ... compared to using an engine? ... it's not a valid comparison. |
18 June 2021, 13:37 | #73 |
cheeky scoundrel
Join Date: Nov 2004
Location: Spijkenisse/Netherlands
Age: 42
Posts: 6,908
|
Well yes but I don't need Scorpion Engine for that as there actually are a good number of games which leave nothing to the imagination when it comes to using the hardware appropriately. It has been discussed quite thoroughly on this very forum.
|
18 June 2021, 14:10 | #74 |
Registered User
Join Date: May 2013
Location: Grimstad / Norway
Posts: 839
|
Read the HRM and get the startup/shutdown snippets you can find online - I suggest studying that to understand why you need to go through those procedures before your code runs. Then you can skip the RKRM if you don't want to have the OS do your lifting.
(For fully throwing out the OS you probably need a good deal of experience in Amiga coding.) |
18 June 2021, 14:45 | #75 | |||
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
|
Quote:
The only difference is that you have to disable the OS in a clean way first. As others already indicated there are a lot of such startup routines available and you don't even have to understand them in detail. Quote:
If you want to do OS programming (for a Workbench application) then you need the RKM instead. Those are really two different worlds. The worst thing to do is mixing hardware hacking with OS compliant code. Quote:
Considering that the AmigaOS is much more complex than TOS and the Amiga custom chip hardware is much more complex than the stock chips on the ST ... I tend to disagree. |
|||
18 June 2021, 14:59 | #76 | |||
Registered User
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,409
|
Quote:
That said, I would say that having a starting point with the OS up and then killing it for the duration of the program on startup also feels acceptable to me. Quote:
Quote:
|
|||
18 June 2021, 15:09 | #77 | |
Registered User
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
|
Quote:
Let's say you want to do a full screen horizontal scrolling game on the Amiga and on the ST at 50hz.... (a pretty standard thing for games to do). Which platform do you think that can be achieved on the easiest? |
|
18 June 2021, 15:21 | #78 |
Inviyya Dude!
Join Date: Sep 2016
Location: Amiga Island
Posts: 2,770
|
The ST's bitplane layout is a nightmare though. Since I invested some time learning about it my respect for anybody who got something done on the ST rose a good bit.
On the other side, this kind of intrigues me since I love getting the most out of hardware. |
18 June 2021, 15:24 | #79 | |
Registered User
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
|
Quote:
The stuff they did with the hardware was exceptional. Look no further than Enchanted Land on the ST which was a technical masterpiece of the machine yet on the Amiga it's nothing special. |
|
18 June 2021, 15:28 | #80 | |
Inviyya Dude!
Join Date: Sep 2016
Location: Amiga Island
Posts: 2,770
|
Quote:
And that's whats intruiging me. Must be fun to get something crazy out of it that hasn't been done before. The Amiga is a much more capable machine, but its capabilities are also more confining how you want to use it |
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
External windows program communicating with program running inside WinUAE | xxxxx | support.WinUAE | 10 | 19 February 2013 09:27 |
For a beginner what Program and Program language would you recommend? | amigang | New to Emulation or Amiga scene | 5 | 27 March 2012 13:06 |
Label Program for Amiga | moxavius | support.Apps | 2 | 18 February 2012 13:59 |
program to reboot the amiga | jotd | request.Apps | 11 | 30 November 2006 12:47 |
Calling another program from a compiled Amos program...? | andyr | support.Apps | 3 | 24 October 2004 23:47 |
|
|