Page 1 of 8

New SNES game in development: Furry RPG (working title)

Posted: Fri Jan 30, 2015 4:05 pm
by Ramsis
Hi,

I just thought I'd let you guys know what I've been working on during the last couple of months. :)

Image

Image

Image

Image

Image

Image

Image

Being a personal project, the game will feature an epic storyline (worthy of a 21st century SNES RPG), a cutting-edge battle system (I hope), spectacular graphics, and (of course) 100% Furry characters. :D

Download the current pre-alpha/tech demo build:
http://manuloewe.de/snestuff/projects/f ... d_00197.7z

Have fun with the demo!
Ramsis

P.S. If you happen to be a pixel artist with some experience doing Furry characters and feel like contributing to the project, please don't hesitate to contact me. :)

Re: New SNES game in development: Furry RPG (working title)

Posted: Fri Jan 30, 2015 4:55 pm
by juef
This is magnificient! I especially love the dialogs, very well done :) I'm looking forward for more!

Re: New SNES game in development: Furry RPG (working title)

Posted: Fri Jan 30, 2015 5:19 pm
by KungFuFurby
I've been following this project on the SNESFreaks forums. My main motivation to follow the game is to follow the trail of custom music that gets produced (I like listening to new SNES music, and this is the first SNESGSS game that I've seen... not counting games made by Shiru). :D

Your method of banking the music reminds me of other SNES games that had copies of its sound drivers with some modifications hanging around on the SNES. I cite Cool World and Street Hockey '95, as both had multiple sound drivers in there on a technicality (Cool World had a copy reserved for playing the Title Screen music, while Street Hockey '95 had one for the staff roll).

I have an idea to cut down on memory consumption caused by having duplicate copies of the sound driver. Simply have one copy of the sound driver in the ROM, then have copies of a series of three pointers (six bytes total) corresponding to your music that will be loaded at $208 in SPC700 RAM. When you switch banks, you'll only have six bytes plus the filesize of whatever music you're using to load. The code to load data is defined in a way that makes this real easy.

You can up the memory savings further if you kept track of what samples were used in what pieces of music (the ADSR table can be grouped with your song data) and then put the samples in their own section of the ROM to be plucked individually.

Re: New SNES game in development: Furry RPG (working title)

Posted: Fri Jan 30, 2015 5:37 pm
by ailI
Ooh, excellent work! You had me at the title, lol. I'll be looking forward to this and following your progress closely!

Re: New SNES game in development: Furry RPG (working title)

Posted: Fri Jan 30, 2015 5:59 pm
by tepples
I tried it on my 1/1/1 Super NES with a PowerPak, and you appear to be off to a good start. So let's polish what I see here. About the hi-res text box:
  • I'm not entirely fond of the use of colored hires text because it can be hard to read on composite. I noticed the same problem in "Demo world map". I haven't tried it in NO$SNS yet to see how VRAM is laid out, but I wonder if VWF techniques combined with hi-res can help improve readability.
  • DOMINIC isn't supposed to represent the hot glue sculptor we know as Drakon, is he?
  • Does the FENNEC PUPPET become a FENNEC REAL, um, KIT later on?
  • What kind of cultural process produces names like Gregory Perpetuus Ebenezer Hrabanus Eindhoven Dubois Quaoar van der Muhlhausen Nido sulle Colline Jr.? A name that long might result from a patronymic chain, as seen formerly in Wales and among the gnomes of Dragonlance, but how else?
Some blinking dots in the H-IRQ test. It only happens on some resets though.

I have a couple suggestions for the mode 7 map:
  • Try drawing that map with interlace turned on. On "odd" frames, draw at distances halfway between the distance you're using for each scanline. This should reduce some of the shimmer in far areas.
  • For things that are suposed to stick out of the ground, such as that tower, try using software-shrunk sprites. I've posted a demo of this technique in the NES section.
The music:
  • 02 crashed.
  • 03, 04: With a slow-attacking strings sample like that, it might be better to alternate melody notes between two hardware channels so that one is releasing a note while the other is attacking. This avoids the cheap-sounding instant releases that plagued strings in a lot of Super NES RPG music.
When I saw the still of the sprite animation test, I imagined a 6- or 8-frame jog, but when I tried it, I got a typical RPG Maker 1232 walk. Would smoother walking be hard? I wonder if you could use Star Fox Adventures as a rough model for the angles and such.


EDIT: I have screenshots of the red text.

Re: New SNES game in development: Furry RPG (working title)

