[comp.sys.amiga] Amiga Development ??

Bits_of_Magic@cup.portal.com (10/15/89)

I am a professional IBM programmer about to start a port of a game in progress
to the Amiga.  I'd like to hear facts and opinions about native and cross
development systems and tools.  I'd also like to know if the Amiga has
gotten over its early lamentable habit of munching disks with important
data on them, since that's not acceptable in a development environment.

So what are you using to write Amiga programs?  What's wrong with the tools
you have?  If you also program under UNIX or MS-DOS, how do the tools compare
with what's available there?  What are the essential documents necessary to
write code for the Amiga?  What's a minimal development system?  What have I
failed to ask that I should have?

Many thanks in advance,
******************************************************************************
* Evan Robinson                *                                             *
*                              * I believe in my tusks.                      *
* bits_of_magic@cup.portal.com * Long live freedom and damn the ideologies,  *
*                              *   -- Robinson Jeffers, _The Stars Go Over   *
* Mountain View, CA            *                         The Lonely Ocean_   *
******************************************************************************

Sullivan@cup.portal.com (sullivan - segall) (10/16/89)

>I am a professional IBM programmer about to start a port of a game in progress
>to the Amiga.  I'd like to hear facts and opinions about native and cross
>development systems and tools.  I'd also like to know if the Amiga has
>gotten over its early lamentable habit of munching disks with important
>data on them, since that's not acceptable in a development environment.
>
>So what are you using to write Amiga programs?  What's wrong with the tools
>you have?  If you also program under UNIX or MS-DOS, how do the tools compare
>with what's available there?  What are the essential documents necessary to
>write code for the Amiga?  What's a minimal development system?  What have I
>failed to ask that I should have?
>
What type of game?  What language are you using?  For development of 
real-time interactive "video" games you'll need a good assembler and 
a lot more familiarity with the Amiga hardware.  Almost all other development
is done in C, with a small minority in Modula-2.
 
Historically the favorite compiler among developers has been Manx C.  Currently
Manx has fallen well behind Lattice in maintaining their product.  Lattice is
also the official C compiler used by Commodore.  The upcoming release promises
to include considerably better optimization than had been used to date.  Source
code debuggers are available for both compilers(although that really shouldn't
be a problem since the code you are porting should presumably be free of 
logical bugs.)  Manx's new release is expected in about a month and will
include all of the ANSI extensions.  Lattice is already fully ANSI compatible
but includes many enhancements beyond ANSI's recommendations.


IMHO the minimum development machine includes a reasonably fast hard-disk
ca. 40Mb, and 3Mb RAM.  You may want to use the new Agnus chip to remove 
chip ram problems while the game is being developed, but you'll probably want
it to run in 512k total memory in its final iteration to reach the widest
audience.  It doesn't matter whether or not you use an A500 or an A2000.
Both machines have essentially the same capabilities.  
   One important part of the development machine not to forget:  Go and 
purchase a couple of games currently on the market.  They'll give you a 
good idea of what the hardware will support.  There have been a rash of 
hasty ports to our platform, and one more game with lousy graphics and poor
control isn't really going to inspire anyone to purchase it. 

A final word of advice.  Those of us who own harddrives and/or expanded 
memory really hate to see them ignored. If you are planning on obliterating
the operating system, then at least check to see what is attached first.  
Maybe those extra two megs could be used for a ram-disk instead of continually
rereading your data from disk.  More optimal would be to work within the
multi-tasking OS.  God forbid any game should actually have an exit option.
Be the first on your block to exit cleanly.  Allow your software to be 
installed and run from a harddrive.  


...ah well, my legs are aching from trying to hold my balance on this !@#%$#
soapbox.  Any questions I missed? -ss

maile to: sullivan@cup.portal.com

#include <stddisclaimer.h>
#pragma __deny__ spelling_error || literal_truth

conca@handel.CS.ColoState.Edu (michael vincen conca) (10/16/89)

