Page 5 of 17

Re: Newcomer to NES programming

Posted: Sun Nov 02, 2014 3:35 pm
by Nameguy
Hi, made an account because this is looking great.

Image

Here's the optimizations you can (choose to) make if you decide to go 8x8:
- Obviously the removal of symmetrical tiles, vertically or horizontally.
- As Kasumi says, you can remove the head tops for the right-facing sprites if you move them upwards and offset them down at render.
- As DragonDePlantino suggests, you may re-use head tops for swimming.
( You may not, however, remove 90* rotations. )
- The longer sword could use the "swish" effects from the shorter one. Just a loss of a line of pixels.
- The third frame of the "falling into a pit" animation could be replaced by the smallest of the three leaf/feather sprites.
- The fourth frame could be modified to also work as the smallest piece of the snake boss.
- Shaving the top off the bouncy gooey thing saves a tile, I've modified the shine to fit.
- Apply Ms. Felis's optimizations to the pigman.
- If you slightly modify the big horned pig monster's top tiles for his left half, you can use it as the top for his right half. I've made this edit (shoulder pixel).
- The bottom-right of the fire could be replaced by a flipped bottom-left.

(Choices) for the BG tiles:
- I personally doubt you'll ever need a semicolon, and probably not quotes either. Maybe even parentheses.
- You could conflate the S and 5 glyphs, along with 8 and B.

If you go with all of these changes, you will have gained 42 extra tiles: 37 sprite, 5 background.
The snake you made will take up 6 tiles instead of 7, leaving you with 31 sprite tiles. That's probably enough for 2 bosses or 5 enemies.

Image

Re: Newcomer to NES programming

Posted: Sun Nov 02, 2014 4:02 pm
by Alp
Many of those changes to the sprites were already added days ago. Check the CHR post on page 3.
The text ones just seem silly. I don't need new BG tiles.

Re: Newcomer to NES programming

Posted: Sun Nov 02, 2014 7:59 pm
by Nameguy
Haha, well, it seems like I'm useless at graphics so I won't try again.
But I tried write a theme that an RPG like this should sound like.
There is some other music too I want to give.

Re: Newcomer to NES programming

Posted: Sun Nov 02, 2014 8:54 pm
by zzo38
I would have preferred to keep the digits 0123456789 in order and delete letters instead, so you use a 0 where O is expected, and so on. I also don't like conflating the 8 with B, though. However, it is your choice to design how you want it, to see what works best for your program.

Re: Newcomer to NES programming

Posted: Mon Nov 03, 2014 12:30 am
by Sik
zzo38 wrote:I would have preferred to keep the digits 0123456789 in order and delete letters instead, so you use a 0 where O is expected, and so on.
Yeah, I thought about this as well, because then a number drawing routine can draw a number without having to resort to some sort of table (just additions). Even better, move digits before the letters, so you get 0123456789ABCDEF in a row which will let you print hexadecimal numbers in the same dumb way.

Re: Newcomer to NES programming

Posted: Mon Nov 03, 2014 9:38 am
by Alp
Nameguy wrote:Haha, well, it seems like I'm useless at graphics so I won't try again.
But I tried write a theme that an RPG like this should sound like.
There is some other music too I want to give.
Oh! Don't feel that way! You went out of your way to be helpful, and I respect you for that!
I'd like to see what you could come up with on your own, for this kind of stuff.

I checked out your NSF file, you did some very nice work on that! :O
Sik wrote:Yeah, I thought about this as well, because then a number drawing routine can draw a number without having to resort to some sort of table (just additions). Even better, move digits before the letters, so you get 0123456789ABCDEF in a row which will let you print hexadecimal numbers in the same dumb way.
I was actually thinking about this, when starting on a text table. I finished typing the table in only 30 minutes, simple stuff. So it wouldn't be a huge loss to scrap it.

I've seen the text data to the top of CHR files in commercial games, if I were to do this, wouldn't I need to move the font?

Re: Newcomer to NES programming

Posted: Mon Nov 03, 2014 9:47 am
by tepples
The commercial games you're thinking of put digits at the top so that they can write hex digits directly with AND #$0F and LSR LSR LSR LSR without having to ORA or ADC to reach the digits section of the pattern table.

Re: Newcomer to NES programming

Posted: Mon Nov 03, 2014 1:22 pm
by Alp
OneCrudeDude wrote:That dungeon looks really good, probably better than most made for the console! Let's hope this dungeon crawler would be fun and not tedious.
I would hope so! My goal is to make this play much like Dungeon Master, in that you can visually see the monsters patrolling the dungeons. I have the basic framework of a layout "renderer" somewhat started. The dungeon is stored as "screen chunks", that are written to the nametable. somewhat similar to metatiles, but they can be shaped differently.

