View Full Version : Megaman CX: Rebirth
LaineKeiko
10-01-07, 00:08
<<Introduction>>
Let me start by saying, this will be my first game. I am currently attempting to learn the game boy advance's programming via HAM and other utilities. The actual game has not been started as of yet, however I am gathering up resources and in the planning process, and I must say, even though I'm not even started on the programming, I'm very optimistic about this. You can see elements of my progress on my deviant art profile: < www.lainekeiko.deviantart.com >.I will of course need assistance if I hope to have this game created. Any tutorials or other help would be greatly appreciated, as are comments and other contributions (I will make sure you are credited for any submitted elements).
The game will take place after Megaman Zero 4, since the series is currently on hiatas and will likely not be officially extended by Capcom. Megaman CX will star Copy X (hence "CX") and will pit him against the series' villain, Weil. I felt the end of the storyline needed a higher climax than was presented in Z4, which I felt was lacking.
<<Storyline>>
After Ragnarok's crash (Megaman Zero 4), the rebellion's numbers became unnecessary, as Neo Arcadia was in chaos, utterly destroyed. The surviving humans were forced to relocate to Area Zero for survival. Almost immediately, Ciel began diplomacy with the representatives of the former Neo Arcadians, forming a stability between reploids and humankind.
Zero's remains were entirely missing, except for his cracked helmet laying in the wreckage of Ragnarok. Weil, still harboring a maniacal hatred for the world's denizens, abducted Zero, reprogramming and repairing him to be his new force; after all, Zero was the primary force that decimated Neo Arcadia's army multiple times. Weil could not pass up such a valuable asset.
After Ciel discovers Zero's helmet at Ragnarok's crash site, she realizes that the new world will need a protector should a crisis show itself. She begins to cautiously repair Copy X, studying him to discover what set him apart from the original. Copy X, before being destroyed by Weil's trap, encountered the original X and discovered that his personality was in no way a perfect replica. As CX is repaired, it becomes apparent to him his purpose was never fulfilled, convincing Ciel that it was not necessary to alter his programming. She repairs CX to the best of her ability.
Weil's survival is discovered as he is seen entering the Baby Elf factory's ruins, followed by Zero. The news spreads quickly to Area Zero, causing CX to act quickly. To protect the utopia the original X desired so much, he began a new Maverick Hunter group.
Beginning of the
Game
Weil quickly begins producing more reploids based on Zero's design, convinced Zero was unstoppable. He is only able to produce one unfinished version based off of Zero before CX and a few Maverick Hunters infiltrate his lab. Weil escapes, leaving the new reploid to face off against CX.
Being exposed to CX startles the original Zero, causing repressed memories to begin to surface. He begins to remember the numerous battles he had with X and his copy.
Weil again hides himself as he and Zero create a set of altered copies of Zero, as well as a number of war machines, ready to wage war on Area Zero. He sends the replica Zeros as the head of the armies, sending them to attack. CX and the Maverick Hunters are the lead of the defense against Weil's forces. CX presses ahead, eliminating each replica, five in total, as Zero observes, regaining more and more of his memories.
With the majority of Weil's forces destroyed, the original Zero shows himself, slaughtering many of the Maverick Hunters. He then approaches CX.
<<Planned Dialogue>>
Zero: X... I remember you well.
CX: I am not X. I am his successor. But Zero, you fought me when I protected Neo Arcadia. Why are you killing those who you used to protect?
Zero: Because I remember... I remember everything now.
CX: That doesn't answer my question.
Zero: Because it is what I was built for... It is my purpose.
CX: But Weil remade you. You were not built for this.
Zero: No X... I was meant for this. *activates saber* Doctor Cain altered me. I was built to destroy you... you and everyone you love.(This is a reference back to the Megaman X series, which reveals how Doctor Wily was Zero's creator)
CX: Zero... *hand retracts and forms into X-buster* I changed myself from what I was created for... you can too.
Zero: You have to want change, X. I never wanted to be a hero, people tried to make me one! *lunges to attack*
At the end of the battle, CX destroys Zero entirely, then pursues Weil. (leaving room to expand for my second fan-game, should I choose to continue)
The Walrus
10-01-07, 00:14
Prepare for Zero fanboy's to seek vengence on you
Is Copy X going to use the Elemental Armor, un-armored or both?
[fish in space]
10-01-07, 00:19
I see two major problems: 1. Zero killed Weil 2. zero says himself he wasn't a hero (in Z4) and he just fought for what he believed in.
Rainbow Dash
10-01-07, 00:21
There are a few plotholes I see, but they're caused by Capcom themselves, anyway. I like how you're willing to discard Zero. It's refreshing to see a deviation from the "Oh, I can't kill him off, he's too well liked" attitude. It's one thing if it makes the story worse, but otherwise...
Anyway, my only problem is with the sprite of CX. It's too... stiff, like the sprite Copy X always was. I really think you should redesign it, but I suppose that's just my opinion.
Edit: Outposted. People A have killed People B lots of times in the Megaman series, but they come back anyway. I'm sure he has an explanation.
LaineKeiko
10-01-07, 00:21
O.o wow you people reply fast! *hurries and edits to be more specific to the new posts*
As for the armors, it depends on how much information I can find online. If I can figure out how then I don't see why not :p
And as far as Zero fanboys... I <3 Zero. I was disappointed by Zero's death in Megaman Zero 4 because it's not epic. Read any story where the warrior hero dies; a grand character deserves a grand death. It merely strengthens the story.
[fish in space]
10-01-07, 00:23
Depends on how much information I can find online. If I can figure out how then I don't see why not :p
And as far as Zero fanboys... I <3 Zero. I was disappointed by Zero's death in Megaman Zero 4 because it's not epic. Read any story where the warrior hero dies; a grand character deserves a grand death. It merely strengthens the story.
As I said, he's no hero.
Edit: The copy X sprite really needs work, it's just a blue zero head on a cx body, I could sprite if you want.
LaineKeiko
10-01-07, 00:28
I see two major problems: 1. Zero killed Weil 2. zero says himself he wasn't a hero (in Z4) and he just fought for what he believed in.
1.) actually, the ending of MMZ4 leads you to believe that, however, it is never directly confirmed that Weil is killed. Unless I am mistaken...
and
2.) Zero's change in attitude is affected by Weil's reprogramming as well as the recovery of the memories pre-Zero series. Knowledge can twist someone's mind (just think of seeing a relative in the nude *shivers*). Also, when he (in my script) says the line, he is referring to how people see him as a hero, when it's something he's not. This further reinforces his change in attitude and I feel it necessary to keep this line in.
[fish in space]
10-01-07, 00:30
I think it should be straight up reprogramming, Zero never cared much about what someone's origin was. So may I work on the CX sprite?
LaineKeiko
10-01-07, 00:31
As I said, he's no hero.
Edit: The copy X sprite really needs work, it's just a blue zero head on a cx body, I could sprite if you want.
That'd be very much appreciated, I'd like to keep the concept of X inheriting Zero's helm, however it's not at all essential. Of course it's up to you, you're the spriter. I don't have any experience in spriting so I'll leave it up to your own judgement.
The Walrus
10-01-07, 00:49
Ask Zan Sidera about if Wiel truly died. He's read the source books and will probably
[fish in space]
10-01-07, 03:22
That'd be very much appreciated, I'd like to keep the concept of X inheriting Zero's helm, however it's not at all essential. Of course it's up to you, you're the spriter. I don't have any experience in spriting so I'll leave it up to your own judgement.
Okay, I was thinking of making him look more like the original x but with some gold trim.
LaineKeiko
10-01-07, 03:28
I do like the thought of gold and blue, but the X from the MMX series always seemed to be... 'chubby' to me... specificially the legs... though what worries me more is I'm afraid that altering the CX from the mmz series too much will make the feel of things completely different... perhaps if you showed me a quick version of what you're thinking...
[fish in space]
10-01-07, 03:30
Sorry, but to me "quick" sprites are a waste of time. But it's your game so no matter how long it takes me you can always reject it, just gimme' some time.
You said that this will be your first game. Are you new to programming or new to game programming?
Trust me, a 2d platform game is not a good choice for a first game. I've tried it. I'm currently working on a classic-Megaman-style game for the PC platform and it's no joke. The limitations of the GBA do not make it any easier, either.
I do have to say, though, the HAM library does simplify a lot of the low-level aspects of the GBA hardware.
I don't mean to burst your bubble or anything, I just wanted to let you know it's not going to be a walk in the park :(
LaineKeiko
10-01-07, 04:02
I'm well aware that it will be difficult, but I really have no desire for other types... this is my first game I'll be programming in the GBA's language/HAM. I have done some programming using "Game Maker 6.0" which extremely simplified things to a drag and drop aspect. I'm not exactly new to the programming world however... I've done quite a bit of programming using Bioware's Aurora system for Neverwinter Nights and the new engine for Neverwinter Nights 2 (which was developed by Atari [which they horribly screwed up by making it focused for single player instead of the intended multiplayer])...
[fish in space]
10-01-07, 04:09
Here's the (maybe) new Megaman CX!
3195
How is it? I like how it came out.
LaineKeiko
10-01-07, 04:16
I must say, I like it... it seems fresh and appropriate... but one minor detail seems to stick out at me... the right foot looks like the shin part should come down just a little more... other than that I love it
The HAM library is written in C & C++. If you're not familiar with those languages, I would recommend you google some introductory tutorials on them.
[fish in space]
10-01-07, 04:18
Okay, I'll fix that then do the mug. I did thicken the leg but not too much.
edit: fixed 3196
LaineKeiko
10-01-07, 04:18
Actually, i've taken a course on C++, and NWN's engine is based off of if also
LaineKeiko
10-01-07, 04:33
RE: Maxamor.
My progress in GBA's programming so far is I've learned how to control the input of the controls... and I figure the differences in things will all be if/then statements regarding variables that dictate what to do in a situation. the lessons I need to focus on will likely be creating when a script will execute. to keep myself less confused I'll be doing my script in different segments and referring back to them when it's appropriate... possibly creating a function all in itself to do the command.
RE: Tuna Unleashed.
that is -exactly- what stuck out at me... great work :)
[fish in space]
10-01-07, 04:41
Yeah, it kinda' looked off to me too. Anyway, here's the mug 3197 it was hard to make a rather emotionless character into a hero. Oh, and if you get a saber engine running you should have the original x come back and give CX the Z-saber he got in MMX5. I love swords :D !
LaineKeiko
10-01-07, 04:46
The saber system will be simple after I get a hang on things... I already have ideas about how it'll work, setting the saber slash as a seperate object and have an "on collision" script fire when an object comes into contact with it... most tedious part will be positioning it... Though I'm not sure how to work X back into life...
and... mug looks nice... kinda like he's got a new outlook on things which is sorta the theme so yeah!
Rainbow Dash
10-01-07, 05:17
Just in case you're not aware, to keep the MMZ style you'll have to separate each "sprite" into several separate objects with no more than 16 colours including transparency. It'd be much easier if SI sprites had every single layer ripped separately, but that would take quite a while. I'm sure that will be difficult when it comes to programming. Good luck, though.
LaineKeiko
10-01-07, 05:24
How can I detect what the 'alpha blending' color value is?
LaineKeiko
10-01-07, 05:27
http://i54.photobucket.com/albums/g93/LaineKeiko/lk_mmcx/lk_mmcxproject_progress.jpg
This is my progress so far... without alpha blending...
[fish in space]
10-01-07, 13:50
The saber system will be simple after I get a hang on things... I already have ideas about how it'll work, setting the saber slash as a seperate object and have an "on collision" script fire when an object comes into contact with it... most tedious part will be positioning it... Though I'm not sure how to work X back into life...
and... mug looks nice... kinda like he's got a new outlook on things which is sorta the theme so yeah!
Just make it so he comes back for a few seconds to give CX the saber (though in my opinion he should also say that it isn't the real zero and real zero is in cyberspace).
Edit: BTW, is CX gonna' have the falcon armour thing that he had, because then we could impliment elemental chips and ex skills and stuff like that.
Edit2: oh, and use the CX picture beside the mug because he has ears in it.
You'll want to look up how to do "color keying". Basically, you choose an index from the pallete which will be your transparent color. I forget exactly how you do this with the HAM API, but it may be included in the Sprite construction method.
In any case, once you set the color key, when HAM blits your sprite it will ignore the color key, thus making it only blit the "opaque" pixels of the sprite.
EDIT: Upon further research, I have discovered that the first index of the pallete is the alpha color. There is no function for setting it AFAIK.
LaineKeiko
10-01-07, 19:49
Posting an update to the lk_mmcx_progress.jpg location, but connection is acting up... I'll have to upload it after class. If it does not upload while I am away, expect it to be uploaded in about an hour's time. Basically, I've found out how to set the alpha color manually.
I've been working on pseudo scripts to save time when I get to that point, such as the input options... currently I have the weapon switch plotted out.
void R_button()
{
//check what weapon is currently selected
//then set it to the next in line
if(iWeapon==1)
iWeapon=2;
else if(iWeapon==2)
iWeapon=3;
else if(iWeapon==3)
iWeapon=4;
//and so on
}
void B_button()
{
if(iWeapon==1)
{
//perform the proper commands to create the sprite at the location at the
//tip of the buster cannon. if the player is facing left(determined by
//the variable 'iDirection', then create it at the proper coordinates
}
}
Instead of using mutliple if/then/else or a switch statement, why don't you just increment the currently selected weapon by 1, and then check to see if it's still within bounds?
Like this:
void R_button()
{
iWeapon++;
if(iWeapon > 4) {
iWeapon = 1;
}
}
LaineKeiko
10-01-07, 20:53
RE: Tuna Unleashed
If I get the proper resources, then sure.
As far as X returning to somehow deliver the sword, I've devised an idea. perhaps the cyber elf form of X could be the new permanent elf for CX. The elf X could contain the old program to form a buster sword. Perhaps in the fashion that Protoman used in the Battle Network series. Personally I liked the blade coming straight out of the cannon. Not sure what other people think though... any comments?
RE: Maxamor
Perhaps you could explain to me what the line 'iWeapon++;' would do exactly. the only place I've used it is when I was 'forced' to in a tutorial of some kind, but I've never seen the function defined...
The Walrus
10-01-07, 21:03
The blade coming out of his arm would work fine. His slashes could be designed to look more gracefull and elegant unlike Zero's "rough" slashes though. Maybe when using the blade that the hand(not the blade itself) could look similar to Elf X's helmet
BTW- This is just personal opinion but I think it might be better to give CX a new pose to look more playable
It's called the increment operator. Conversely, there is a decrement operator (--).
iWeapon++; is equivalent to the following line of code:
iWeapon = iWeapon + 1;
It simply increments the value stored at iWeapon.
LaineKeiko
10-01-07, 21:40
The lk_mmcx_progress.jpg has been updated... I've learned enough about alpha blending to continue on with my lessons...
The blade coming out of his arm would work fine. His slashes could be designed to look more gracefull and elegant unlike Zero's "rough" slashes though. Maybe when using the blade that the hand(not the blade itself) could look similar to Elf X's helmet
BTW- This is just personal opinion but I think it might be better to give CX a new pose to look more playable
I understand how you feel about it, but it really is up to Tuna Unleashed if he wants to revise it. perhaps other people voting on the topic is appropriate?
The Walrus
10-01-07, 22:03
That'd probably be best
Figured I'd ask but how'd you find out/learn how to get the game to work on VBA? I know C++(I'm currently learning it actually) is the programming language usually used so I'm not totally programming illiterate
LaineKeiko
10-01-07, 22:07
http://www.aaronrogers.com/ham/Games/HAM_Hearts/ham_hearts.php
I found this site after going over about four dozen different tutorials... this is the only one that really goes over things in a way I can really identify with, so, I decided to stick with it; I'm glad I did, because the other tutorials didn't provide much information on what the functions actually did... proper syntax and the like is important to me...
anyways, once you compile the scripts using HAM, it creates a .gba file that you just open in VBA...
The Walrus
10-01-07, 22:12
Thanks
BTW- Are you going to have other characters go through redesign's?
LaineKeiko
10-01-07, 22:24
I was thinking of CX's four guardians that were in the series... maybe once I get to a certain point I'll put it in so that you can play as them... at least harpuia (my favorite ^^).
I'm thinking the layout of the game will be connected... giving it an rpg feel... like, each level being started where another left off, sorta like how in megaman zero 1 you could go to the end of the first area (not the intro level, but where the recycling place was) and back to the base, except every area in the game would be connected in this manner..
@The Angel of Ruin: As LaineKeiko mentioned earlier, HAM is an SDK for the Gameboy Advance hardware. It's coded in C and C++, and allows you to write code files which compile into binary that run of the GBA hardware (ARM architecture).
You need a linker cable and preferably a flash card to get the binary onto your Gameboy.
It's easier to play them on an emulator.
RyuReiatsu
10-01-07, 23:04
Can I Fix this new CX's design? It looks a bit messed...
LaineKeiko
10-01-07, 23:12
Honestly, I don't know whether or not to say yes... I do like tuna's version, and I've already agreed to let him do the spriting, so I feel obligated to say no. Is it within the rules to create a poll on whether the sprite should be changed?
[fish in space]
10-01-07, 23:26
If you want to, change it.
edit: huge update to CX
3212
LaineKeiko
11-01-07, 03:45
If you want to, change it.
edit: huge update to CX
3212
nice, but what I need ASAP for animation and motion testing is a running animation... then afterwards a jumping animation if you would...
O.o >.< oh boy... gravity time...
LaineKeiko
11-01-07, 04:39
I've run into a bit of an issue... I only know how to convert bitmap images into the necessary ".pal.c" and ".raw.c" files I need to use... but when I use photoshop to set a transparent color, it doesn't move the color to the front of the color palette, so I'll have to go through and edit every sprite to get the transparency. Is there a program that will convert .png images into the correct format, as well as allow me to move the transparent color to the first indexed color? (I hope I said that right...)
I've been using gfx2gba.exe in order to convert my files? is there a command for this? *looking over the commands list again*
I'm not sure as far as gfx2gba goes. I haven't really done any GBA development in a year of two.
Every sprite may have its "transparent" pallet index in different locations. You may have to go through each one and change the transparent index to index 0 by using the color table in Photoshop.
Ideally, all the sprites for an animation could be stored on a single sheet. Then all you need is code to draw portions of it at a time.
[fish in space]
11-01-07, 13:51
nice, but what I need ASAP for animation and motion testing is a running animation... then afterwards a jumping animation if you would...
O.o >.< oh boy... gravity time...
with or without the armour. Ooh! Maybe it would be cool if he always fought in the armour and had a teleport sequence similar to normal X in X4-X6 except he went into his armour.
And why dont you just make both using the time waiting for an answer.
Un armoured could be used in base or something.
Armoured could be used in missions.
Rainbow Dash
11-01-07, 14:19
Maybe you could tie this into the X series by having him find his armor pieces. Of course, you couldn't use the traditional Dr. Light capsules (though Capcom was never consistent with that, anyway), but it's an idea. It might be hard to work in, though.
I'd like to see the Guardians in this, if possible. They just vanished in Zero 4, and that sort of pissed me off, because they were good characters.
Yeah, I loved Fenfir and his lack of brains. It made for interesting conversation. Armour pieces... i do think it was being included.
LaineKeiko
11-01-07, 17:04
@tuna unleashed
well, the start of the game will have him without his armor... the 'super-x' armor will be a hidden set. Then have leviathan, fefnir, phantom, and harpui based armors be the spoils for defeating their retrospective Zero clone... I think...
The saber system will be simple after I get a hang on things... I already have ideas about how it'll work, setting the saber slash as a seperate object and have an "on collision" script fire when an object comes into contact with it... most tedious part will be positioning it... Though I'm not sure how to work X back into life...
and... mug looks nice... kinda like he's got a new outlook on things which is sorta the theme so yeah!
That sounds so much like the description I had posted on the 'All Purpose Help Thread', and so I thought that it was cool that even though you posted before me we think alike, sorta'.:D
I actually came up with the idea to do that in my game a year ago, but posted the idea here soon after you posted pretty much the same exact thing.:D
The Walrus
11-01-07, 20:49
@TS- That's caused they died from Omega exploding. Least that's what Zan said is mentioned in the source book if I remember it right
LaineKeiko
11-01-07, 20:50
right, apparently capcom's excuse was the dark elf saved Zero at the last second type thing...
The Walrus
11-01-07, 20:53
Hmmm...Logically, with her power the dark elf could've rescued the guardians as well. They could have at least saved Leviathan, she seemed to care about Zero in her own psycho/totally insane way
LaineKeiko
11-01-07, 21:19
*coughsadistcough*
The Walrus
11-01-07, 21:23
Sadist? Do you mean Sadistic?
LaineKeiko
11-01-07, 21:24
sadist = enjoys causing pain to others
sadistic = having the qualities of a sadist
masochist = enjoys causing pain to self
masochistic = having the qualities of a masochist
The Walrus
11-01-07, 21:28
Oh, didn't know that
TwIzTeR_91
11-01-07, 22:48
Hmm... 4 Guardians?
1. Legs
2. Arms
3. Body
4. Head
... Just a thought.
RyuReiatsu
12-01-07, 01:52
Honestly, I don't know whether or not to say yes... I do like tuna's version, and I've already agreed to let him do the spriting, so I feel obligated to say no. Is it within the rules to create a poll on whether the sprite should be changed?
Haha, it's alright.
Fine, I only wanted to fix a bit his legs and such.
And just for the record. Its MOTHER elf. Not DARK elf. Its Mommay!
LaineKeiko
12-01-07, 18:33
okay, trying to learn switches... someone correct me if this is wrong... let's just assume the pseudo script for "void cxAction_BusterShot()" and the like is defined elsewhere.
switch(iWeapon)
Case1: cxAction_Attack_BusterShot()
Case2: cxAction_Attack_ZSaber()
Case3: cxAction_Attack_Giga()
break;
LaineKeiko
12-01-07, 20:07
Working on the activity for the buster shot... this is still under construction... if anyone sees any logical errors, typos, etc feel free to point them out :P
void cxAction_BusterShot()//create the bullet
{
}
if(F_CTRLINPUT_B_PRESSED && iCharge!>0 && iWeapon==0)
{
cxAction_BusterShot();
Wait(1); //wait 1 second to see if it's still pressed before starting the charge sequence. may have to develop this command further...
while(F_CTRLINPUT_B_PRESSED)//will turn this into a function later
{
if(iWait==3) //check for new level every 3 seconds
{
switch(iCxCharge)//increment the
case0: iCxCharge=1
case1: iCxCharge=2
case2: iCxCharge=3
break;
}
}//end of the function
while(!F_CTRLINPUT_B_PRESSED)
{
switch(iCxCharge)
case1://create a level 1 blast
case2://create a level 2 blast
case3://create a level 3 blast
}
}
When using switch statements there are a few things you need to remember:
1) The default statement is important. As a good coding practice, always include one (even inf you don't think you'll ever use it.)
2) You must include the break keyword after the body of each case. Otherwise, you would run in to problems that don't seem obvious.
3) I see you have some kind of strange logic in your if statement. "if(F_CTRLINPUT_B_PRESSED && iCharge!>0 && iWeapon==0)"
Does this mean "If B is pressed, iCharge is NOT GREATER than 0, and iWeapon is equal to 0" ?
Why check for "NOT GREATER THAN" when you can jsut check for "LESS THAN" Like so:
"if(F_CTRLINPUT_B_PRESSED && iCharge < 0 && iWeapon==0)"
Here's how you should do switches:
switch(iCxCharge) {
case0:
iCxCharge=1;
break;
case1:
iCxCharge=2;
break;
case2:
iCxCharge=3;
break;
default:
break;
}
LaineKeiko
12-01-07, 20:39
@Maxamor
thanks for the clarification on the syntax.
if I might explain my logic for that line though:
if(F_CTRLINPUT_B_PRESSED && iCharge!>0 && iWeapon==0)"
I was thinking "if the B button is pressed and not being charged, and the weapon selected is the buster." It registers more quickly in my own mind, so it's just a matter of preference since it's the same effect.
I'll edit the code once I've found time to do so. I suppose now I should mention that I'm doing this all in my free time... college life is so busy at times.
You could also simplify it by doing this:
if(F_CTRLINPUT_B_PRESSED && iCharge == false && iWeapon==0)
or this:
if(F_CTRLINPUT_B_PRESSED && !iCharge && iWeapon==0)
is iCharge a bool?
LaineKeiko
12-01-07, 23:29
iCharge will be an int that will show how much CX's buster is charged...
0 = normal shot
1 = low force charge shot
2 = medium force
3 = high force
at least that is what is currently planned
LaineKeiko
17-01-07, 04:58
having very bad connection issues lately... it's a task to even visit a webpage, so I've been unable to continue with the tutorials on programming, so things are kinda in a slow period... hopefully the administrators will fix the issue soon, but at this campus, i'd say it'll be a little later rather than sooner...
LaineKeiko
19-01-07, 03:01
okay, so... I'm back with a stable connection (if you consider 5 kbps steady >.<)... I've gotta say this university has been nothing but trouble for me... anyways... I'm currently searching for more tutorials that cover the HAM library, particularly those covering collision systems. Actually, one on one help would be nice if anyone knows how that would be possible. I have a basic grasp now but my learning habits are to be shown how its done, then adapt it to my needs. Maybe I should switch from HAM to a different library? any recommendations?
HAM doesn't have any collision detection code built in. It's just a wrapper for low-level access to the GBA hardware. It's good for graphics, input, timers, callbacks, etc.
I would recommend writing a small class or struct to represent a rectangle. That way you can write code to detect whether two rectangle intersect. All you have to test for is any corner of one rectangle within the bounds of another one. You can give your characters all rectangles, etc.
It would work the same with character vs. background collisions as well. You just find out which tile the character's rectangle is intersecting with. And then you can position the character accordingly.
The HAM tutorials are good to some extent, but HAM, being a library written in C, is not very object-oriented. None of the GBA libraries that I know of are. This made it difficult for me to really develop complex things with, because I only have an OOP background.
DevKitADV is a good dev kit as well, but it's not as simple as HAM is.
I'm actually going to be working on the collision detection / collision response code in my game in the coming weeks. If I come up with anything good, I'll let you know :)
EDIT: It's hard for me to give you some links right now because my work blocks everything :( Searching for gameboy advance yeilds very few accessible results...
EDIT #2: I meant DevKitPro, not DevKitAdvance. Check it out here: http://www.devkitpro.org/
EDIT #3: Also, do you have a flash cart or are you just playing this on am emulator?
LaineKeiko
19-01-07, 19:29
@Maxamor
strictly on an emulator... don't have the monetary resources lately to get a GBA...
Just a heads up, but, I found someone who's going to be contributing background music. A lot of the songs are fine as they are, but he's editing others to fit into the video game theme...
His work is on Newgrounds if you wanna give a listen...
Zero Bass (http://www.newgrounds.com/audio/view.php?id=525830&sub=66091)
Right now I'm planning on using "Terror from Beyond" as the boss fight bgm. Don't know why, but it just has that 'boss' feel to it.
I figure right now I can go ahead and collect the needed resources. I -WILL- finish what I've started!
Back on topic... right now, I'm writing an outline of the game so I can simplify how to program it. working on getting dialogue windows set up as well... instead of writing text into a dialogue window like Capcom has done in every megaman game, it will go frame by frame... near instantaneous. Not sure if this feeling is mutual, but it always drove me nuts how slow text would go by, how you'd have to hit a button twice to progress.
Anyways... more notes on development after class...
LaineKeiko
21-01-07, 04:26
ok, I've basically figured a way to program things... of course most things are just going to be 'squared off' for the most part... simple geometry... I never was good at math so yeah... only problem will be figuring out how to handle going up slopes. Might have to eliminate slopes altogether since they aren't really that much of an essence...
I haven't yet coded any games with slopes, and the current game I'm working on is an NES-style Megaman game--so there aren't any slops in it either. I have, however, thought of a few ways to do them.
1) You could store the equations for the slope calculations in functions, and then have a flag on the tiles that tell your game to calculate the "ground's" Y-position using those eqautions. The equations themselves are simple algebra Rise/Run equations.
2) Another faster way, but one which also requires more manual work, is to create a look-up-table of Y values and store them in an array where X is the index in the array of the corresponding Y value for that particular slope. Those could be pre-calculated before the game starts by using said eqautions from idea #1. That way, you wouldn't have to caluclate the values each time (and we all know that division is the slowest operation to perform--especially on the GBA's processor) and the look-up time on an array is O(1) so that rocks. The only problem with this is it greatly increases the complexity of your collision algorithms and the way your map is laid out.
Anyhow, I plan on implementing one of those methods in my next game--which will be Megaman X style.
I hope this helps!
LaineKeiko
28-01-07, 07:32
Depending on how busy I am with classes this week, I hope to have a demo of the basic functions out by saturday. Nothing fancy, simply getting my bearings
LaineKeiko
07-02-07, 21:35
Apologies for the late response, but on a temporary hiatas for a while. College has ran my arse over. I know how I'm going to finish the demo, I just won't have the time. Just for the skeptical: I am -not- abandoning my work, but it is indefinately postponed until I can free up some time.
LaineKeiko
05-06-07, 05:21
Woohoo! I am back, and with new invigoration. College kicked my arse and could only get my Western Civ grade up to a B. really wanted to pull it up to an A. I know, I'm a perfectionist, but still, it may balance a bad grade out if I ever get one...
In other news... desktop had to go through a complete reinstallation of all software and I lost a lot of data in the whole ordeal, so I'm starting over from scratch now (unwillingly). I've decided to make the sprite sheet for the main character myself since I really don't want to have to rely on someone else for such a key detail to the programming. I'm also thinking about tackling the whole thing in Game Maker 7.0 before reprogramming with C++.
Here's my current work on a sprite sheet for Copy X (all done today).
http://i54.photobucket.com/albums/g93/LaineKeiko/characters_copyx.jpg
I basically used the original model before transformation, then compared to the armored version to line up the legs and coloring. Some may be slightly off, however it's consistent. Anyhow, off to more editing, will be watching my messages and this post quite often.
Pretty good, but you ruined the color by making it a .jpeg.
Also, I work with Game Maker, and trust me, it's going to take some work to program a Megaman Zero style game.
LaineKeiko
05-06-07, 07:12
Pretty good, but you ruined the color by making it a .jpeg.
Also, I work with Game Maker, and trust me, it's going to take some work to program a Megaman Zero style game.
It's actually in .bmp form, but photobucket seems to automatically convert it to jpeg when uploaded. Also, I'm not entirely fresh to game design. Once I get the sprites for the character done, I'll be making a 'test area' to goof around in, tweaking controls and the like. Only issue I think I'll run into is the wall-jumping, at least with Game Maker.
I have an example of a megman x game(not mine)-if you like, I could email it to you.
[fish in space]
05-06-07, 13:44
*sigh* I just got fired. Oh well, I'm too busy anyway. Welcome back.
LaineKeiko
07-06-07, 04:47
Was a paini n the arse, but finally finished a running animation... compared the original copy x model to the enemies using his body type in the games. Was stupidly hard until I realized that they were supposed to be made in his design lol
RyuReiatsu
09-06-07, 17:28
Save the sprites in PNG, it won't break the colors.
The Gretin
11-06-07, 09:54
Well, it's not really important for him to post sprites that are usable by other people when it's for his own game, is it? :D As long as he has it saved in a better format on his own computer, that is.
Anyway, this looks like a nice idea, so it's good to see it come back. Good luck with it, though, a good game isn't an easy thing to make, especially on your own, no matter how much skill you have.
LaineKeiko
11-06-07, 18:32
Well, it's not really important for him to post sprites that are usable by other people when it's for his own game, is it? :D As long as he has it saved in a better format on his own computer, that is.
Anyway, this looks like a nice idea, so it's good to see it come back. Good luck with it, though, a good game isn't an easy thing to make, especially on your own, no matter how much skill you have.
Glad there's interest. Any (free) reference materials for C++ in 2 dimensional game programming would be nice.
vBulletin v3.5.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.