In article <23123@cup.portal.com> Bits_of_Magic@cup.portal.com writes:
>I am a professional IBM programmer about to start a port of a game in progress
>to the Amiga.




     As I'm sure thousands of Amiga users are saying to themselves right
now:

     PLEASE DO THE AMIGA SOME JUSTICE!!!!!!!!!!!!!

     Instead of just doing a straight port, take some time to find out about
the Amiga's special abilities and how to use them.  These are what set the
Amiga apart from the rest of the computer world (especially IBM).

          Commodore has made a tremendous effort to add special features to the
Amiga that allow it to do some amazing things.  If you're unsure what these
special features are, just post a message asking (and be prepared for
many megabytes of mail!). 

     Believe me, a lot of Amiga users would be estatic if they were to
see a port of an IBM program that looks better on the Amiga than it does
on the IBM (as it rightfully should).

------------------------------------------------------------------------
Mike Conca
conca@handel
conca@129.82.102.32
------------------------------------------------------------------------

Bits_of_Magic@cup.portal.com (10/17/89)

>          Commodore has made a tremendous effort to add special features to th
e
>Amiga that allow it to do some amazing things.  If you're unsure what these
>special features are, just post a message asking (and be prepared for
>many megabytes of mail!). 

>     Believe me, a lot of Amiga users would be estatic if they were to
>see a port of an IBM program that looks better on the Amiga than it does
>on the IBM (as it rightfully should).

Without getting into religious wars, what are we talking about?  I've had
an Amiga 1000 for a long time, since we used it for graphics editing since
before Dpaint was available to the public, until Dpaint became available
to us on the IBM.  I know the Amiga is capable of 32 color graphics as
opposed to the IBM's 16 IRGB colors and 256 6-bit RBG colors (both of which
we use in this game).  I expect (since porting the graphics is not one of
my tasks) that Kellyn will either use 16 color or 32 color graphics more
or less like what we use in the 256 color IBM mode.  I know the Amiga has
hardware sprites and software BOBs so animation should be easier & cleaner.
I know the Amiga has a real sound chip so that digitized sound and real
music are both possible.  I know every Amiga comes with a mouse so the mouse
interface from the IBM game should do well (although there are things in
this world that just don't work as well with a mouse as with a joystick or
keyboard).

I know the Amiga has a multitasking operating system which most games blow
out of the water -- those I've talked to say almost universally "dump the
OS and take over the machine" -- which I assume is because it's easier.
If it's possible I see no reason not to leave the OS running.  Something else
I hear about the Amiga is that the documentation is greatly lacking, but
I've gotten some recommendations I plan to follow.  I often hear from Amiga
programmers, "I've seen <so-and-so> done, but I can't find any way to do it
and it's not in the documentation", which is one reason I'm asking all of
these questions.

**** MINOR FLAME ON ****
So go ahead and be specific.  I said I'm a professional and I meant it.  I have
6 years of experience as a full-time freelance game programmer on various
machines but not including the Amiga.  It's important to me to produce a good
product, and a lot of what I'm getting is "Don't bother to port IBM products
to the Amiga because everybody does it badly" (not from the person I'm
replying to here, I must add).  If I didn't care, I wouldn't be asking these
questions.  And to all of who you think any game can't be good on the Amiga
because it was released on another machine, grow up!  The realities of the
marketplace make it a foregone conclusion that the vast majority of games
available on the Amiga will be ports, because the Amiga is currently a distant
second in game sales.  That's not dictated by the authors or programmers of
games but by publishers, retailers, and purchasers (that's you!).  If you
want to see good ports instead of crap, stop insisting that ports will be
crap and tell people what you want to see in ports and what you don't want
to see in ports.
**** MINOR FLAME OFF ****

I really do want to do this well, which is why I'm asking.  If you can't help,
get out of the way.

******************************************************************************
* Evan Robinson                *                                             *
*                              * I believe in my tusks.                      *
* bits_of_magic@cup.portal.com * Long live freedom and damn the ideologies,  *
*                              *   -- Robinson Jeffers, _The Stars Go Over   *
* Mountain View, CA            *                         The Lonely Ocean_   *
******************************************************************************

srp@modcomp.UUCP (Steve Pietrowicz) (10/18/89)

in article <23145@cup.portal.com>, Bits_of_Magic@cup.portal.com says:
] 
] Without getting into religious wars, what are we talking about?  I've had
] an Amiga 1000 for a long time, since we used it for graphics editing since
] before Dpaint was available to the public, until Dpaint became available
] to us on the IBM.  I know the Amiga is capable of 32 color graphics as
] opposed to the IBM's 16 IRGB colors and 256 6-bit RBG colors (both of which
] we use in this game).  I expect (since porting the graphics is not one of
] my tasks) that Kellyn will either use 16 color or 32 color graphics more
] or less like what we use in the 256 color IBM mode.  

