Amiga.org

Amiga computer related discussion => Amiga Software Issues and Discussion => Topic started by: ThePieman on February 11, 2008, 12:18:06 PM

Title: Programming Software
Post by: ThePieman on February 11, 2008, 12:18:06 PM
Hello, I am not sure if this is the correct place to ask.

I am wanting to restart programming again for the Amiga (Although only just started quite a few years ago). I have done some other programming (COBOL and C++), again not that recently.

What I was wondering is the best programming, etc  software available for games and demos? Also any tutorials or books available (online or books).

Thanks, The Pieman
Title: Re: Programming Software
Post by: Braddo on February 11, 2008, 12:20:15 PM
I assume you want to learn assembly since you want to do games & demos. DevPac is pretty widely regarded as the best 68k assembler for the amiga.

I believe its on PlanetEmu, if not let me know if you want a copy.
Title: Re: Programming Software
Post by: ThePieman on February 11, 2008, 06:36:25 PM
Hi Braddo

I can't seem to find it on PlanetEmu (maybe looking in the wrong place). Therefore can you send a copy?

Thanks, The Pieman
Title: Re: Programming Software
Post by: corto on February 11, 2008, 06:56:26 PM
Braddo : It talked about stuff done in Cobol and C++ and you suggest asm ... I think it's a curious advice. I would be easier to start with AmiBlitz or even C (with vbcc for example). This is my opinion.
Title: Re: Programming Software
Post by: Braddo on February 12, 2008, 04:03:51 AM
Well you can't do anything worthwhile in Blitz and C is useless unless you want your games/demos to only run on very fast cpu's. Assembly is the only sensible option.

ThePieman: http://www.planetemu.net/index.php?section=roms&dat=375&action=showrom&id=515562
Title: Re: Programming Software
Post by: AndrewBell on February 12, 2008, 04:53:44 AM
Quote

Braddo wrote:
Well you can't do anything worthwhile in Blitz and C is useless unless you want your games/demos to only run on very fast cpu's. Assembly is the only sensible option.


