The Prying Eye - Development Thread

Basty

Active member
So what's the plan for life counter and apparently hide and seek elements for this game?
Player's just gonna hide in a spot and then take cheap potshots at monsters and run in to another hiding place?

This has a sorta feeling and opportunity of Resident Evil Gaiden style battle mechanic except with more aim and pew pew than wait and click at a right moment, when something actually starts happening in a game.

Especially 2p mode "Which I always welcome to my NES games or any games ever" heavily suggests that there's going to be some sort of House of the Dead elements in this game if I am not completely wrong about this.
 

CutterCross

Active member
Did quite a bit of more minor fix-ups over the past week and a half. Nothing significant enough to warrant showing, but I implementing a proper input delay between screen transitions, tweaked the controller swapping system to make it a bit more user / programmer friendly, and cleaned up some of the unused variables in Zero Page RAM Joe left in there. As of now most of the fundamental controller mechanics and stuff like text, warping, pausing, transitions, etc. are set in place.

I guess I should probably work on actual content now, huh?
 

CutterCross

Active member
So you remember when I said I'd be working on actual content soon? I guess I lied because I did this instead!

View: https://www.youtube.com/watch?v=1kTTvO8C_3E


I remembered I still had that unused option in the Options menu I was gonna use for a sound test, so that's what I worked on. I may have gone a little overboard... but I think it came out super well. You can cycle through each song / SFX, and each channel of the 2A03 APU has its own volume visualizer.

Also because I have no sanity left, I added in an option to change the visualization style to a pseudo-oscilloscope view. It only monitors the amplitude and duty cycle for each channel, (and even then the amplitude is just an approximation,) but I really like how it all turned out. This is probably one of my favorite things I've done so far with this project.
 

CutterCross

Active member
Small addition to the sound test: I figured out how to directly modify the nametable to display and update the track name. So that's cool. I could probably find a way to apply this to other features down the road.

PE_SoundTest1.gif
 

CutterCross

Active member
There just wasn't enough parallax effects in my intro driving scene, so I added some more:

View: https://www.youtube.com/watch?v=UeQD49NTYzY


I was messing around with adding Sprite 0 hit detection to certain screens, so I thought I'd take the opportunity to spruce this scene up a bit with an extra parallax "layer" in the clouds. But I'm intending to use this for future effects down the road, so it's good to get it out of the way here.

Somehow my NMI hasn't imploded yet haha.
 

Jonny

Well-known member
That extra movement really makes those thunder clouds look furious.
I think you've won the award for most animation effects on one screen. It amazes me how all that stuff can go on at once.
The car itself is looking kinda still now with everything else going on behind it. Is the car part of the background or an object?
 

CutterCross

Active member
That extra movement really makes those thunder clouds look furious.
I think you've won the award for most animation effects on one screen. It amazes me how all that stuff can go on at once.
The car itself is looking kinda still now with everything else going on behind it. Is the car part of the background or an object?
The car is drawn in the Sprite PreDraw script directly. It's not an object, so it doesn't animate. The only actual "object" in a NESmaker sense on screen is the lightning. I have to limit the number of objects on screen to fight against slowdown.

I could animate the car by drawing different animation frames in its CHR space on each of the 4 CHR-RAM banks, similar to how background tiles are animated. But I'm not sure if that's really worth the hassle to implement that into my screen loads for a scene that only lasts around 3 seconds. I'll see what I'll do about it in the future though.
 

Jonny

Well-known member
The car is drawn in the Sprite PreDraw script directly. It's not an object, so it doesn't animate. The only actual "object" in a NESmaker sense on screen is the lightning. I have to limit the number of objects on screen to fight against slowdown.

I could animate the car by drawing different animation frames in its CHR space on each of the 4 CHR-RAM banks, similar to how background tiles are animated. But I'm not sure if that's really worth the hassle to implement that into my screen loads for a scene that only lasts around 3 seconds. I'll see what I'll do about it in the future though.
It looks great at it is. It could actually spoil the scene by having car moving up and down or wheels animating. It sounds like a lot of work for little or no gain, I was just curious. I expect your graphics space is in short supply for this style of game.
 

CutterCross

Active member
It looks great at it is. It could actually spoil the scene by having car moving up and down or wheels animating. It sounds like a lot of work for little or no gain, I was just curious. I expect your graphics space is in short supply for this style of game.
Actually with all the bank cleanup I've done and my decompression routine's ability to load compressed graphics from any bank, right now I have quite a lot of free space for graphics, which I'm definitely going to need down the road. Most of my graphics are likely going to fill the rest of the screen banks' space (banks $00 through $0F). I still need to move them from banks $10 through $12 where NESmaker by default stores its background graphics. Honestly I just want to completely free up as many banks as possible for raw sample data haha.

PE_SpaceCheckerAllBanks2_Dec22_2020.PNG
 

CutterCross

Active member
So I've been recently thinking about further overhauling the load system for the sprite pattern table. For this game, it doesn't really make sense to have the entire 1st half of the pattern table to be a hardcoded static tileset, which is how the GameObject tileset is handled by default in NESmaker's codebase. The 1st half is for game object graphics, the 2nd half is for monster object graphics. But for this project, I really only need the first 2 rows of tiles to be static and present across every screen. So I've come up with this system that'll give me a bit more freedom in how I use the sprite pattern table.

PE_SpritePatternTable_NewTilesetLayout.png

I'm sharing the design behind this now because there's really no sense in waiting for it to be implemented, as there's not really going to be much of a way to show it off until I can create an in-game scenario to utilize it. This is more just preparing for the future.

I'm going to have the first 2 rows of the pattern table be its own static tileset. It will remain loaded throughout the entire game, much like how the GameObject tileset is handled by default in NESmaker. The rest of the space that would have been taken up by the GameObject tileset will be its own interchangeable tileset, which I'll be able to manage through the Screen Info window for each screen. This will give me the same sort of tileset flexibility as MonsterObject tilesets. This'll be useful for loading in extra sprite graphics for specific screens. The MonsterObject tileset itself will be untouched, behaving exactly as it does by default, which means its one of the few graphic-related things that still works as intended from the front-end UI.

I think this is a much better pattern table format for this game, and I'll be working on implementing this for the rest of the week. Just thought I'd share the design first.
 

CutterCross

Active member
Just an update: When I said I'd be working on getting that system implemented over the rest of this week, I guess I meant 1 day. It's now fully implemented and working. Now I just need to create some more tilesets to use it with!
 

Jonny

Well-known member
Just an update: When I said I'd be working on getting that system implemented over the rest of this week, I guess I meant 1 day. It's now fully implemented and working. Now I just need to create some more tilesets to use it with!
Cool. So what shows in your screens 'Tileset Layout' now? Does it still have the same selectable presets or is that redundant now in your project? Can you still select other layouts within NM ?
 
Top Bottom