Well, for example, I expect that most of the ports of IBM game programs on
the Amiga are done by people that don't take a good look at the whole machine
they're porting to.  For example, why not put the graphics in HAM (4096 color)
mode?  There are other games around that are in HAM.  The first one was
released last year, by Antic Software, I believe.

] I know the Amiga has hardware sprites and software BOBs so animation 
] should be easier & cleaner.

Great, then they should be used.

] I know the Amiga has a real sound chip so that digitized sound and real
] music are both possible.

Again, give us real digitized sounds and music, not the *beep* *beep* stuff
we've heard on other ported games.

] I know the Amiga has a multitasking operating system which most games blow
] out of the water -- those I've talked to say almost universally "dump the
] OS and take over the machine" -- which I assume is because it's easier.
] If it's possible I see no reason not to leave the OS running. 

Those folks probably have very little experience with machines in a 
multi-tasking environment.  If the machine multi-tasks, it sure would be 
nice to have games that were well-behaved (ie, don't take over the machine)
and have something like a "Pause" feature, so I can stop the game, and go
look at the compile I was running in the background and see how it's doing.

] Something else I hear about the Amiga is that the documentation is greatly 
] lacking, but I've gotten some recommendations I plan to follow.  

There's quite a bit of documentation out.  The OS/hardware doc set has 4
volumes, and there are numerous books out on the OS.  Additionally, Commodore
just sent out reprints (suitable for putting in a 3-ring binder) of all the 
old articles from their developers newsletter.

] I often hear from Amiga programmers, "I've seen <so-and-so> done, but I 
] can't find any way to do it and it's not in the documentation", which is 
] one reason I'm asking all of these questions.

A great place to ask questions is in comp.sys.amiga.tech, or a network
like CompuServe.  There are a lot of folks that can either point you to
the docs where the answer is, or can give examples of what you want to do.

] I really do want to do this well, which is why I'm asking.  If you can't help,
] get out of the way.

As I said before, if you really want to do a port that will make people sit 
up and take notice, go the extra mile.  Re-do the graphics, if possible.
Put in digitized sound and music.  They might look and sound *OK* if they're 
ported, but consider how much better they'll look and sound if you use
the machine to it's maximum potential.   Most game ports don't do this, and
as a result we've been very disappointed.

Perhaps there are some people here who can give good examples of ports that
have worked out well, or good games that were created on the Amiga.  A couple
I like are DungeonMaster, and Fiendish Freddy's Big Top of Fun.  (Other folks
might disagree on those, but I liked them).

Good luck.

] * Evan Robinson                *                                             *
-- 
SR Pietrowicz    UUCP: ...!uunet!modcomp!srp      CIS: 73047,2313

bernie.hellreich@canremote.uucp (BERNIE HELLREICH) (10/19/89)

