Cave Story Music

Feb 15, 2010 at 7:59 PM
Junior Member
"Wow! The more I drink of this magical beverage, the more games I can play! Wheee!"
Join Date: Feb 15, 2010
Location:
Posts: 22
How to access everything in Cave Story

Is there a way to access the cavestory code so we can tamper with stuff like the phyics, engine, everything? I did some searching around these forums, but could not find a sufficient explanation of how the game works.

CaveEditor is great and all, but I'd like more control.. I'd like to gain some experience in programming, so I would really like to see Pixel's code if it is open sourced or something. I don't really get how the game is tied, like what did he program in, etc.

So some of the questions I have are...

-CaveEditor can do a lot, but it can't create new enemies, attacks, engine specifics.. How do you do so?
-Pixel made this game alone, so it should be relatively easy to follow his work compared to games that were made by hundreds of people.. Is there any way to access his code, know what he did, etc? What did he code in? Something in Japanese or a universal language like C++?
-How do you edit the game to allow different file types. E.G. use wav files instead of ORG files?
-Anyone know anything that I may find useful to follow? I'm studying computer science so I would appreciate it if anyone could give me something to follow. Like maybe for example how cave editor was made.. how did the creator knew how to fool around with templates, scripts, etc..

Thank you for listening to my request.
 
Feb 15, 2010 at 8:03 PM
Been here way too long...
"Big Joe Tire and Battery Restaurant! Opening Soon! Eat at Big Joes!"
Join Date: Sep 16, 2009
Location:
Posts: 519
Your wav song might be larger than cave story.
 
Feb 15, 2010 at 8:14 PM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3052
cave. story. cannot. read. wavs.
it. is. a. waste. of. time. to. make. it. do. so.
 
Feb 15, 2010 at 10:51 PM
Junior Member
"Wow! The more I drink of this magical beverage, the more games I can play! Wheee!"
Join Date: Feb 15, 2010
Location:
Posts: 22
Lace said:
cave. story. cannot. read. wavs.
it. is. a. waste. of. time. to. make. it. do. so.

It really limits what we can do with cave story hacks. Sure it might be really big for file size, but we are hacking the game so it should be up to us what we want to do with our hacked version of the game.

Anyway, I don't want to get into an argument over this or anything.. I just want to know how to add other music files other than org and midi into cave story. It would be helpful to me.
 
Feb 16, 2010 at 12:46 AM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3052
We are hacking the game so it should be up to us what we want to do with our hacked version of the game.
I'm not stopping you from spending your time assembly hacking wav reading capabilities into your mod, did I ever say that?
Also, midis cannot be put into cave story, contrary to your belief.

I just want to know how to add other music files other than org and midi into cave story. It would be helpful to me.
Cave story CANNOT understand wav file format*, and it would take loads of time and way to much effort to make it do so. Sadly, there's no easy fix to your problem, although it might prove useful.

*pretty much
 
Feb 16, 2010 at 4:02 AM
Junior Member
"Wow! The more I drink of this magical beverage, the more games I can play! Wheee!"
Join Date: Feb 15, 2010
Location:
Posts: 22
Lace said:
I'm not stopping you from spending your time assembly hacking wav reading capabilities into your mod, did I ever say that?
Also, midis cannot be put into cave story, contrary to your belief.

Cave story CANNOT understand wav file format*, and it would take loads of time and way to much effort to make it do so. Sadly, there's no easy fix to your problem, although it might prove useful.

*pretty much

Ok. Thanks. Your response made me think a little and I decided to change the topic of this thread since my previous post wasn't what I really was requesting..
 
Feb 16, 2010 at 4:09 AM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3052
sweet, better question - easier to answer.
assembly.

cave story was originally coded in c++, but we don't have the source, so I'll we're able to work with is what he gave us, the exe. blablabla actual hacking.
the catch is you'll have to learn assembly, but you've got a good start, since cs is remarkably well documented. look at the stickies for stuff under assembly hacking.


if you want help with asm, dooeys prolly the best on the forums, but he's not on much, so me and gir would be your best bets.
 
Feb 16, 2010 at 4:17 AM
In my body, in my head
Forum Moderator
"Life begins and ends with Nu."
Join Date: Aug 28, 2009
Location: The Purple Zone
Posts: 5998
Pronouns: he/him
Really? You searched the 4-ums and didn't find anything about assembly? That's how anyone makes any engine changes or anything. First you need to download OllyDbg (google it?) for the debugger that lets you view the assembly, then you need to know how to work the assembly. I can hardly help you with that, but I can give you my resource of most of the most pertinent information in CS Assembly modifications.

