Page 9 of 17

Re: Newcomer to NES programming

Posted: Tue Dec 09, 2014 1:53 am
by Alp
I blocked out some basic wall tiles for dungeon layouts. 32 tiles and two palettes are used so far.
The water and the floor share one palette.

Image

No sprites yet. I'm undecided on the style. Dragon Quest-like? (4-directions) Or still images?
This simple sort of layout is roughly what the map generation will produce.

I'm currently doing some low-level benchmark tests, in C.

Re: Newcomer to NES programming

Posted: Tue Dec 09, 2014 6:00 am
by tokumaru
This color scheme is great!

Re: Newcomer to NES programming

Posted: Sun Dec 14, 2014 7:57 pm
by Alp
Oops! I didn't show this here until now. :oops:

This is the 4th boss for Cat Quest, using the last 14 tiles.

Image

Completely possible on the NES, as long as I keep track of the neck segments, and clear unneeded sprites as the boss moves its head down, to prevent flickering.

Re: Newcomer to NES programming

Posted: Mon Feb 02, 2015 1:22 am
by Alp
I've been on some new anti-anxiety medication, and couldn't sleep last night.
I ended up digging up Legacy of the Wizard, and gave it a playthrough on my NES.

I wanted to try the style out, and this was the result:
Image

36 tiles so far. The torch and its holder are sprites.
It may not be correctly aligned to the attribute grid, this was just a test screen.

The bad name, was just a pun. Poking fun at my inability to name things. Heh.

Re: Newcomer to NES programming

Posted: Mon Feb 02, 2015 11:29 pm
by Myask
It's as though one of your felines was naming things. bad pun
Alp wrote: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.)
You know Z1 had the dungeons mingled in mapspace, such that for all 9 dungeons, only two 8x16 maps were used? (Just, different portions.)
Alp wrote:The idea, is to potentially program a fully functional rogue-like game on the NES.
Complete with seed-based level generation.
Rogue itself was one-way. (Consider the difference between SMB3 and SMB1.)Nethack-alikes would be devilishly hard, because its addition to the genre was saving the entire dungeon, not just the floor you're on.

"fully-functional" could mean a lot of things, unfortunately.
Alp wrote:[snip]I'm undecided on the style.
Well, for one, you never need to store the outer wall.

Don't forget to allocate screen space for status.