I'm not a programmer, but I was on the development team of Dragon's Lair
for the Amiga (animation artist).  Generally if you want to reach the 
largest possible market (and still have a powerful program) it should be
geard to a standard Amiga with 1 mb of ram.  That's typical of most 
Amiga's.  A handy development tool would be, as always, a hard-drive.  
If it's a "protected" program like a game than from what I gather, books
won't help you on the disk protection, the only way to learn that stuff 
is talking to other amiga programmers.   As far as development goes, the
"easiest" transportable language to work on would be 'C', either lattice
or Manx.  If it's a mahcine language program most of the guys use SEKA 
assembler.  Hope this helps.  Of course you should get all the AMIGA 
Reference manuals from Commadore to read up on some of the custom chip 
stuff (pretty extensive hardware stuff), and the intuition interface if 
you want it to multi-task with other programs.
---
 * Via ProDoor 3.1 

 * QNet 1.03a3: Amiga Blue International (416)844-0465 Toronto

bakerj@mothra.UUCP (Jon Baker) (10/19/89)

In article <23125@cup.portal.com>, Sullivan@cup.portal.com (sullivan - segall) writes:
> >I am a professional IBM programmer about to start a port of a game in progress
> >to the Amiga.
> >(bla bla bla)
> What type of game?  What language are you using?  For development of 
> real-time interactive "video" games you'll need a good assembler and 
> a lot more familiarity with the Amiga hardware.  Almost all other development
> is done in C, with a small minority in Modula-2.

If you do opt for Modula-2, do not get TDI Modula-2.  Poor doc's, real buggy.

>    One important part of the development machine not to forget:  Go and 
> purchase a couple of games currently on the market.  They'll give you a 
> good idea of what the hardware will support.  There have been a rash of 
> hasty ports to our platform, and one more game with lousy graphics and poor
> control isn't really going to inspire anyone to purchase it. 

Good idea, but how about suggesting which software (not necessarily a game)
to buy, to make sure he gets something that uses the graphics capabilities?
The best I've seen is F/A-18 Interceptor, but I'm sure others could suggest
something better or more impressive (not to knock F/A-18, but there's ALWAYS
something better...), remembering to stay within stock configurations (or
maybe up to 1MEG).
J.Baker.

peter@sugar.hackercorp.com (Peter da Silva) (10/21/89)

I haven't used a floppy based system yet that didn't munch disks. The Amiga
is worse than most, because when you have an error you generally lose the
whole track instead of just a sector.

On the other hand, the current DiskSalv is very effective at recovering from
this, and the hard disks are as reliable as any I've seen. More reliable than
MS-DOS under DoubleDOS.

As a development environment, I've only got a floppy system right now. It's
better than any other floppy-based system I've used, but a hard disk is a high
priority. Even with just floppies, though, it beats the pants off MS-DOS.

UNIX remains, however, the premier general-purpose software-development work-
bench.
-- 
Peter "Have you hugged your wolf today" da Silva      `-_-'
...texbell!sugar!peter, or peter@sugar.hackercorp.com  'U`
``Back off dude! I'm a topologist!''
	-- Andrew Molitor <amolitor@eagle.wesleyan.edu>

gregg@cbnewsc.ATT.COM (gregg.g.wonderly) (10/23/89)

From article <4652407d.14249@mothra.UUCP>, by bakerj@mothra.UUCP (Jon Baker):
> In article <23125@cup.portal.com>, Sullivan@cup.portal.com (sullivan - segall) writes:
>>    One important part of the development machine not to forget:  Go and 
>> purchase a couple of games currently on the market.  They'll give you a 
>> good idea of what the hardware will support.
> 
> Good idea, but how about suggesting which software (not necessarily a game)
> to buy, to make sure he gets something that uses the graphics capabilities?

One other thing which I think is important is that I can put it on my hard
disk and run it from there.  I don't care if there is a special disk that
has to be in DF0: for checking this or that, but please, this is a multitasking
machine, I would appreciate that ability to play a game or two while I am
compiling!!!

And also, I get real tired of rebooting my 2500 in 68000 mode just to play a game
because someone decide that it was easier to not check the hardware out first.

If you have to load a lot of big images, don't assume 512K or 1meg, I have
5megs on my 2500 hoping that someday people writing these applications will
figure out how to make use of it.

Okay, stepping down off the soapbox....

-- 
-----
gregg.g.wonderly@att.com   (AT&T bell laboratories)