Bullsh!t. Complete and utter bullsh!t. You are nothing but a troll. GTFO and DIAF.
________
TAURUS X (http://www.ford-wiki.com/wiki/Ford_Taurus_X)
Title: Re: Programming Software
Post by: Braddo on February 12, 2008, 06:29:35 AM
Right. So you think all the games & demos which were written to run on a stock A500/A1200 were done in C or Basic or some other high level language?

Get a clue and know what you're talking about before you try to insult me with stupid abbreviations you uneducated fool.
Title: Re: Programming Software
Post by: AndrewBell on February 12, 2008, 07:09:50 AM
Quote

Braddo wrote:
Right. So you think all the games & demos which were written to run on a stock A500/A1200 were done in C or Basic or some other high level language?


Nope, I never said that. I said that your statement about BASIC and C was garbage. Zombie Apocalypse and Skidmarks, were written in Blitz, Worms was at least prototyped in Blitz. So you see, your statement is utter bullsh!t.
________
Free themes (http://themesfree.org)
Title: Re: Programming Software
Post by: Braddo on February 12, 2008, 07:24:00 AM
Zombie Apocalypse and Skidmarks are both pretty basic games. A lot of things achieved in more advanced games would simply be impossible with a high level language such as Basic or C and such a limited CPU and RAM. Plus assembly allows you to do many, many things that can't be accomplished otherwise.

Not to mention demos. Can you honestly imagine someone programming a decent demo in Basic?  :lol:
Title: Re: Programming Software
Post by: McVenco on February 12, 2008, 09:20:52 AM
Quote
A lot of things achieved in more advanced games would simply be impossible with a high level language such as Basic or C and such a limited CPU and RAM. Plus assembly allows you to do many, many things that can't be accomplished otherwise.


And what if the topicstarter just wants to start out with writing a simple game? Learning assembly to write a simple game like a Boulderdash or Arkanoid clone (just to name something) is a complete waste of time IMHO. Blitzbasic is far easier to learn, and you can achieve a LOT with it. Once you reach the limits with Blitz (or C, for that matter), then maybe it's time to try your hands at assembly. But for a beginner who hasn't got skyhigh goals I wouldn't recommend assembly.

I would choose AsmOne over DevPac by the way :-)
Title: Re: Programming Software
Post by: Piru on February 12, 2008, 09:24:24 AM
@Braddo
Quote
A lot of things achieved in more advanced games would simply be impossible with a high level language such as Basic or C and such a limited CPU and RAM.

C is not high level language.

Quote
assembly allows you to do many, many things that can't be accomplished otherwise.

Such as?

Quote
Not to mention demos. Can you honestly imagine someone programming a decent demo in Basic?

Modern demos are coded in C or C++, with some hand optimized assembly routines linked in for speed.

I can't imagine anyone doing assembly only coding these days.

I would recommend programming in C any day. With asm you will be learning the wrong things 99.9% of the time.


PS. There still are dealers selling DevPac, so I'd remove the warez link.
Title: Re: Programming Software
Post by: bloodline on February 12, 2008, 09:25:17 AM
Blitz basic is perfectly suited to writing games, as mentioned skidmarks, worms and even gloom (and possibly many more) were all written using it, it has a built in assembler so was easy to optimize your code if need be.
Title: Re: Programming Software
Post by: Braddo on February 12, 2008, 11:30:22 AM
Quote

Piru wrote:
C is not high level language.

Yes it is.

Quote
assembly allows you to do many, many things that can't be accomplished otherwise.

Quote
Such as?

The possibilities of what you can do when you are able to hit the hardware directly are almost endless. I suggest you take a look at the hardware registers. Not to mention the speed benefits.

Quote
Not to mention demos. Can you honestly imagine someone programming a decent demo in Basic?

Quote
Modern demos are coded in C or C++, with some hand optimized assembly routines linked in for speed.

I can't imagine anyone doing assembly only coding these days.

I would recommend programming in C any day. With asm you will be learning the wrong things 99.9% of the time.


PS. There still are dealers selling DevPac, so I'd remove the warez link.

It's true modern demos are mostly coded in C these days. However saying you will be learning wrong things 99.9% of time? You obviously have no idea what you are talking about.

As for removing the link, I won't be doing that. If a moderator feels the need to do so then they can feel free.
Title: Re: Programming Software
Post by: Srbin on February 12, 2008, 12:09:33 PM
I was asm coder till year 2000, made few music disks, some intros... etc.. Also made Silencer game demo and quit it after no support found.

In november, i started to learn C. Within one month, i learned more than 80%. With usage of SDL, programming is REALLY easy. Go that way, DO NOT learn asm, it is pure waste of time, believe me.
C is pain in the ass at the start. Brackets will drive you crazy, but once you undestand them, it is very easy to make ANYTHING.
Title: Re: Programming Software
Post by: Andeda on February 12, 2008, 12:16:20 PM
What Amiga C compilers are you guys using these days?
Title: Re: Programming Software
Post by: Caius on February 12, 2008, 12:40:18 PM
I use StormC4, which is basically a pretty integrated environment on top of GCC 2.95.3. It's not just pretty though, it's also highly useful and enjoyable to work with.
Title: Re: Programming Software
Post by: Caius on February 12, 2008, 12:47:01 PM
A note on StormC4. It requires lots of memory. If you have less than 32MB Fast RAM you need not bother (you CAN get by with 16MB, but I wouldn't recommend it). In that case you could look into SAS/C (which you can't purchase anywhere these days), or GCC. The latest GCC for classic Amiga is 2.95.3, though there was a 3.4 update, but I can't seem to find the link right now.
Title: Re: Programming Software
Post by: StormLord on February 12, 2008, 12:56:03 PM
@Braddo

As I see from your writting you are a nooby here...
I can understand that because you don't know to whom are you talking..
I don't want to say that piru is a magician or whatever, but if you were familiar with amiga community you would know that he has done a lot of programming for the platform and for sure he actually HAS IDEA of what is he talking about.
bytheway what have you produced for the amiga community?? because you talk like a guru, so I think that maybe I am misteken about your knowledges...care to point out some programms or routines you made?
I don't want to be sounded like I want to attack you personaly..
But I realy feel that one reason that the amiga platform is starving from developers is because we act as ***** by only critisizing (not constructive but insulting) all people that are trying to create something, and all that critisism is come from people that never created anything.
You know.. when a programmer doesn't like a program that someone else did , they just go and create the same program in a different way. but no {bleep}ing..
Well.. Sometimes piru is a little arrogand but at least he knows of what is he talking about.
Title: Re: Programming Software
Post by: Piru on February 12, 2008, 01:06:05 PM
@Braddo
Quote
Yes it is.

C is very low level language:
"C is an imperative (procedural) systems implementation language. Its design goals were for it to be compiled using a relatively straightforward compiler, provide low-level access to memory, provide language constructs that map efficiently to machine instructions, and require minimal run-time support. C was therefore useful for many applications that had formerly been coded in assembly language."

Quote
The possibilities of what you can do when you are able to hit the hardware directly are almost endless

You can hit hardware with C just fine.

Quote
I suggest you take a look at the hardware registers. Not to mention the speed benefits.

You can access the hardware registers from C just fine. In most cases when poking hardware C is equally fast as assembly (the hardware is actually bogging the access down).

Quote
However saying you will be learning wrong things 99.9% of time?

When coding in assembly you will be writing the initialization, cleanup and other support code most of the time, rather than actually concentrating on the actual important bits. This is very tedious work, and often this support/init/cleanup code is executed only once. There is no need to write it in assembly. It generally is a good idea to write your code in C or C++, and later on identify locations that need speed up. If even after algorithm level optimization the code is too slow, only then you should consider rewriting that bit in assembly. Even then you only want to optimize the critical bits (innerloops and such).

Quote
You obviously have no idea what you are talking about.

I think I am quite qualified to talk about both assembly and C coding.

Some stuff:
http://www.iki.fi/sintonen/sw/
http://www.iki.fi/sintonen/src/

Quote
As for removing the link, I won't be doing that.

Fair enough. The moderating policy has become more lax recently, and that was just a suggestion. I just thought it would be nice to support he remaining amiga dealers.
Title: Re: Programming Software
Post by: McVenco on February 12, 2008, 01:07:45 PM
Quote
You obviously have no idea what you are talking about.


And you say that to Piru? :lol:

Quote
As for removing the link, I won't be doing that. If a moderator feels the need to do so then they can feel free.


It's against amiga.org's forum posting policies to post links to warez. You have agreed to these terms when you signed up, so leaving that link as it is doesn't make you look any better in here...

And yeah, I'm curious too as to what you have made for the Amiga, being this asm-guru and all :-)
Title: Re: Programming Software
Post by: A6000 on February 12, 2008, 01:35:39 PM
Real men program in machine code using LED's and switches. :-)
Title: Re: Programming Software
Post by: Caius on February 12, 2008, 01:39:03 PM
@thread
Can we please move on from this pissing contest over which programming language is faster/better/etc and actually try answering the original poster's questions as adults? All this thread needs now is 1337 speak. Jeez.
Title: Re: Programming Software
Post by: Piru on February 12, 2008, 01:44:00 PM
@ThePieman

programming language: C
compiler: SAS/C (if you can find & afford it), if you can't: gcc (or if you must have IDE, StormC4 or CubicIDE [thanks Hans_!])

If you need to use assembly for some bits: PhxAss (http://aminet.net/package/dev/asm/PhxAss), PhxLnk (http://aminet.net/package/dev/asm/PhxLnk432)

Must have programming references and stuff: Amiga Developer CD v2.1 (this is easily available from Amigakit for example).

For advanced amiga hacking: The Amiga Guru Book
Title: Re: Programming Software
Post by: chiark on February 12, 2008, 01:51:13 PM
For what it's worth, I still like DICE C.  I think it's the only compiler that'll run off floppy (if you're that masochistic) so it doesn't exactly have huge requirements.

It's now available free from OIC - http://www.obviously.com , as is the complete source to DICE, which is nice.


Title: Re: Programming Software
Post by: Hans_ on February 12, 2008, 01:54:54 PM
Quote

Piru wrote:
@ThePieman

programming language: C
compiler: SAS/C (if you can find & afford it), if you can't: gcc (or if you must have IDE, StormC4)


He could also buy CubicIDE.

I second the call to use C. GCC is also a C++ compiler so you could even use C++ if you wanted to. You just have to be careful how you use it in order to obtain speed. Assembler should only be used to optimize routines when absolutely necessary. That's done after you use a profiler to find the bottlenecks in the program. In some cases C code is as fast as assembly (depending on the compiler), and in others it's pretty close.

Hans
Title: Re: Programming Software
Post by: ThePieman on February 13, 2008, 05:33:56 PM
Thanks for all your comments. I didn't realise there was still so much competition between programming languges.

I think my best starting point will be to start with C and C++ as this is what I am more use to using. Although I may be interesting and a learning curve to look at some of the other programming languges mentioned.

Thanks
ThePieman
Title: Re: Programming Software
Post by: Andeda on February 13, 2008, 05:56:57 PM
How about hisoft c++, is that compiler any good? can i use it with c ?
Title: Re: Programming Software
Post by: Caius on February 13, 2008, 06:03:24 PM
Quote
ThePieman wrote:
Thanks for all your comments. I didn't realise there was still so much competition between programming languges.

If you enjoy reading flamefests on the topic just visit slashdot and watch the fray  :destroy:
Title: Re: Programming Software
Post by: Caius on February 13, 2008, 06:08:23 PM
Quote
Andeda wrote:
How about hisoft c++, is that compiler any good? can i use it with c ?

Yes, HiSoft C++ is quite nice. And yes, you can use it for C. All C++ environments I've ever heard of comes with a C compiler.

For serious C++ you'll want the Standard Template Library (STL). On the Amiga that means either GCC 3.4, or you can attempt to adapt STLport (http://stlport.org/) for your choice compiler.
Title: Re: Programming Software
Post by: Andeda on February 13, 2008, 06:16:55 PM
Ok thanks, i have never been much of a coder but it would be nice to do some easy programs in C again  :-)