Noxid's Assembly Compendium.txt

It's thanks to a gentleman by the moniker of RuneLancer that we can do any of this stuff really, and most of the information in said document comes from him. For more info peruse the hacking/modding section and focus on threads by him, or more generally any that have to do with assembly.

Oh, and, unless you're an Assembly Genius you probably won't be able to do the extremely fancy stuff like make the game read wavs. However, it is true that you can theoretically make the game do ANYTHING through assembly.

To answer another part of your question, it is known that CS was written in C++, but without the source code (and pixel doesn't just hand that out to anyone) it doesn't really mean that much I don't think, at least not in the way you are probably hoping.

Finally, I imagine if you were REALLY interested in how Cave Editor worked you could contact the creator? I think he even made the source code available on the tribute site.

EDIT: :[
 
Feb 16, 2010 at 4:18 AM
Cold Agony of Resolute Vacuum
"Heavy swords for sale. Suitable for most RPG Protagonists. Apply now!"
Join Date: Jan 1, 2008
Location: Elsewhere
Posts: 1973
Lace said:
cave. story. cannot. read. wavs.
it. is. a. waste. of. time. to. make. it. do. so.
OBJECTION!
It can read waves, but only those presented to it in the WAVE100 resource.
Which isn't very useful.
HOWEVER.
ORG View, which uses (essentially) the same music-playing engine, CAN be made to play waves. (Look up the thread "MP3's in Cave Story")
I still stand by my idea: If you could splice the code from ORG View into CS, you could achieve the same level of wave-playing capability.
But that's easier said than done, else it've been done already.

The simplest way to get a wave to play is to replace the instruments used by the ORG playing component with the wave you want, then create a single-note ORG (the note being the one that calls the wave in question) and use that.
But again, this is more easilly applied to ORG View.

Noxid said:
Finally, I imagine if you were REALLY interested in how Cave Editor worked you could contact the creator? I think he even made the source code available on the tribute site.

Check the Cave Editor thread, in the first post. The sauce is the second link, IIRC. Or email Wistl. He's pretty good about questions and stuff.
 
Feb 16, 2010 at 4:22 AM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3052
DragonBoots said:
OBJECTION!
It can so totally do all that cool thtuffz
Lace said:
*pretty much
^_^

Noxid said:
:p


also, note that when you have a message less then 10 chars the vbulletin message changed. odd.
 
Feb 16, 2010 at 6:45 PM
Junior Member
"Wow! The more I drink of this magical beverage, the more games I can play! Wheee!"
Join Date: Feb 15, 2010
Location:
Posts: 22
Lace said:
sweet, better question - easier to answer.
assembly.

cave story was originally coded in c++, but we don't have the source, so I'll we're able to work with is what he gave us, the exe. blablabla actual hacking.
the catch is you'll have to learn assembly, but you've got a good start, since cs is remarkably well documented. look at the stickies for stuff under assembly hacking.


if you want help with asm, dooeys prolly the best on the forums, but he's not on much, so me and gir would be your best bets.
ok, thanks. makes sense now. I'll take a look at the assembly code in the near future.. see what i can do with it even though I am just learning it.

Noxid said:
Really? You searched the 4-ums and didn't find anything about assembly? That's how anyone makes any engine changes or anything. First you need to download OllyDbg (google it?) for the debugger that lets you view the assembly, then you need to know how to work the assembly. I can hardly help you with that, but I can give you my resource of most of the most pertinent information in CS Assembly modifications.

Noxid's Assembly Compendium.txt
It's thanks to a gentleman by the moniker of RuneLancer that we can do any of this stuff really, and most of the information in said document comes from him. For more info peruse the hacking/modding section and focus on threads by him, or more generally any that have to do with assembly.

Oh, and, unless you're an Assembly Genius you probably won't be able to do the extremely fancy stuff like make the game read wavs. However, it is true that you can theoretically make the game do ANYTHING through assembly.

To answer another part of your question, it is known that CS was written in C++, but without the source code (and pixel doesn't just hand that out to anyone) it doesn't really mean that much I don't think, at least not in the way you are probably hoping.

Finally, I imagine if you were REALLY interested in how Cave Editor worked you could contact the creator? I think he even made the source code available on the tribute site.

EDIT: :[

Is it possible to get the source code somehow or is the assembly code all we have to use? As in can I use to assembly code to get to the C++ code or something? How does C++ make the exe and once the exe made is the C++ code lost or is there some way to link back to it?

I'm not really sure if dealing with the assembly code is worth it since, it is probably easier to just make a similar game in C++.. Is there maybe some way we can mimic the C++ code of Cavestory or maybe another game to quickly make our own similar type of Cavestory game but as efficiently as we can possibly make the game?

DragonBoots said:
OBJECTION!
It can read waves, but only those presented to it in the WAVE100 resource.
Which isn't very useful.
HOWEVER.
ORG View, which uses (essentially) the same music-playing engine, CAN be made to play waves. (Look up the thread "MP3's in Cave Story")
I still stand by my idea: If you could splice the code from ORG View into CS, you could achieve the same level of wave-playing capability.
But that's easier said than done, else it've been done already.

The simplest way to get a wave to play is to replace the instruments used by the ORG playing component with the wave you want, then create a single-note ORG (the note being the one that calls the wave in question) and use that.
But again, this is more easilly applied to ORG View.



Check the Cave Editor thread, in the first post. The sauce is the second link, IIRC. Or email Wistl. He's pretty good about questions and stuff.

This is very interesting... Is all of this done through assembly or maybe there is some similar way of tackling it on?

_ _ _

Thanks for bearing with my questions/requests. I'm really looking forward to seeing how far I can get with creating my own game. Also, sorry for my lack of expressing my questions/thoughts. Basically, I want to create a similar game to Cave Story, but do it as efficiently as possible. I think it would really help to have an example (source code) that I can follow, which is why I'm curious about how Cave Story was made..
 
Feb 16, 2010 at 6:59 PM
Cold Agony of Resolute Vacuum
"Heavy swords for sale. Suitable for most RPG Protagonists. Apply now!"
Join Date: Jan 1, 2008
Location: Elsewhere
Posts: 1973
ericjlima said:
ok, thanks. makes sense now. I'll take a look at the assembly code in the near future.. see what i can do with it even though I am just learning it.



Is it possible to get the source code somehow or is the assembly code all we have to use? As in can I use to assembly code to get to the C++ code or something? How does C++ make the exe and once the exe made is the C++ code lost or is there some way to link back to it?

I'm not really sure if dealing with the assembly code is worth it since, it is probably easier to just make a similar game in C++.. Is there maybe some way we can mimic the C++ code of Cavestory or maybe another game to quickly make our own similar type of Cavestory game but more easily make the game how we want?



This is very interesting... Is all of this done through assembly or maybe there is some similar way of tackling it on?

_ _ _

Thanks for bearing with my questions/requests. I'm really looking forward to seeing how far I can get with creating my own game. Also, sorry for my lack of expressing my questions/thoughts. Basically, I want to create a similar game to Cave Story, but do it as efficiently as possible. I think it would really help to have an example that I can follow, which is why I'm curious about how Cave Story was made..

Point 1: Theroretically some decompilers can reverse-engineer a program back to a decent proxy of its source. Generally they're expensive, though. So... Yeah. If you can find a good free one you can get a pseudo-source to work with.

Point 2: To get CS to play WAVEs would require either assembly (with special emphasis placed on isolating the ORG-playing portion) or a re-compilation of the source code with the desired modifications included; easier said than done unless you refer to point 1 for the pseudo-source code.
 
Feb 16, 2010 at 7:01 PM
The Town Bicycle *cough*
"Keep on rollin'!"
Join Date: Apr 9, 2009
Location: In your memories... forever...
Posts: 432
But if he really wants to, he has the right to spend some money...

Dosn't he?
 
Feb 16, 2010 at 7:03 PM
Cold Agony of Resolute Vacuum
"Heavy swords for sale. Suitable for most RPG Protagonists. Apply now!"
Join Date: Jan 1, 2008
Location: Elsewhere
Posts: 1973
whyme said:
But if he really wants to, he has the right to spend some money...

Dosn't he?

Well of course.
But it's generally a poor idea to spend $100 - $200 on a program you'll use a few times to reverse-engineer a game.
 
Feb 16, 2010 at 7:14 PM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3713
Age: 32
DragonBoots said:
Well of course.
But it's generally a poor idea to spend $100 - $200 on a program you'll use a few times to reverse-engineer a game.

Plus I'm pretty sure the code it would produce would have NO LABELLED variables, making it still very hard to comprehend.
 
Back
Top