Resources > Coding

GBA Minish Cap Coding

(1/11) > >>

Minish Cap GBA Programming using C/ASM though Tonc

I am currently working on trying to understand how to program in C/ASM using Tonc to make games on the GameBoy Advance. This topic is to keep track of my progress in learning how to do that and to share my code with those who might find that useful. Eventually I plan on including documentation and tutorials on what I did, but this will be released after I reach and refine aspects of the coded features.

06/25/2012 - simple sprites, background graphics, framework for having more than one room
07/08/2012 - palette changing, having rooms larger than the screen size
08/27/2012 - simple animation, Link's standing and walking graphics converted
09/03/2012 - improved and irregular animation rates, movement added back in
02/03/2017 - redone various improvements

Not exactly a bump of sorts but I thought I should say that I have been working on programming my Minish Cap code on the GBA by using the C programming languange and the tonc library/tutorials. I have some of the code done for diagonal movement at a reduced speed but mainly what I have done is a sprite system that puts together the sprites from pieces - just like the GBA does.

I was going to post my code for what I had so far for that, but it dawned on me that I could also get a rudimentary room and collision system implemented soon and that would make a more complete release. Otherwise though, I am wondering if the Game Maker stuff I posted is of any use to people or if you guys would like it better if I continued GBA stuff and put that out (and in so doing, trying to make the C stuff in such a way that someone who understands Game Maker can follow it)?

Always liked the MC Engine project. Keep it up, I would like to see you continue the GM version, as I think it would have more value here. But I understand it's probably more convenient to code the C version.

If time wasn't an issue, I'd recommend doing both.

Thanks. In some ways I want to still do both but I do get busy with work. I think what I will try to do is release unique features in Game Maker and focus on the plain and simple right now for C programming on the GBA. Oddly enough while I did take programming classes in C++, there are aspects of C programming which are somewhat initially confusing at first (bit-shifting, doing things not object-oriented, arrays of function pointers, etc.). Well really without tonc's notes I wouldn't have made nearly any progress - it also doesn't help when the tools referenced in other GBA programming tutorials are either outdated or give the wrong output. Anyway:

The demo doesn't show it off, by changing the room_index Link would be able to go to another room. I know I said I would have collisions implemented but I thought having some amount of background drawing would make it look a lot better first.

Current Features:
 - putting together Link graphics from 8x8 size pieces, piece flipping
 - being able to have more than one room
 - C-style "object-oriented" alternative
 - background graphics
 - moving at a reduced diagonal rate (had to use hex value offset equivalents for precision like a boss)

The download is attached, if there is anything anyone wants explained I will try to answer as best I can - really, it would be cool if other people could program for the GBA too. I should also mention that the code is easier to understand if you view it through Programmer's Notepad.


[0] Message Index

[#] Next page

Contact Us | Legal | Advertise Here
2013 © ZFGC, All Rights Reserved

Go to full version