Jump to content

Isometric Survival Horror

Orab Games

Recommended Posts

Moved to VGS Forums. I have not picked this back up, just porting over threads from NA.

Game Title announced. The Gift Of Discernment - Maybe 🙃

Hey everyone! I have a HUGE update on this project. We are welcoming @FrankenGraphics to the team to do the graphics. We are very excited about this addition to the project and would love to share 2 drawings that have already been mocked up!

RPqEWSt.png  dSvEfuw.png

So please, join us in welcoming FrankenGraphics to the project! I can't wait to get these worked into the game!

Update to the project! You can now change rooms, somewhat. I was planning to wait until it the routine was more complete, but I was too excited not to share right now!

I have implemented a "slide" mechanic when only one of the 2 collision points sees a collision. Other work was done as well to this update, but it was all menu and screen stuff.


It doesn't seem like much of an update, but a lot of code changed in the background to make the character sprite interact properly with the background collision code.
-Character object now has a bounding box that checks 4 hit points for background collisions. All done at the Cartesian map level.
-Figured out how to do subpixel movement to slow down the charater's movement. This will also allow me to change the speed during game play if I desire that down the road. This was a challenge as I need to move 2 pixeld on every 4th frame. All the example code would only move you 1 pixel per X frames, which would create a "bouncing" effect of our Isometric character instead of the smooth diaganol that you see in the video.
-The main character now changes its tiles to appear to be facing in the direction it is moving.
-I changed the Cartesian sprite from 2 boxes to 1 box.


Original Post


Here is a short video of what I have been working on lately. What you see here is an Isometric (3d) view of the playing area with an 8x2 tile sprite and the Cartesian (2d) view in the upper left corner with a 1x2 tile sprite. The Cartesian view is for display only as I work out sprite movement and background collision detection. Once that is all working, I will take it off the screen and that part will operate completely unseen in the background. All updates to the sprites are done in the Cartesian view and then converted to Isometric view to to show on the screen.

As you watch the video, you can see how the X and Y axis lay on the Isometric background compared to the Cartesian map. The lightest squares on the Cartesian map represent 8x8 pixel tiles that cause collision. The checkerboard pattern area represents the playing area when the character can move freely. What you can't see is the upper row of collision tiles as the NES doesn't show the first 8 rows of pixels on NTSC screens.

As to what the genre of the game will be, I am going with Survival Horror. The Silent Hill series in one of my favorite, so I want to try to bring that style to the NES. How will I pull it off? I haven't a clue. What is the story line? Up in the air! All I know is that it will be a huge challenge and a lot of fun to make!
Edited by Orab Games
  • Like 3
Link to comment
Share on other sites

Homebrew Team · Posted
42 minutes ago, arch_8ngel said:

Honestly, making a Shadowrun-style adventure game on the NES would be awesome.

Though I'd update the combat to be turn-based -- that is really my only gripe with the SNES game.

Honestly, if you just rigged it to use the SNES mouse, it would be amazing (at least for combat and exploration).

  • Like 1
Link to comment
Share on other sites

4 minutes ago, FrankenGraphics said:

Thanks for the opportunity to work on this awesome project! ❤️ If things change, you know where to get me.

Here's another room with a conceptual smooth light on/off transition effect.  


I apologize again that this hasn't worked out as planned. I am really disappointed about this. I am very excited about the other projects you working on!

I never did figure out how to pass character objects behind background objects, but once that hurdle to cleared, I think the rest shouldn't be hard to figure out. I still can't figure out how they did it in Solstice.

Link to comment
Share on other sites

No hard feelings at all, it was a very rewarding experience in of its own to work with you and develop some new skills on top of that 🙂

Yeah it's a mystery to me as well. Like, i get that they're cascading metasprites to stream directly into memory so they take turns updating one each frame. But beyond that i'm at a loss. They must have some conditional nulling out pixel data as it is uploaded? Maybe in a buffer, idk.

Link to comment
Share on other sites

Me neither.. But because of the isometric perspective, we can at least always assume it is going to mask 2 pixels at a time on that line, which leaves us with two decisions per byte (since each pixel is 2 bits x 2 pixels = 1 nybble). So there can really only be 4 outcomes per byte; leave all intact, leave left intact, leave right intact, mask out all. Maybe that can be narrowed down depending on object position? a modulo operation should at least be able to filter out unnecessary decisions..?

Somehow it feels like it is just comparing to a 1-bit masking table, though, and the table is offset with the object position.

Edited by FrankenGraphics
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...