Posted: Fri Jan 30, 2015 9:46 pm
by Khaz
Not sure why song 02 crashed on Tepples, it plays fine on my SNES (with an SD2SNES) (and I don't know what 1/1/1 means). Agree with what was said about the red text and the walking animation. Dunno what's up with the bits of junk on the H-IRQ screen test, it happened to me the first time and now I can't reproduce it.

Other than that, I am extremely impressed and I'm eagerly waiting to see more!

Re: New SNES game in development: Furry RPG (working title)

Posted: Fri Jan 30, 2015 10:53 pm
by lidnariq
Khaz wrote:I don't know what 1/1/1 means
CPU revision ($4120), PPU1 revision, PPU2 revision ($213e, $213f).
1/1/1 and 2/1/3 are both quite widespread; the former has a few bugs. (Including, but not limited to, something DMA, but I can't find a good list of other changes.)

Re: New SNES game in development: Furry RPG (working title)

Posted: Fri Jan 30, 2015 11:36 pm
by Khaz
Oh, cool, thanks for that. Mine is apparently 2/1/3!

Re: New SNES game in development: Furry RPG (working title)

Posted: Sat Jan 31, 2015 6:26 am
by Drew Sebastino
lidnariq wrote:
Khaz wrote:I don't know what 1/1/1 means
CPU revision ($4120), PPU1 revision, PPU2 revision ($213e, $213f).
1/1/1 and 2/1/3 are both quite widespread; the former has a few bugs. (Including, but not limited to, something DMA, but I can't find a good list of other changes.)
Out of curiosity, do you know what emulators use? Also, how is it that you can have a PPU2 reversion 3 when, to my knowledge, there was never even a 2?

Re: New SNES game in development: Furry RPG (working title)

Posted: Sat Jan 31, 2015 9:07 am
by KungFuFurby
I'm looking at this program using SNES9X 1.53 trying to determine what went wrong on song 2. Loading is not the problem here.

I'm not sure what's going on, but for whatever reason the game has a chance of freezing when sending command ID 04 (which I believe sets up the volume) or command ID 06 (which plays the music), presumably because the SPC700 fails to output a zero or the SNES barely misses the signal and the SPC700 goes to a non-zero value and never goes back (or it has to do with values accidentally being ORed between the SPC700 and the SNES). Not sure why it only happens with song 2 (loading is at least successful, given that it's the largest song you have).

Re: New SNES game in development: Furry RPG (working title)

Posted: Sat Jan 31, 2015 10:21 am
by psycopathicteen
I like the hires graphics.

Re: New SNES game in development: Furry RPG (working title)

Posted: Sat Jan 31, 2015 10:51 am
by Drew Sebastino
psycopathicteen wrote:I like the hires graphics.
Really? I find that they clash with the rest of the game.

Admitingly, I originally thought that the portrait was added onto the picture, until I saw it on the TV screen.

Re: New SNES game in development: Furry RPG (working title)

Posted: Sat Jan 31, 2015 11:34 am
by Ramsis
Wow, thanks for all the input and feedback, guys. :D
KungFuFurby wrote:I have an idea to cut down on memory consumption caused by having duplicate copies of the sound driver. Simply have one copy of the sound driver in the ROM, then have copies of a series of three pointers (six bytes total) corresponding to your music that will be loaded at $208 in SPC700 RAM. When you switch banks, you'll only have six bytes plus the filesize of whatever music you're using to load. The code to load data is defined in a way that makes this real easy.
Very cool, this definitely sounds like it's worth a try, as does your idea with leaving samples in audio RAM, even if only to speed up song loading. :)

BTW KungFuFurby, do you happen to know how to add panning information in SNESGSS? As it seems, the software ignores panning data in MIDI files for whatever reason. And I couldn't figure out how to do it when editing the song.

About the song crashing issue, I've been aware that all emulators (including higan-accuracy) tend to freeze after repeatedly loading any of the three songs, but I never encountered any issues on real hardware so far. Will have to look into the matter some more. As SNESGSS is very poorly documented, I had a hard time figuring out how to proceed when loading a (new) song at all. :|

Here's how I'm currently doing it – not sure if this is 100% correct (with an initialization of the SPC700 done earlier, of course):

Code: Select all

LoadMusic02:
	jsl music_stop

	A16

	lda.w #SCMD_LOAD
	sta gss_command
	stz gss_param
	jsl spc_command_asm

	A16

	lda #:spc700_code_02
	sta DP_SPC_DATA_BANK

	lda #spc700_code_02+2
	sta DP_SPC_DATA_OFFS

	lda.l spc700_code_02
	sta DP_SPC_DATA_SIZE

	lda #$0200
	sta DP_SPC_DATA_ADDR

	jsl spc_load_data

	A16

	lda.w #SCMD_INITIALIZE
	sta gss_command
	stz gss_param
	jsl spc_command_asm

	A16

	lda.w #SCMD_LOAD
	sta gss_command
	stz gss_param
	jsl spc_command_asm

	A16

	lda #:music_02_data
	sta DP_SPC_DATA_BANK

	lda #music_02_data+2
	sta DP_SPC_DATA_OFFS

	lda.l music_02_data
	sta DP_SPC_DATA_SIZE

	lda.l spc700_code_02+14
	sta DP_SPC_DATA_ADDR

	jsl spc_load_data

	A16

	lda #$00FF
	sta DP_SPC_VOL_FADESPD

	lda #$007F
	sta DP_SPC_VOL_CURRENT
	jsl spc_global_volume

	A16

	lda.w #SCMD_MUSIC_PLAY
	sta gss_command
	stz gss_param
	jsl spc_command_asm

	A8
rts
tepples wrote:I'm not entirely fond of the use of colored hires text because it can be hard to read on composite.
You're right, the red-colored font doesn't look great on real hardware, even when using RGB. The issue is especially apparent on non-1CHIP consoles. I'll experiment with the tone, maybe that'll be enough to improve readability.
tepples wrote:DOMINIC isn't supposed to represent the hot glue sculptor we know as Drakon, is he?
Huh? :?: :?: :?: Even though I'm not quite sure I understand the question, the answer is probably no.
tepples wrote:Does the FENNEC PUPPET become a FENNEC REAL, um, KIT later on?
tepples wrote:What kind of cultural process produces names like Gregory Perpetuus Ebenezer Hrabanus Eindhoven Dubois Quaoar van der Muhlhausen Nido sulle Colline Jr.? A name that long might result from a patronymic chain, as seen formerly in Wales and among the gnomes of Dragonlance, but how else?
I can't find any spoiler tags, so I can't tell you here and now. (Look here for my notes on playable characters, which – spoiler alert! – will answer your questions. ;) )
tepples wrote:Some blinking dots in the H-IRQ test. It only happens on some resets though.
The fancy H-IRQ stuff is indeed a bit unstable. I've thought about scrapping it altogether, or patch up the area where flickering typically occurs with some sort of sprite-based window decoration. In any case, the final design of the main menu is yet another thing to work on. ;)
tepples wrote:Try drawing that map with interlace turned on. On "odd" frames, draw at distances halfway between the distance you're using for each scanline. This should reduce some of the shimmer in far areas.
Thanks! Will give that a shot once I find the time (and am done figuring out how to do smooth Mode 7 rotation, and a flexible way to zoom in and out).
tepples wrote:For things that are suposed to stick out of the ground, such as that tower, try using software-shrunk sprites. I've posted a demo of this technique in the NES section.
Thanks, but pretty much all the graphics in the current build is placeholder artwork (in case of the Mode 7 map, it's ripped from Illusion of Gaia's intro). I envision the Mode 7 landscape to be drawn from a seemingly much higher distance, where no tall objects penetrate the atmosphere (think Secret of Mana). :P
tepples wrote:When I saw the still of the sprite animation test, I imagined a 6- or 8-frame jog, but when I tried it, I got a typical RPG Maker 1232 walk. Would smoother walking be hard? I wonder if you could use Star Fox Adventures as a rough model for the angles and such.
What you see in the current build is my very first attempt of a sprite animation algorithm. ;) Indeed I plan to do a 6- or 8-frame animation at some point. VRAM space for sprites is very limited though, so I'll have to find a way to reload character data at will (maybe DMA the required section of the spritesheet into VRAM during Vblank whenever the player changes the walking direction or something …).

Another reason for the current 3-frame walking animation is that I couldn't find any usable Furry character spritesheet except for Gengen's, from Suikoden II. :P

(Star Fox Adventures? Isn't that a 3D game? :?: :?: :?: )
Espozo wrote:Out of curiosity, do you know what emulators use? Also, how is it that you can have a PPU2 reversion 3 when, to my knowledge, there was never even a 2?
Yes, there was a version 2 PPU2. :)

Here are the currently known SNES chipset revisions (likely complete):

v1/1/1
v2/1/1
v2/1/2
v2/1/3

I have at least one console of each chipset revision in my possession, so … :D

Thanks again, y'all! :)

Ramsis

Re: New SNES game in development: Furry RPG (working title)

Posted: Sat Jan 31, 2015 11:46 am
by Drew Sebastino
Ramsis wrote:Here are the currently known SNES chipset revisions (likely complete):v1/1/1v2/1/1v2/1/2v2/1/3
According to http://superfamicom.org/console-serial-database, there's also a 0/0/0.
Sorry to get off topic.

Oh, by the way, I fixed up your profile pic to get rid of the white lining because it was freaking me out! :shock: (I have OCD.) Sometimes, Photoshop just doesn't "cut" it. (see what I did there? :wink: ) :roll:
Profile.png
Profile.png (16.92 KiB) Viewed 22226 times

Re: New SNES game in development: Furry RPG (working title)

Posted: Sat Jan 31, 2015 12:40 pm
by Ramsis
Espozo wrote:According to http://superfamicom.org/console-serial-database, there's also a 0/0/0.
Sorry to get off topic.

Oh, by the way, I fixed up your profile pic to get rid of the white lining because it was freaking me out! :shock: (I have OCD.) Sometimes, Photoshop just doesn't "cut" it. (see what I did there? :wink: ) :roll:
Thanks, Espozo. Not meaning to be Mr. Know-it-all, but I'm not using Photoshop but The GIMP for graphics editing. And believe me, 0/0/0 chipset SNES consoles don't exist – apart from perhaps as an awkward consequence of a poorly done MySQL implementation. :)