Welcome, Guest. Please login or register.

Author Topic: Game programming on the Amiga  (Read 5975 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline MagicSN

  • Full Member
  • ***
  • Join Date: Sep 2002
  • Posts: 145
    • Show all replies
Re: Game programming on the Amiga
« on: February 06, 2004, 10:03:59 AM »
Best language: C++
3D API: Either Warp3D or MiniGL

I would recommend MiniGL for a game, would make things easier. MiniGL on Amiga is much more complete than the PC-MiniGL, BTW, though no full GL Implementation. It was originally created to be used for the Amiga ports of Heretic II and Shogo.

graphics programming in principial:

Several options. Either you use something Amiga-specific like the chunkyppc.library or Picaso96, or you use SDL. Depends I guess of what sort of functionality you need. And if you need Multiplatform or not (for Multiplatform SDL is of course good).

These are of course all only standard APIs, if you were looking for a complete 3D engine, complete with level editing tools and everything this does not answer your questions. Was this what you had in mind, or was your question only targeted at what 2D and 3D APIs are available ?

Steffen
 

Offline MagicSN

  • Full Member
  • ***
  • Join Date: Sep 2002
  • Posts: 145
    • Show all replies
Re: Game programming on the Amiga
« Reply #1 on: February 06, 2004, 12:01:17 PM »
Hi!

I do not agree. Quake 2 for example does not hit the hardware, and nobody would call it slow, right ? :)

It always depends on what you are doing. For a certain kind of 2D games hitting the hardware (== directly using Blitter/Scrolling tricks or such) can have advantages, but if it is for example a 3D Game you have no advantage whatsoever there... even if you hit the hardware you only can just refresh the display... no "magic" to be found there...

Steffen
 

Offline MagicSN

  • Full Member
  • ***
  • Join Date: Sep 2002
  • Posts: 145
    • Show all replies
Re: Game programming on the Amiga
« Reply #2 on: February 06, 2004, 12:43:11 PM »
>Physically SDL is a shared Library, sdl.library, and

Not always. The OS 4 version of SDL for example is (at least currently) a Linker Library. As is the Linux-version of SDL.

Anyways, basically SDL covers the aspects:

- Joysticks (I have a Beta of an SDL version which
  uses AmigaInput, BTW :) )
- Sound
- Video (2D), also includes Blitting, and also conversion to a specific pixel format
- Interface to GL for 3D
- Timer
- Semaphores and other stuff for Multithreading and such
- Mouse/Keyboard

Hope I did not forget anything :)

There are also some "Extra-"Libraries for SDL (but not officially part of SDL):

SDL_mixer: For mixing of sounds
SDL_image: various image-loaders
SMpeg: Movie Replay

Basically, if done good, you can take the same source and compile it on any OS.

SDL also has some disadvantages though, and
because of that it was always quite a dispute, some
coders always use SDL, some never :) :

- It does not include a Text() function, you have to do
  all textoutput code yourselves
- You cannot access the Amiga Screen/Window
  handles if you'd want to do so (but if you code
  OS-independent, you'd not do so anyways)
- You do not have Direct Access to the Video RAM
  (okay, you can hack that in using MiniGL commands
  were you HAVE such possibilities, hehehe :) But
  of course then you throw OS-independency out of
  the window again)
- Not all Amiga Implementations of SDL have MiniGL
  Support
- The 2D Blitting functions (used for screen refresh) of some SDL implementations on Amiga are said to be slow

Based on the current SDL Beta for OS 4 there are
several ports using SDL for OS 4 already, including
MAME and other popular stuff.

Steffen