But really, so long as you don't allow geo-mod (or rationalize "dungeon fixing-crews"), you only need to store ONE thing about each level's layout, to remember the walls (and stair-locations): the seed. (You'll want to have the monster, loot, etc. generation separate, in this case; though traps might be desired to be left in.) Then, you just have to store some number of monsters/objects per dungeon level. Now, you can trim monsters down a bit by assuming they heal up when you leave, but if not, X/Y/HP/ID; items would similarly be in X/Y/quantity/ID. As long as you don't have splitting/breeding monsters, t

Of course, what WILL be likely-to-be-stored in a roguelike is a "seen" map...this can be cut down if we have discrete rooms, to just a few "did they see this room" flags. A maze, however, one can simplify to "did they visit this intersection", to get a 4x or better reduction...

side note: cq4.nsf has been playing in the background for a while and I took no notice. Seems good and unobtrusive and exploration-esque.
floor and wall
And water?
As for dungeon graphics, 32 tiles is a good number; because it'd be a neat bankable slice, once you leave NROM's non-mapper behind. Mind, doors don't seem to be present, as far as common dungeon objects go...

Re: Newcomer to NES programming

Posted: Tue Feb 03, 2015 5:42 pm
by psc
What is with the abundance of cat-themed homebrews? Nomolos, Super Bat Puncher, and now Cat Quest? I've seen other projects that star cats as well. Am I the only one that notices this?

Love your art style by the way. Looking forward to seeing more and being able to play your games on my NES.

Re: Newcomer to NES programming

Posted: Tue Feb 03, 2015 6:25 pm
by tokumaru
psc wrote:What is with the abundance of cat-themed homebrews? Nomolos, Super Bat Puncher, and now Cat Quest?
I guess... programmers love cats? I know I do, and I also have a cat-themed project.

Re: Newcomer to NES programming

Posted: Tue Feb 03, 2015 8:13 pm
by tepples
psc wrote:What is with the abundance of cat-themed homebrews? Nomolos, Super Bat Puncher, and now Cat Quest?
It's not just console homebrew. Syobon Action, a bunch of SFCave clones starring Pop-Tart Cat, all these...

It's not like there aren't cat-themed official games. A Week of Garfield, Onyanko Town, Felix, Rockin' Kats, The Lion King, Too Cool to Fool, Bubsy, The Cat in the Hat, Super Mario 3D World... Not to mention games where the bad guys are cats, like Wing Commander and Panel Action Bingo.

Pogo Cats and Zero Wing don't count.

Image
WHAT YOU SAY !!

Re: Newcomer to NES programming

Posted: Tue Feb 03, 2015 9:43 pm
by Alp
Myask wrote:You know Z1 had the dungeons mingled in mapspace, such that for all 9 dungeons, only two 8x16 maps were used? (Just, different portions.)
It's not really a huge issue, the game uses an area index to figure out which room to load, based on the player's X,Y on the local map. No "map space" needed. It's all indexed.
Myask wrote:Rogue itself was one-way. (Consider the difference between SMB3 and SMB1.)Nethack-alikes would be devilishly hard, because its addition to the genre was saving the entire dungeon, not just the floor you're on.
I have a solution to "storing" the floors, actually. I was studying how several games encode/decode their password data, and I could apply an offset to the generation seed, whenever the player goes up or down a floor, using a shift byte. Seed generation can create the same data, if done properly.

Speaking of--
The seed will be displayed on-screen to the player, on dying/completing the game.
Because a community playing rogue-likes and exchanging difficult map seeds, is something I miss dearly.
Myask wrote:"fully-functional" could mean a lot of things, unfortunately.
In the case of my rogue-like, by fully functional, I mean that it will use seed generation, and the entirety of floors will be generated by the seed.

Room "patterns" (pre-built rooms) will be used very scarcely. Mostly for shops and such.
No "same 3 rooms in a row", as is common in, say, Rogue Legacy.
Myask wrote:Don't forget to allocate screen space for status.
Didn't get around to that part, yet.

Myask wrote:But really, so long as you don't allow geo-mod (or rationalize "dungeon fixing-crews"), you only need to store ONE thing about each level's layout, to remember the walls (and stair-locations): the seed. (You'll want to have the monster, loot, etc. generation separate, in this case; though traps might be desired to be left in.) Then, you just have to store some number of monsters/objects per dungeon level. Now, you can trim monsters down a bit by assuming they heal up when you leave, but if not, X/Y/HP/ID; items would similarly be in X/Y/quantity/ID. As long as you don't have splitting/breeding monsters.
The seed will be capable of generating the entry/exit locations. Rooms are created based on a set of rules, location, number, min/max size, and potential for treasure/traps.

Splitting monsters would be handled the same way scrolling an enemy on-screen works in most other games, the game may place one, and it may freely split when taking damage, but only if there's a sprite slot available for it.

Myask wrote:Of course, what WILL be likely-to-be-stored in a roguelike is a "seen" map...this can be cut down if we have discrete rooms, to just a few "did they see this room" flags. A maze, however, one can simplify to "did they visit this intersection", to get a 4x or better reduction...
Huh... I hadn't considered intersections! I just made a note in the project file. Thanks for the suggestion! I have an idea, based on something I wrote for Cat Quest's engine.
Myask wrote:side note: cq4.nsf has been playing in the background for a while and I took no notice. Seems good and unobtrusive and exploration-esque.
It's funny you've been listening to cq4, specifically. As I've been listening to that song, whenever I work on the overworld screens!
Myask wrote:As for dungeon graphics, 32 tiles is a good number; because it'd be a neat bankable slice, once you leave NROM's non-mapper behind. Mind, doors don't seem to be present, as far as common dungeon objects go...
Didn't get around to doors, and trap graphics, quite yet. A few may also be "invisible" depending on the player's stats/class. :twisted:

...Why would I leave NROM?! O_O
Extreme restrictions, are so much fun! =D

Update on Dragon Slayer clone:
I worked on some outdoor locations, and I was stingy as hell with the tiles, when possible.
I have 66 BG tiles left, and I've only drawn a few sprites so far.
I intend on fleshing out that cave background, later.

Image

Re: Newcomer to NES programming

Posted: Tue Feb 03, 2015 9:54 pm
by tepples
For being "stingy as hell", that looks pretty dang good.

Re: Newcomer to NES programming

Posted: Wed Feb 04, 2015 7:26 am
by tokumaru
Top notch!

Re: Newcomer to NES programming

Posted: Thu Feb 05, 2015 10:01 am
by DragonDePlatino
Fantastic stuff! I loved how you used warm/cool colors to separate the fields of your cave mockup.

Re: Newcomer to NES programming

Posted: Sun Feb 08, 2015 2:05 pm
by Alp
Did some more tilework, and drew some more sprites. I'm in need of 6 additional tiles to finalize the cave background, so I've been working on simplifying/moving some things.

I moved some of the interactive tiles into the sprites to get them out of the way.
Pushable blocks, Readable tablets, Doors, etc.
I'm still a few tiles short. Argh.

Also--
I worked on a title screen for this one! Rather than making one as a last minute thought. :P
Image

Re: Newcomer to NES programming

Posted: Sun Feb 08, 2015 2:47 pm
by tepples
TIP: If needed, you can put the "LEGACY OF THE FELINE" tiles in an unused part of the other pattern table and use a sprite 0 split to combine them with the title screen's menu and copyright notice text.

Re: Newcomer to NES programming

Posted: Sun Feb 08, 2015 3:18 pm
by tokumaru
The title screen isn't nearly as good as the rest of the graphics... Big text is always hard, in most cases it ends up looking dull unless you use a lot of tiles.