#38555 - Errornix - Tue Mar 29, 2005 2:17 am
First Post!
Hey everybody, I'm extremely new to GBA programming, but I'm already a decent game programmer. I've been working on my own Zelda game (isn't everybody these days?) and I was wondering if somebody could determine whether or not I will be able to get it to work on a GBA someday. I'm coding the game in C++, using the ClanLib SDK (http://www.clanlib.org/docs.html), the maps are being made with Mappy (http://www.tilemap.co.uk/mappy.php). The biggest thing that I'm worried about is the ClanLib SDK. Does anybody know if I'll have any problems porting this to the GBA when it's finished? Thanks.
#38558 - sajiimori - Tue Mar 29, 2005 2:54 am
Quick, everybody reply to this super important question!
#38559 - DekuTree64 - Tue Mar 29, 2005 3:17 am
No.
(porting bitmap-based PC game making systems isn't really possible on GBA's tile-based hardware, you'll need to write your own engine from scratch (which is actually lots of fun))
_________________
___________
The best optimization is to do nothing at all.
Therefore a fully optimized program doesn't exist.
-Deku
#38563 - Errornix - Tue Mar 29, 2005 3:38 am
Actually I just found out that Mappy can work with GBA. Now my only real question is, will I have problems with using the ClanLib SDK on the GBA.
#38564 - zazery - Tue Mar 29, 2005 3:44 am
DekuTree64 answered your question already, you won't be able to use it. You need write your own engine from scratch.
#38628 - Miked0801 - Tue Mar 29, 2005 7:28 pm
I'll follow-up a touch:
To use the GBA effectively enough for this sort of game, you'll have to break you bitmaps into special 4-bit, 8x8 pixel bitmaps and load them each individually into the background. Sprites must also be treated the same way with a few more restrictions. Why do you have to do it this way?
Because the GBA is only a 16Mhz processor (about a 386dx20) with very limited RAM (less than a third of the 640K+384K that same said computer had w/o EMS) and even more limited in video (think of it as a video card that is roughly 10 years old - an old ISA 16-bit GBA card.) So how in the world can it do anything worth while? Because it has some special graphical abilities built into it in the hardware. This hardware allows you to move up to 128 seperate images around the screen without touching the bitmap underneath it. It also has the ability to display 4 layers of bitmaps at the same time and scroll them in hardware at different speeds. It also has some other very rudimentory Graphical effects not worth mentioning yet.
With these hardware accelerators, the GBA is able to well outperform the same 386 in nearly all aspects.
The GBA is not a PC. You cannot program it like a PC - you must treat it like an embedded system or a very old console. This is the alure of GBA programming. You get to program with 2 hands tied behind your back and a sore nose from pecking at the keyboard.
#38659 - tepples - Wed Mar 30, 2005 1:16 am
The closest thing a stock 386 PC has to the GBA tile modes is VGA text mode. To get the idea of how to implement things in text mode, make a simple PC demo using some sort of conio or curses library, as suggested in FAQ: Basics. Then try to do the same thing in AGBTTY, which has a similar API to PC text mode libraries.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.