Unfortunately, I had to remove the brick detail to make this fit into the CHR.
Image
tepples wrote:The commercial games you're thinking of put digits at the top so that they can write hex digits directly with AND #$0F and LSR LSR LSR LSR without having to ORA or ADC to reach the digits section of the pattern table.
So it's a more optimal method, then? Good to know. I suppose I could offset the existing nametable data down by two rows. I tried it with the CHR of my un-started rabbit game, for testing purposes.

Image

For those wondering why my imaged CHR, is often coloured, I use this unfinished program to test palette sets, as palettes can be dynamically applied, as on a nametable.

http://www.sun-inet.or.jp/~tkosugi/nesspr.htm

Re: Newcomer to NES programming

Posted: Mon Nov 03, 2014 7:57 pm
by Nameguy
Alp wrote:ImageImage
Those are looking really good! Are dungeon crawlers particularly hard to write on the NES?

I wanted to give some more nsfs: a rewrite of the last one, a short looping "underwater" theme, and a looping "menu" theme.
I will also give sound effects soon and more level type music.

Re: Newcomer to NES programming

Posted: Mon Nov 03, 2014 8:15 pm
by tepples
I found cq3 just a bit short, and it might get on people's nerves. I extended it a bit for players' sanity.

Re: Newcomer to NES programming

Posted: Mon Nov 03, 2014 11:32 pm
by Sik
Honestly I find cq2 to be way more annoying because of the instrument used.

Re: Newcomer to NES programming

Posted: Tue Nov 04, 2014 9:22 pm
by Nameguy
tepples wrote:I found cq3 just a bit short, and it might get on people's nerves. I extended it a bit for players' sanity.
Sik wrote:Honestly I find cq2 to be way more annoying because of the instrument used.
I will note these, thank you.
OneCrudeDude wrote:Could this game have the same length of, say, Zelda with just two banks of graphics data?
Is the game planned to play like Zelda, with the classic dungeon system? It would be interesting to see how a linear game would perform.

Re: Newcomer to NES programming

Posted: Wed Nov 05, 2014 12:19 am
by rainwarrior
I like cq4.ftm

Re: Newcomer to NES programming

Posted: Wed Nov 05, 2014 11:04 am
by Alp
Nameguy wrote:Those are looking really good! Are dungeon crawlers particularly hard to write on the NES?
Thanks! Dungeon crawlers are not difficult, if you're doing it right.
(Using an X and Y position to check a custom map array (Not the Nametable, that's dumb.), and draw graphics to the screen using a look-up table.)
Nameguy wrote: I wanted to give some more nsfs: a rewrite of the last one, a short looping "underwater" theme, and a looping "menu" theme. I will also give sound effects soon and more level type music.
Oh, wow! Amazing work Nameguy!
If you're serious about helping me with some music, I should probably compile a small list of what I would need for this game. (Freakin' Famitracker lags my machine, like crazy! So I've been unable to do anything.)

On the subject of sound effects, I've never done NES sound before, but I created this nice squeaky "hurt" sound for the player, in NovaSquirrel's nifty SFX editor. As I've at least had tracker experience, before. Not really sure how his sound engine interprets the data. >.>

Code: Select all

Freq.	Vol.
AA	10
0A	85
47	20
BA	00
00	00
00	10
c3	20
00	00
Sik wrote:Honestly I find cq2 to be way more annoying because of the instrument used.
Really? I rather like it. It reminds me of "bath" from Turrican II.
Nameguy wrote:Is the game planned to play like Zelda, with the classic dungeon system? It would be interesting to see how a linear game would perform.
Cat Quest is planned to be much like Zelda 1, with 4 main dungeons, and a larger final dungeon. I've also been keeping my eye on the map memory budget, to potentially add Zelda 3 style caves, so I can "hide" the 3rd dungeon, up on a cliff, out of reach. :wink:

Approximate Map Budget: (all screen data is 16x12, with 16x16 metatiles, using RLE compression.)
Overworld 1x 9x10
Dungeons 5x 8x8 (Not all rooms are used, per layout)
Caves 1x 9x10? (Twisting passages, that can lead to other locations. Or just treasure grottos.)

Re: Newcomer to NES programming

Posted: Wed Nov 05, 2014 6:19 pm
by Nameguy
Alp wrote:Oh, wow! Amazing work Nameguy!
If you're serious about helping me with some music, I should probably compile a small list of what I would need for this game.

Code: Select all

Freq.	Vol.
AA	10
0A	85
47	20
BA	00
00	00
00	10
c3	20
00	00
Cat Quest is planned to be much like Zelda 1, with 4 main dungeons, and a larger final dungeon. I've also been keeping my eye on the map memory budget, to potentially add Zelda 3 style caves, so I can "hide" the 3rd dungeon, up on a cliff, out of reach. :wink:

Approximate Map Budget:
Overworld 1x
Dungeons 5x
Caves 1x
Thank you. I'll guess there needs to be one song for each of those maps and the title theme? Does anyone know the maximum/average size of NROM music? SMB had 6 songs.

I entered that code into the SFX tool but I'm not sure if this is what it's supposed to sound like.

EDIT: Added "cave" attempt #1.