Newcomer to NES programming

A place for your artistic side. Discuss techniques and tools for pixel art on the NES, GBC, or similar platforms.

Moderator: Moderators

User avatar
Alp
Posts: 223
Joined: Mon Oct 06, 2014 12:37 am

Re: Newcomer to NES programming

Post 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.
Last edited by Alp on Sat May 21, 2016 2:49 pm, edited 1 time in total.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Newcomer to NES programming

Post by tokumaru »

This color scheme is great!
User avatar
Alp
Posts: 223
Joined: Mon Oct 06, 2014 12:37 am

Re: Newcomer to NES programming

Post 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.
Last edited by Alp on Sat May 21, 2016 2:50 pm, edited 1 time in total.
User avatar
Alp
Posts: 223
Joined: Mon Oct 06, 2014 12:37 am

Re: Newcomer to NES programming

Post 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.
Last edited by Alp on Sat May 21, 2016 2:50 pm, edited 1 time in total.
User avatar
Myask
Posts: 965
Joined: Sat Jul 12, 2014 3:04 pm

Re: Newcomer to NES programming

Post 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...
psc
Posts: 41
Joined: Tue Dec 11, 2012 1:02 pm

Re: Newcomer to NES programming

Post 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.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Newcomer to NES programming

Post 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.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Newcomer to NES programming

Post 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 !!
User avatar
Alp
Posts: 223
Joined: Mon Oct 06, 2014 12:37 am

Re: Newcomer to NES programming

Post 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
Last edited by Alp on Sat May 21, 2016 2:51 pm, edited 1 time in total.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Newcomer to NES programming

Post by tepples »

For being "stingy as hell", that looks pretty dang good.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Newcomer to NES programming

Post by tokumaru »

Top notch!
User avatar
DragonDePlatino
Posts: 94
Joined: Mon Oct 20, 2014 1:50 pm

Re: Newcomer to NES programming

Post by DragonDePlatino »

Fantastic stuff! I loved how you used warm/cool colors to separate the fields of your cave mockup.
User avatar
Alp
Posts: 223
Joined: Mon Oct 06, 2014 12:37 am

Re: Newcomer to NES programming

Post 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
Last edited by Alp on Sat May 21, 2016 2:52 pm, edited 1 time in total.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Newcomer to NES programming

Post 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.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Newcomer to NES programming

Post 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.
Post Reply