Allegro.cc - Online Community

Allegro.cc Forums » Off-Topic Ordeals » Why not something other than Allegro?

This thread is locked; no one can reply to it. rss feed Print
 1   2 
Why not something other than Allegro?
GameCreator
Member #2,541
July 2002
avatar

(This thread was inspired by Chris Adams' thread.)

Allegro is great. Don't get me wrong. I was coding with it for years. Then I strayed to DirectX (way too hard) and OpenGL (easier but still too hard). Then I came back. Then I strayed to Ogre (supposed to be simple but it's far more complex than it needs to be) and Irrlicht. Then I came back. And now I've strayed once more. Where? Back to Irrlicht. This was partly inspired by a new editor they have out for it but I also forgot why I left Irrlicht in the first place. Maybe the memories of 2D games came flooding back but now I'll leave Allegro once more, even if I end up right back here a few months later.

So now I ask you guys: What did you use before? What are you working with now? And what may you try in the future? List all of the libraries (for example, I also now use Bass to play OGGs and MP3s and I've been looking into a good networking library with nothing straightforward enough yet.)

Epsi
Member #5,731
April 2005
avatar

I started with mIRC (not exactly a lib, and I believe it's using GDI).

I've spent quite some time with allegro, starting a few game projects.

Now I'm planning to finally complete a game with the XNA framework (Windows + XBOX360).

But after that I'll probably go back to Allegro and OpenLayer for a platform independent multiplayer game.

___________________________________

piccolo: "soon all new 2d alegro games will be better. after i finsh my MMRPG. my game will serve as a code reference. so you can understand and grab code from."
piccolo: "just wait until my invetion comes out its going to take the wii to the next leave of game play. it will run sony and microsoft out of busness if i dont let them use it aswell."

Tomasz Grajewski
Member #4,284
February 2004

I've tried HGE (Direct3D based), but didn't liked it. No UTF-8 support, and other features was missing compared to Allegro. But that was some time ago, don't know now.

I've also tried FMOD and also didn't liked it because of horrible module support. Didn't tried FMOD EX though.

Now I'm using BASS for sound and Allegro for all other things.

___________________________________________________________________________________________
mBlocks - a Tetris clone written in JavaScript | Merix Studio - website design & development | Zeitgeist

Sirocco
Member #88
April 2000
avatar

I've worked with other popular libs, namely DirectX, OpenGL, and SDL. I've also worked with no libs at all back in the DOS days ;)

Allegro does what I need it to do with a minimum of fuss. That, and I'm comfortable with it.

-->
Graphic file formats used to fascinate me, but now I find them rather satanic.

Steve++
Member #1,816
January 2002

Java API

LennyLen
Member #5,313
December 2004
avatar

Quote:

So now I ask you guys: What did you use before?

The first C/C++ compiler I used was Turbo C++, so it used the Borland Graphics Library, which was horrible. Then I heard about libgrx when I got an internet connection through work, which was much better. Through libgrx, I learnt of DJGPP, through which I learnt of Allegro.

According to the date on the 100+ page print-out I made of the Allegro manual (my employers would have killed me if they knew I used their fancy laser printer for such a purpose), that was in 1998.

I've been using Allegro on and off ever since, and I doubt I'll switch to another library, as Allegro more than meets my needs (I don't program games, I just use Allegro as a graphics library when I need one for some reason).

If I ever develop an attention span long enough to attempt to write one of the games I have in my head, I'll probably look into OpenLayer. Don't anybody hold your breath though, I think the longest I've manged to maintain interest in a project over the last ten years is about two weeks. Usually if I don't finish writing a program in one sitting it never gets revisited.

Kris Asick
Member #1,424
July 2001

Direct-Y.

Never heard of it? That doesn't surprise me since I was one of only three people to ever use it. Back when Windows 95 was still new, a friend of mine decided to mock Direct-X by making his own DOS graphics library called "Direct-Y", which would allow for fast, simple access to 320x200x256 graphics in Borland C/C++.

On my website, my game Space Fortress uses Direct-Y... modified slightly to fix some problems my friend never got around to fixing.

When I switched to Windows programming with Visual C++, I quickly began searching for a graphics library I could use. Allegro was the first one I tried and for 2D I've stuck with it ever since. I thus have over 7 years of experience in Allegro programming, though only recently have I actually tried learning more about its internal workings and how it's actually doing things.

For about 8 months about two years ago I tried to transition from 2D to 3D using the Truevision 3D SDK. It was a big jump for me not only because of the change from 2D to 3D but because to get the most out of it I also had to start using VisualBASIC, which up until then I had only used for very simple programs. When I realized that nothing I could come up with in 3D would take less than a year to make I decided to go back to 2D with Allegro.

3D can wait until I can hire people to do it for me. ;D

--- Kris Asick (Gemini)
--- http://www.pixelships.com

--- Kris Asick (Gemini)
--- http://www.pixelships.com

Simon Parzer
Member #3,330
March 2003
avatar

Quote:

I've also tried FMOD and also didn't liked it because of horrible module support.

FMOD 3.75 did work great for me (although I don't use it anymore), it played my ImpulseTracker files perfectly. What were your problems?

I use Allegro mostly for hacks (MinorHack, XmasHack, maybe next SpeedHack) and for retro games. Because in this fields it's the best game library you can get.
I once wanted to make a cross-platform game, including the DOS platform -> Allegro was the best choice.
I wanted to make a game for the GP2X which has no FPU -> Allegro fixed point arithmetics
It also is one of the few, if not the only open-source libraries that have a gift-ware licence. This is worth a lot in some cases.

On the other hand, when it comes to high-tech things, like 3D or surround sound, Allegro is pretty useless.
I currently play around with OpenGL and OpenAL. I use SDL for input because it's smaller and it has an event-based input system.

Tomasz Grajewski
Member #4,284
February 2004

Quote:

I've said:

I've also tried FMOD and also didn't liked it because of horrible module support.

FMOD 3.75 did work great for me (although I don't use it anymore), it played my ImpulseTracker files perfectly. What were your problems?

Don't remember correctly, but there was some problems when playing looped tracks (some backward jumps in orders/patterns, or something, don't know). FMOD played them forever and there wasn't option to make it play only once. Also there were problems with calculating length of such tracks. But this was some time ago and probably it's now fixed. I've switched to BASS and I'm very happy with it (especially the .mo3 files support).

___________________________________________________________________________________________
mBlocks - a Tetris clone written in JavaScript | Merix Studio - website design & development | Zeitgeist

Indeterminatus
Member #737
November 2000
avatar

I have been using Allegro since version 3.12, and stuck with it when I had the choice. For university projects, I came in touch with several other libs, none of which I liked enough to substitute Allegro with.

Nowadays, I'm using a colorful mixture: Allegro, OpenLayer, FMOD, zlib, Boost, guichan, ...

_______________________________
Indeterminatus. [Atomic Butcher]
si tacuisses, philosophus mansisses

Trezker
Member #1,739
December 2001
avatar

Well, I've been a bit into using OpenLayer for the acceleration. But I haven't had time for doing something serious with it.
In school we used Ogre for a ten week project and it went rather well despite its awkward points.
Currently I'm in a project where we do most things with OpenGL and windows api.

Thomas Harte
Member #33
April 2000
avatar

Right...

My very first programming contact was ZX Spectrum BASIC. I didn't get to use it much, because it wasn't my computer. I got first an Acorn Electron (with BBC BASIC) and later a SAM Coupé (with it's own BASIC that is quite similar to Spectrum BASIC). Thankfully none of these computers are useless C64 style rubbish, so they all had useful graphics commands and capabilities from BASIC. The first game I remember writing was a simple up the screen scroller where you as a car made from maybe the letter T drove up a track demarked by asterisks. I also definitely did a version of the tron bikes type game. My first "major" programming project was actually a Word Processor — my most 'impressive' achievement being that it supported reading and writing of ordinary ASCII documents. But I was only about 12, so give me a break!

We got a 486 PC in about 1993 or 1994 and the first gamelike stuff I produced was in QBASIC. Which I thought was thoroughly rubbish and have no nostalgia for whatsoever. I list my final QBASIC project (a parallel projected 3d thing) as 1995/6 on my website, I'd be surprised if it was actually that late. It's horrid, but thankfully the sources survive! In fact 95% of the projects I'm going to mention from here on in survive on my members.allegro.cc website or elsewhere.

After that I switched to Turbo C++ & BGI, of which I think I share LennyLen's opinion. It's really meant for business apps, and has a nice API for that purpose, but is slow as heck. But I learnt it all — not very well — from the online docs, so probably missed a lot of stuff. In particular I remember it being a revelation when I found out that if you set the border colour then you get a vsync for free, which made all my graphics much nicer from then on. Although in retrospect there is probably a vsync call that I just never found. My main Turbo C++ app was a forward port of my 3d thing from QBASIC. Lost is a 3d breakout clone I made with most of the same code. I also did millions of 3d graphics experiments because this is before I really had access to the 'net and I was just making all this stuff up myself.

Anyway, I never really got the weirdo DOS memory models so when I heard that DJGPP didn't have them I switched. Having a shiny new P200 was also a factor so we're probably in circa 1996. Initially I rolled my own Mode 13h but some of the "algorithms" I invented for it were horrid. I wrote a line drawer (fixed point DDA) then implemented a triangle filler by using the line drawer to get pixel locations along one edge of the triangle, and then drew lines from the opposing vertex to each. Incredibly slow! I had figured out perspective projections in the meantime though.

In late 1996 I joined the Allegro fray and, ignoring the Allegro software 3d even after it had eventually been added, improved my own stuff. I eventually ended up with my own polygon fillers for gouroud/perspective texture/constant-z perspective (so it'd do a perspective step along edges, then a linear fill either horizontally or vertically — very Doomish but without the trig optimisations you can make to the stepping if you assume a horizontal or vertical face) and so on.

Anyway, I more or less stuck with Allegro through to about 2000. I got some sort of trial version of MSVC 5 (same as the full version, but you can't disable a startup dialogue that says you used a trial copy) and knocked up a Deatchase 3d game in Win32 API and OpenGL. I'd had a 3dfx Voodoo for a while and had tried Glide/LCC and another otherwise forgotten library called (I think) Red X, but the toolchain never quite clicked somehow. A guy called David Raven sent me a free copy of the complete MSVC 5 just because he liked the game, and I'd moved into the realm of Windows.

2000 is also the year I began my emulator, ElectrEm. I'd done about 1,000,000 emulators before but ElectrEm was a smart move because the machine it emulates, the Electron, was reasonably popular and until then not properly emulated by anyone. The emulator got a following and I still update it.

It's while developing the emulator that I really started to stray from Allegro. At the end of its first implementation cycle it could be built with Allegro, DirectX, SVGALib, GGI or SDL. It then had builds for DOS, Windows and Linux. I used Allegro for the DOS port, DirectX for the Windows port, and any of the others for Linux as you saw fit to build.

In 2003 I essentially forced a break in code development and started again for SDL only as it had very quickly become my favourite of the many because it has a quite perfect combination of lightness versus features in my opinion, and I like it's essentially modular design.

Since then I've done most of my development on SDL. It's what all my personal library code works with, principally in OpenGL mode (though the emulator is just using it for a framebuffer).

My last two "significant" projects with Allegro were my part of what was then "the new Allegro demo game" and is now almost invisible and the 2005 ChristmasHack. My last significant contribution to the Allegro community was my small part in improving the DirectX acceleration for the current release in whatever capacity the changelog records.

Also along the way I recall trying or using Prometheus True Colour and an old software 3d thing called Plush. So, a complete list of game related APIs I currently recall using, BASICs excluded:

Allegro, SDL, GGI, SVGALib, PTC, Plush, DirectX, Borland Graphics Interface, Glide, Red X, DUMB

As I said, a lot of what I've attempted over the years is archived at my members.allegro.cc site. I'm currently working on an archive of old ElectrEm releases but have some gigantic holes. Not that I imagine anyone else is interested much! And I'm sure I've forgotten a lot from this mini-history of mine.

HardTranceFan
Member #7,317
June 2006
avatar

My first library on the PC was OpenGL, followed by SDL. I then came across a few games using Allegro, and gave it a shot about 6 months ago. I've found it easier to use than SDL, and I'm quite happy sticking with this for the next couple of games I have in mind.

I've used FMOD for my OpenGL and SDL games, no real problems.

--
"Shame your mind don't shine like your possessions do" - Faithless (I want more part 1)

Bob
Free Market Evangelist
September 2000
avatar

Before Allegro? I wrote my own stuff. And then I realized I didn't have to because it was already made for me :)

Now, I use a mix of Allegro+AllegroGL for all my graphic apps. It's just not worth spending time rewriting window creation and event management code.

If I don't use graphics for my app, I usually skip Allegro and write my own things Chances are those apps either don't need to be portable, don't use any other Allegro features, or Allegro is far too heavy-weight for them.

--
- Bob
[ -- All my signature links are 404 -- ]

Evert
Member #794
November 2000
avatar

Quote:

What did you use before?

Hand-written assembler code to directly call VESA functions.

Quote:

What are you working with now?

Allegro.

Quote:

And what may you try in the future?

Allegro 5. ;)
I have no concrete plans to use anything else at some point; it's a hobby after all.

Quote:

"the new Allegro demo game" and is now almost invisible

It was added to the svn tree a while back, but it somehow didn't end up replacing the old demo in the release. Don't worry, this will be rectified at some point! I personally thought it was a very nice game (though I sucked badly at it).

LennyLen
Member #5,313
December 2004
avatar

Thomas Harte said:

Although in retrospect there is probably a vsync call that I just never found.

If there was, it's not mentioned in the manual either. I still have it after all these years (I use it as a C++ reference even though it's antiquated). I just looked through the section on "Video Functions" and it's not there.

Kikaru
Member #7,616
August 2006
avatar

Shortly after starting C++ coding, I found Allegro, and have yet to change. :)

Archon
Member #4,195
January 2004
avatar

Java
Game Maker (version 4 and 5)
Visual Basic 6 with the DirectX 7 (later, 8) bindings
C++ and Allegro, then later, AllegroGL

Now: C# with the Tao Framework of wrappers for GLFW, OpenAL and OpenGL (works in .NET and Mono)

kazzmir
Member #1,786
December 2001
avatar

I started with mode 0x13 in dos( 320x200x8 ). Then I attempted to use the anivga library for pascal but honestly I didnt understand a lick of it. And I still don't really. 4 planes for colors.. wtf?

Then I think my brother introduced me to Allegro so I moved from pascal to C and have been using Allegro ever since.

X-G
Member #856
December 2000
avatar

I started with QBasic, first doing only text things, then using the builtin VGA code, and then using the Blast library for Mode-X and high memory access. When I learned C I picked up Allegro, and right now I'm using pure OpenGL, though we also used Ogre for a recent school project.

--
Since 2008-Jun-18, democracy in Sweden is dead. | 悪霊退散!悪霊退散!怨霊、物の怪、困った時は ドーマン!セーマン!ドーマン!セーマン! 直ぐに呼びましょう陰陽師レッツゴー!

Richard Phipps
Member #1,632
November 2001
avatar

I had a Sinclair ZX81 and then a Spectrum first, but I was very young and can't remember if I did anything more than type in listings from magazines. It wasn't until I was about 9 that I got an Atari800XL with disk-drive, 64k of memory and Basic! This was a whole new world and I did several unfinished games on the machine, but 3 utilities actually stand out.

I first did a Video Library program for my dad in Basic. The atari had a clever mode you could put it in where you could enable the text parsing from the screen and code generation while running. In practice this meant I could change the text colour to the background, clear the screen, then print to the screen a whole new set of data statements, scan them in to the program and then resave the program. This self-modifying code stopped me having to use a separate data file. I sent the program into a popular hobbyist atari magazine at the time 'page 6' (an area of memory) and it got a mention. :)

I then did a sector editor that could read and write sectors from a floppy disk. But because I didn't understand (or like) hexidecimal, I invented a whole new system with more letters to display the code in some kind of pseudo base 10 (as well as a character display on the right). ;)

Finally, I remember doing a disk catalog program for my dad. This was pretty advanced as you could put in a disk and it would scan various sectors and work out whether the files were stored in a normal DOS 8.3 format, a Rob C menu or a multiboot menu. It would then read the file information from the sectors directly and add the programs on the disk to the main database after sorting alphabetically. There were also search functions and stuff like that. I don't think the program was ever passed on, but it would have been useful for other people who had many disks of games like we did.

Moving on to the ST was both good and bad. Good because it had a higher resolution, faster processor and GFA Basic was quite good. Bad, because unlike the Atari the ST had no custom chips to do cool things with, so effects such as hardware smooth scrolling were not possible. I missed being able to do cool things like that.

Then I moved onto the Amiga with Amos (and briefly BlitzBasic) and that was much better. I don't think Amos was that well optimised, but it let you use hardware scrolling, sprites and sound samples and I made a few things on there including my Dungeons game which got featured in an Amiga Magazine (Amiga Format?).

Moving onto the PC, even with a low end machine was like a whole new world and I found Allegro and DJGPP a bit by accident, but was soon making my bomberman game Dynamite even though I had no proper internet connection and no idea about C. I followed the code examples I had and so I had no proper idea of pointers, structures and defines. Ouch! :o

Since then, I've got better at C and moved onto limited C++, OpenLayer and using pure OpenGL. I am sure I will use many other libraries in the future. But I will always be fond of Allegro. :)

Kibiz0r
Member #6,203
September 2005
avatar

Quote:

What did you use before?

Nothing.

Quote:

What are you working with now?

Allegro for graphics.
ZoidCom for networking.

Quote:

And what may you try in the future?

For personal use, probably just Allegro.
For professional use, Torque with XNA, Direct X, Open GL.

Really, I know all the fundamentals of 3D programming and the general structure of using both Direct X and Open GL. (clueless about XNA except for the fact that we're learning it next semester...) But I don't see it as useful unless I had a group of people, not just myself. You see, I'm an OCD modeller and texturer, so to do anything in 3D would take a ton of art time and not something that I would prefer to subject myself to.

My little 2D exploits are just fine for a creative outlet right now. Anything that has to be 3D, I just draw and/or write about for future projects.

Jakub Wasilewski
Member #3,653
June 2003
avatar

Nowadays, I use Allegro as a sort of glue and the lowest common denominator for my projects.

Basically, Allegro is a monolithic library that provides me with everything I might need for making a game. However, I might not be able to make the game I want using solely Allegro. When I need better GFX capabilities, I use my own OpenGL framework. When I need to handle sound better, I can use something built on top of FMOD. When I need input from two mice at once, I have to code for DirectInput directly. However, if I don't need complicated stuff for a given project, I can use the appropriate Allegro module and don't have to worry about dependencies, new APIs etc.

There is less and less Allegro in my Allegro projects as of late, but I still use it at least for de/initialization and input.

---------------------------
[ ChristmasHack! | My games ] :::: One CSS to style them all, One Javascript to script them, / One HTML to bring them all and in the browser bind them / In the Land of Fantasy where Standards mean something.

Andrei Ellman
Member #3,434
April 2003

kazzmir said:

4 planes for colors.. wtf?

For various reasons, early computer hardware used bitplanes instead of grouping all the bits for a particular colour together. Although this can be awkward for drawing multi-coloured sprites, you can mix overlapping colours at no additional cost. That way, I managed to implement Video Games 1 on the Atari ST (the PC version simulates this effect by OR'ing the pixel-values together).

Richard Phipps said:

It wasn't until I was about 9 that I got an Atari800XL with disk-drive, 64k of memory and Basic!

Ah yes. I had one of those as well. I definitely also remember a lot of the things you mentioned in your post. I cut my programming teeth on Atari Basic. Even managed to create a graphics mode with was a GTIA mode with a regular text-window (I used a DLI for that even though it was more of a modification of someone else's code than my own).

After that, got myself an Atari ST. Started with the supplied ST Basic but quickly moved onto GfA Basic, and then STOS Basic. I upgraded my ST to an STE two years later.

Several years later, I graduated from university (where I used all sorts of languages) and got myself a PC. This is where I discovered Allegro. At first, my Allegro programs were a mixture of C and 80x86 assembly, but nowardays, are mostly C (although sometimes C++ too). I still use Allegro for my hobbyist programming and even make contributions to the library.

Professionally, I've mostly used C++ and have worked with Dive (a fork of Renderware), the 3DSMAX SDK, and various other in-house bits and bobs. I also used the Mophun library when I got involved with the mobile-phone games bandwagon.

For a collection of games I've done over the years, see http://software.wackonet.net/ and get your emulators out.

AE.

--
Don't let the illegitimates turn you into carbon.

Richard Phipps
Member #1,632
November 2001
avatar

Kazzmir: Planar systems were more flexible and in many situations faster. These were used before 256 colour modes were common, and give you the advantage of drawing 4 colour sprites like bullets, explosions and other such sprites nearly twice as fast as drawing a 16 colour one.

Andrei: Ah yes, GTIA! If only they'd done more with it. Like the STE and Amiga 1200 it didn't really have enough capabilities really. I wish they'd had a couple of new pixel and character based gfx modes with either higher memory requirements for more colours, or some kind of spectrum / BBC block attribute system to get 8 or more colours. That could have made a big difference..

 1   2 


Go to: