1st Person RPG/Adventure Game

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
1st Person RPG/Adventure Game
by on (#194689)
For many reasons I couldn't find time to develop this game properly. Instead of releasing a half baked game like I did in the previous competition I'll simply forget about releasing it this year. I'm still (slowly) working on it but it'll probably be done next year at best.

See you soon !



Starting early for the next NESDev competition so I have no excuses to deliver a rushed, cut-down game this time.

Very tiny story draft: You're a plain clothed ENFORCER in a future where humans are ruled by an oppressive alien government. They seem to have tremendous power and very advanced technology, yet very few people know what they look like or what is their purpose on earth. They don't seem to care about trivial things such as violent robbers roaming the decaying cities, but interfere with their plans and they'll send an autonomous robot to your doorstep... if you manage to evade the alien bots they have a surprisingly effective way to track you down without getting their hands dirty - that's the ENFORCER's job.

Bring "justice" to "criminals", bring food to the table, live another day... until you decide to become a "criminal" yourself and start fighting against the alien rule.

--

I won't say much about what I want to do with the concept above (since I'll probably change it a lot until the game is finished), but this will basically be kind of a dungeon crawler, with an OK sized overworld that tries to look like a city with buildings, which leads to smaller maps in buildings and dungeons. Some overworld areas and most of the interior maps will have random encounters with gang members and mutant creatures, like the usual oversized RPG rat for example. I'm still trying to figure out how combat will work, I'm thinking about melee only (knifes, blunt weapons, etc.) and a very limited amount of ammo for a handgun you carry (one shot kill for human enemies). For enemies with firearms I intend to have only sub-bosses to have them for the exclusive purpose of implementing a "quick-draw" minigame (the true purpose for having a limited ammo gun), or maybe not if this idea turns out to be crap.


I have made mockups of how the game is supposed to look and I aim to get as close as possible to the screencap below. Doing the 1st person dungeon view like the mockup should not be a problem, double height walls and pits are going to be a nice bonus but I can scrap them if they're not viable to implement (unlikely)... I also intend to add some detail with sprites but not that will make the final game differ too much from the mockups.

I feel like while the visuals are simplistic it conveys the idea of being in a "city" in a convincing manner... I'll later add tiles for doors and sprites for traffic signs to improve the visuals but in my opinion the minimalist art is good, what do you guys think? I'm also avoiding having too much detail so I can simplify programming and fit the game into the competition's memory limit, so keep that in mind.

Image


"RGB CGA" palette version I did just for fun -- maybe I should include this palette as a "PC mode"? :mrgreen:

Image


Mental note: time to relearn huffman encoding for the ingame text compression.
Mental note #2: time to redeem myself from the abysmal attribute handling I did for Brick Breaker (aka NONE).
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#194721)
I'm loving this concept! I totally dig these kinds of games even though most of the existing ones from the 80s were quite horrible. I'm getting a strong Shin Megami Tensei or Snatcher vibe already. Will definitely be following this closely.

It's also great that you decided to include a map.
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#194744)
I also think this is a great idea. Nice graphics. Good work.
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#194779)
Punch wrote:
double height walls and pits are going to be a nice bonus but I can scrap them if they're not viable to implement (unlikely)... I also intend to add some detail with sprites but not that will make the final game differ too much from the mockups.

"RGB CGA" palette version I did just for fun -- maybe I should include this palette as a "PC mode"? :mrgreen:

Ooh, a classic dungeon crawler!? I had one of those in the works a while back, but I haven't had the time to work on it.

What about triple height walls? :P
Image

Okay, I love that CGA palette! That's awesome.
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#194782)
Thanks everyone :D

Alp, those screens look amazing... I'm starting to reconsider the look of my game now :lol: I also love how flexible your design is in regards to wall three dimensionality, but I feel like there are too many unique tiles required to draw all possible screens due to pattern overlap. How many tiles did you spend on your screens?

I need to find a decent tool to create art, even something like a 1-point perspective corridor is difficult to draw using NES Screen Tool or YY-CHR.
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#194818)
I quite like this project.

As for drawing art, I'd choose any pixel art tool, there are plenty, and then build conversion scripts which work directly with png or bmp files. That's a very important part of my toolchain - having automatic conversion & import of graphics makes your job way easier. You can comfortably retouch a couple of pixels or even change palletes, then recompile and see your results within seconds.
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#194827)
There goes my surprise advantage :P
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#194828)
Is that raycasting?
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#194833)
Tyrannosaurus Tex style, it seems!
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#194863)
Yeah, mine is a realtime moving raycaster, but if we're getting three 3d games already, that drops the uniqueness points for us all :s
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#194869)
calima wrote:
if we're getting three 3d games already

If I don't end up joining with my own raycaster, that is! :lol:
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#194885)
The more the merrier!
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#194889)
Punch wrote:
I need to find a decent tool to create art, even something like a 1-point perspective corridor is difficult to draw using NES Screen Tool or YY-CHR.


I use GIMP to draw graphics, then use makechr to convert to NES format. makechr is cross-platform, has a gui and command-line version, runs quickly, and has lots of options and features for how to process images.
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#194929)
inb4 the new compo only accepts 4-player 3d games under 7k
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#194932)
That actually made me LOL
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#194938)
calima wrote:
but if we're getting three 3d games already, that drops the uniqueness points for us all :s


FWIW I feel uniqueness should be judged against all games prior to the compo, not against entries in that compo. Pulling off decent 3D on the NES is exceptionally unique regardless of how many entires coincidentally pulled it off in that year's compo.

It's also about the game play in general, 2-3 different games which happen to use 3D can be completely unique from each other. Just as platformers can be very unique from each other as we saw last compo.
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#194993)
calima wrote:
Yeah, mine is a realtime moving raycaster, but if we're getting three 3d games already, that drops the uniqueness points for us all :s


calling dibs on developing a 4D NES game. :mrgreen:
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#194994)
Punch wrote:
Thanks everyone :D

Alp, those screens look amazing... I'm starting to reconsider the look of my game now :lol: I also love how flexible your design is in regards to wall three dimensionality, but I feel like there are too many unique tiles required to draw all possible screens due to pattern overlap. How many tiles did you spend on your screens?

I need to find a decent tool to create art, even something like a 1-point perspective corridor is difficult to draw using NES Screen Tool or YY-CHR.

Heh, thanks!
I was inspired by the visuals in "Hired Guns", on the Amiga, and wanted to take a stab at wall height variation.

Uh... It's been a while, but I seem to recall slightly tweaking the brick patterns to tile better at some point, and getting it down to 180-something tiles, more than enough room left for a basic interface (font + frame). Unfortunately, after finally upgrading to a new computer, I'm not really sure where the "NES improved" version of the CHR ever went.

infiniteneslives wrote:
FWIW I feel uniqueness should be judged against all games prior to the compo, not against entries in that compo. Pulling off decent 3D on the NES is exceptionally unique regardless of how many entires coincidentally pulled it off in that year's compo.

It's also about the game play in general, 2-3 different games which happen to use 3D can be completely unique from each other. Just as platformers can be very unique from each other as we saw last compo.

This is a fair point. My own game was going to have dungeons built out of large cubes, allowing me to take advantage of the height variation, to create interesting environments, and Dungeon Master-like puzzles, with more obvious solutions (pushing walls to make bridges, anyone?). I haven't touched the project since I got the basic map parser working, though.

The game would have had "real-time" combat, in a similar fashion to Dungeon Master.
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#194995)
I was actually going to make a 3d game and a dungeon crawling game too. Fuck.
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#194997)
The amount of dungeon crawlers on the NES are far too few. I certainly wouldn't complain if a compilation came out that just happened to have a few new ones on it.

Also, game looks great so far, and I dig the CGA color mode option as well.
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#195000)
calima wrote:
There goes my surprise advantage :P
calima wrote:
Yeah, mine is a realtime moving raycaster, but if we're getting three 3d games already, that drops the uniqueness points for us all :s

In my opinion, a "Swords and Serpents"-style dungeon crawler and a "Wolfenstein 3D"-raycasting game are different enough, so that this doesn't seem redundant. After all, it's totally different techniques and a different gameplay feeling.
I personally would really like to see a full raycasting game on the NES.

(By the way, what is the third 3D game?)
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#195016)
Alp's.
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#195037)
O.k.
I didn't understand his post as an indicator that he is actually planning to do such a game for the competition, only that he did something like that once.
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#195055)
8-bit dungeon crawling? It'd probably sound something likeā€¦
https://www.youtube.com/watch?v=erbRR9igsOQ https://www.youtube.com/watch?v=7XlWOOZ-O7E
;)
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#195615)
I meant to post this last week, and forgot, oops.
For those curious on how to make a dungeon crawler with depth, here's a quick demonstration.

First, measure a floor grid as usual, drawing lines to a vanishing point.
Image

Drawing the walls is easy, just draw a vertical line at the edge of each cell, like this.
Image

For simplicity, I've done all the measurements, and here's the final result, for a standard wallset.
Image

Now, to add depth, just rotate the guidelines by 90 degrees, and lay it over the regular walls.
Image

You now have a cubic wall grid!
Image

For this example, I recreated one of my old screens, using this method.
Image

Once the guidelines are removed, this example only uses 57 tiles!
Image

I could see somebody clever managing a Gold Box-like game within NROM limitations, and still having decent visuals.
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#195619)
Oh wow, thanks for posting that! I'll use it as a guideline... had no time to work on it to be quite honest but that should change soon.
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#196154)
Update!

Thanks to Alp I managed to pin down the 1 point perspective for my game.

Image

Wireframe dungeon with columns that I came up with when experimenting. It looks cool, I'll probably use a wireframe dungeon for something in my game.

Image

Probably final Pattern ROM + palette configuration. I was trying to have each floor square have their own unique color but the transitions complicated everything, I could have had two distinctly colored floors but the UI would have had to reuse a color from the dungeon screen. Eww no. Right now I can have 6 different wall colors, a sky and ground (one of them is black), so it's all good.

The far left/right walls occupy a lot of pattern ROM space so I decided to only have walls with entry #1 as their color... if the walls follow the "Black; Dark tone; Light tone; Sky" rule for their palettes it's ok, but if I really need to have all 6 colors to be dramatically different from each other I can just eat the pattern ROM cost and duplicate their wall tiles with the second color. For double tall blocks I'll just cheat and do a "shadow" transition with black to go around attribute clash, don't want to create yet another set of tiles.

By the way, the far side walls look like fences because that was an failed attempt at dithering to make the wall look darker. :P


Guess I have the screen arrangements well defined, time to start coding. :beer:

edit: I can't believe I didn't mention this yet... for those who are wondering, the sample text is not something I came up with, I just used my favorite videogame quote: http://68.media.tumblr.com/502770bc588f ... o1_500.gif
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#196157)
The wireframe with columns does indeed look really cool!
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#196159)
Man, this looks awesome. Great job!
Re: 1st Person RPG/Adventure Game - Progress Thread
by on (#196169)
The wireframe dungeon made me think indoor scene, where the vertical elements are poles, pillars, or whatever holding up the ceiling of an abandoned warehouse, parking garage, or whatever.
Re: 1st Person RPG/Adventure Game ON HOLD -- see you next y
by on (#207238)
Mods, move this one folder up to "Homebrew Projects", please. This isn't a competition thread anymore.
Re: 1st Person RPG/Adventure Game ON HOLD -- see you next y
by on (#207243)
Are you still working on it?
Re: 1st Person RPG/Adventure Game ON HOLD -- see you next y
by on (#207244)
I somehow forgot to say; what you've got so far looks amazing. I really like this one, so i hope to see this in next years', or even outside the compo.
Re: 1st Person RPG/Adventure Game ON HOLD -- see you next y
by on (#207313)
pubby wrote:
Are you still working on it?


I am! I'm mostly working with the game's design on paper now than with code but it's (slowly) progressing.

FrankenGraphics wrote:
I somehow forgot to say; what you've got so far looks amazing. I really like this one, so i hope to see this in next years', or even outside the compo.


I'm glad you liked it, thanks :)
I'm not sure if this is going to be for the compo, maybe I'll submit it under Cat. #2 if they can actually fit my game into the cartridge because I'm almost sure that it will be very difficult to keep 32k as a size ceiling for my game.
Re: 1st Person RPG/Adventure Game ON HOLD -- see you next y
by on (#207335)
Wow this looks amazing ! I've been missing this so far because I don't look into the compo forums. I think it's probably a better usage of raycasting than a first-person shooter game, since

1) I don't personally like fist person shooters
2) It would be too slow for an action game anyway.
Re: 1st Person RPG/Adventure Game ON HOLD -- see you next y
by on (#208326)
Bregalad wrote:
Wow this looks amazing ! I've been missing this so far because I don't look into the compo forums. I think it's probably a better usage of raycasting than a first-person shooter game, since

1) I don't personally like fist person shooters
2) It would be too slow for an action game anyway.


It's not raycasting though, I'm just composing the screen with predefined tile maps for each possible viewing angle / distance of a wall.

Edit1: I tried to do an arbitrary 3-color wall texture with all prerendered angles fit into 128 characters but failed. Too bad. Guess I'll just use the plain look for now.

Edit2: Change of plans... I'll probably make Bank 1 the minimap + status bar + dungeon display graphics and use Bank 2 for the full text character table + sprites. Since I'm only displaying text on the bottom of the screen (the status bar shows stuff too but I'll change that soon) I'll just rely on Spr0 interrupt to swap banks, just like Pool of Radiance. (I wish my game could be as pretty as that one). Is there a UNROM like cartridge with bankswitchable Character ROM? That would be handy.

My test wall leaves as much as 90 characters free but I chose to use only 64 characters for the sidebar. I'll probably remove all text and leave only the needed characters for truncated indicators (HP DEF MAP), the symbols for the minimap and numbers 0-9. This makes dungeon graphics significantly less limited than the scheme I was using which allowed only for 128 chars. I'm arranging my wall renderings in a 256x240 bitmap with aesprite so I can just import it into shiru's NESST to get a character table without redundant tiles. It's a pain in the butt but I don't feel like writing tools for this right now :lol:

This is the wall graphics I've made (WIP):
Image

As you can see the palette is quite nice, which by the way was a fatal mistake, it's hard to make it look that good on the actual NES palette... It looks ok if I use the two darkest grays (as it is intended to be a concrete wall) or gray + dark green for the highlight color which makes it look like a wall with moss/sludge (don't know the exact word).
Re: 1st Person RPG/Adventure Game
by on (#208338)
Quote:
As you can see the palette is quite nice, which by the way was a fatal mistake, it's hard to make it look that good on the actual NES palette... It looks ok if I use the two darkest grays (as it is intended to be a concrete wall) or gray + dark green for the highlight color which makes it look like a wall with moss/sludge (don't know the exact word).
How about the palettes when color emphases are on?
Re: 1st Person RPG/Adventure Game ON HOLD -- see you next y
by on (#208375)
Punch wrote:
This is the wall graphics I've made (WIP):

These walls looks good so far!

I initially thought that the horizontal lines weren't perspective-aligned, but a quick measurement shows that I was mistaken.
It was likely those thicker lines throwing off my eyes.

I'll post my measurements, just on the off chance that they're helpful in some way:
Image
Re: 1st Person RPG/Adventure Game ON HOLD -- see you next y
by on (#208389)
Punch wrote:
Is there a UNROM like cartridge with bankswitchable Character ROM? That would be handy.

There are two: UNROM 512 (30) and Holy Diver (78.3).
Re: 1st Person RPG/Adventure Game
by on (#208424)
Many more than just two
Re: 1st Person RPG/Adventure Game ON HOLD -- see you next y
by on (#208761)
Alp wrote:
Punch wrote:
This is the wall graphics I've made (WIP):

These walls looks good so far!

I initially thought that the horizontal lines weren't perspective-aligned, but a quick measurement shows that I was mistaken.
It was likely those thicker lines throwing off my eyes.

I'll post my measurements, just on the off chance that they're helpful in some way:
Image


Thanks a lot! I used a similar scheme on Aseprite to do perspective correct drawings for the walls, I have a separate layer full of measurement and adjustment lines, but it doesn't really come close to your grid(s).

I'm trying to progress on my project but my life has become very busy. Maybe I'll be able to work on it in december.
Re: 1st Person RPG/Adventure Game
by on (#212138)
Just when I was going to finish up my dungeon editor my laptop keyboard stopped working properly. A Russian OEM keyboard is coming from China as we speak now :lol:

Anyway... most of the work on the game this week was on defining how maps and pre-built wall assets are represented in ROM, as well as writing tools so I don't have to deal with the weirdest pipeline of Aseprite -> .bmp -> NESST import -> Export manual selections to ASM -> Pasting and labeling uncompressed data.

How am I gonna encode the levels? If I simply do a 16x16 array I'll have 256 bytes per map, which can be reduced if I represent each cell ID with 2 bits (I'll probably won't be able to fit more than 3 different wall types on 256 characters anyway...), giving us 256/4 = 64 bytes per map. If I need more distinct tile types I could just double the ID size and get 128 bytes per map, 16 different wall types (which I'll probably need since I'll use 2 different IDs to represent door cells in the north/south and east/west direction). For specific indicators (door locked/open, event trigger, treasure chest, etc.) I could simply do a second 16x16 array with RLE compression to indicate which cell does what, the RLE compression would work well since I imagine most cells would have ID 00 (aka just your usual floor/wall). edit: I was considering representing the mazes' walls by the grid lines instead of whole cells (like DDS) but I feel like it's not the best approach here.


16x16 seems satisfactory enough but I wonder how Digital Devil Story 1 has such large maps, with doors, warps, items, events, special tiles... I mean this is a 24x32 level for christ's sake, how annoying this must be to make fit on a cart and to run logic on top of since the whole map is probably way bigger than 256 bytes :lol: , not to mention this is not the only map in the game (hint: there are several)

Image


Postscript: I'm very sorry for the boring update, I was writing a huge discussion on map representation since I wasn't sure how I was going to approach the problem but the optimal answer became clear during writing. Rubber duck problem solving? :P
Re: 1st Person RPG/Adventure Game
by on (#212340)
Punch wrote:
16x16 seems satisfactory enough but I wonder how Digital Devil Story 1 has such large maps, with doors, warps, items, events, special tiles... I mean this is a 24x32 level for christ's sake, how annoying this must be to make fit on a cart and to run logic on top of since the whole map is probably way bigger than 256 bytes :lol: , not to mention this is not the only map in the game (hint: there are several)

Hmm... not quite?

If that map is bit-packed, with X/Y separation, that'd come to about 192 bytes, possibly less, if they omit the map edges. (assumed solid)
I'd imagine that certain map elements like warps, items, and events, are possibly in a separate object list? That'd be the best way to do it.

My own dungeon crawler, does each of these things! :P



EDIT:
Whoops! I misread my 6+ year old notes, and made a mistake in the math.

The actual data size for a 24x32 map, would be:
X: 184 bytes, on the X axis (8x23)
Y: 186 bytes, on the Y axis (6x31)

Not as small as initially thought, but still less than 256 bytes, on each half, as previously stated.

Here's a handy chart, showing how the X/Y coordinates are separated. Every 4 lines is 1 byte.
Image
Re: 1st Person RPG/Adventure Game
by on (#212405)
That's the model I was going to use but decided against it, yeah, but actually (and I'm quite embarassed to admit) I didn't know about bitpacking. Seems like the perfect way to compress these maps, thanks for the help, again. :beer:

By the way you should totally finish your game, I'm curious to see how yours would look and play... it would also be nice to have something to compare to :mrgreen:

edit: by the way, I already have the dungeon editor working but in a very rudimentary state, Human-Computer Interaction wise. :lol:

Image

I still didn't implement the main feature (and the reason for the editor) which is a bmp to bin & labeled asm for my prerendered walls. As I said before it's too cumbersome to import the Aseprite bmp into NES Screen Tool, only to have to carefully select columns of tiles from the tilemap and export one by one through the "copy asm to clipboard" option. In fact if it were just for the dungeon editor I could just use Excel and a script to convert csv to bin.
Re: 1st Person RPG/Adventure Game
by on (#212413)
Bitpacking works, but it's slow enough on the NES to be an issue if you need several lookups per frame. My compo game does use it, since there was no other way to fit a map of that size otherwise, but did it require optimization and inlining.
Re: 1st Person RPG/Adventure Game
by on (#212489)
calima wrote:
Bitpacking works, but it's slow enough on the NES to be an issue if you need several lookups per frame. My compo game does use it, since there was no other way to fit a map of that size otherwise, but did it require optimization and inlining.


Yeah on second thought it might not be fast enough for what I want to do.
Re: 1st Person RPG/Adventure Game
by on (#214063)
If this is something you would like to publish in the future and get paid for then Epyx would be very interested in doing that!

This would be a great fit for our DunjonQuest/Temple of Apshai series!

Maybe call it something like Tombs of Apshai . . . .
Re: 1st Person RPG/Adventure Game
by on (#216229)
The editor is mostly functional, however I stopped development for a little bit... I'm trying to see if it's feasible to do multiplatform development for this project, since I thought I'd do a PC Engine CD version, too.

https://www.youtube.com/watch?v=JhnhTN9KM6c

I'm currently adapting the code from my previous competition game (Brick Breaker) to be able to compile it with both NESASM3 and PCEAS, and I got to say that it's going kind of smoothly since the PCE was built with ease of development for Famicom devs in mind. It looks very unfinished now but that's because there are some bugs on the specific PCE code, I converted the graphics as-is and threw an ugly yellow palette at everything, and I dummied out my RLE decompression and sprite functions for now. Aside from that, it's working pretty well!
Re: 1st Person RPG/Adventure Game
by on (#216633)
I was just thinking about dungeon crawlers like Bard's Tale, it's cool to see people working on things like that! Looking forward to seeing your progress!