MissCommand Posted January 29, 2020 Share Posted January 29, 2020 Just two quick things: With Demo5, I can't go into Acadia... even if starting a saved game and I start off at "Home", as soon as I exit the town, I cannot get back in. Secondly, I was wondering if you eventually will have both "New Game" and "Continue" options available if you have a game saved instead of the just "Continue" option? I know I can go into Stella and erase the EEPROM if I wanted to start a fresh character, but wondered if that was intended to be incorporated into the game. Sorry, I don't know Ultima handled that. Okay, I do have a third... really like the way you reworked the new game menus! Excellent! 1 Quote Link to comment Share on other sites More sharing options...
+Karl G Posted January 29, 2020 Author Share Posted January 29, 2020 14 hours ago, MissCommand said: Just two quick things: With Demo5, I can't go into Acadia... even if starting a saved game and I start off at "Home", as soon as I exit the town, I cannot get back in. Oops! I've uploaded Demo 6, which fixes that. Thanks! 14 hours ago, MissCommand said: Secondly, I was wondering if you eventually will have both "New Game" and "Continue" options available if you have a game saved instead of the just "Continue" option? I may well rework this as well to allow this. I will want to make sure there is very little chance that an existing game is accidentally wiped out, though. I think I forgot to mention that I fixed clearing an existing game from within the game. Right now it's handled similarly to other AtariVOX / SaveKey games: in this case, if you hold the joystick up on poweron (or right as Stella starts), then you are given an option to start a new game. Probably I'll eventually do it via the start screen, but this should work in the meantime. 14 hours ago, MissCommand said: Okay, I do have a third... really like the way you reworked the new game menus! Excellent! Thanks! I'd also be interested to hear if you think the new "pull down to cancel in-game menus" works well (e.g. if you find yourself hitting it accidentally, or if you have any unexpected results). Quote Link to comment Share on other sites More sharing options...
+Karl G Posted January 29, 2020 Author Share Posted January 29, 2020 Demo 6 has been added to the first post. In addition to fixing the issue with entering Acadia, I've changed the spell point cost for the spell you can learn in this demo from 10 to 1 spell point, so any character should be able to use it. 2 Quote Link to comment Share on other sites More sharing options...
MissCommand Posted February 2, 2020 Share Posted February 2, 2020 On 1/29/2020 at 10:27 AM, Karl G said: Oops! I've uploaded Demo 6, which fixes that. Thanks! Thanks! But Demo6 doesn't recognize my saved game, so I didn't want to go any further into it (I'm working my way up to level 4 now). As far as pulling down to cancel menu's... to which menu's are you referring? (the menu's when fighting?) Quote Link to comment Share on other sites More sharing options...
+Karl G Posted February 2, 2020 Author Share Posted February 2, 2020 3 minutes ago, MissCommand said: Thanks! But Demo6 doesn't recognize my saved game, so I didn't want to go any further into it (I'm working my way up to level 4 now). Nothing should have changed in that code. Just to be sure, since it's a different version, did you set the same AtariVOX or SaveKey option that you did for demo 4? Combat menus are one example, but also if you hit a button to bring up a menu outside or in a town, you can cancel it by pulling down now. Quote Link to comment Share on other sites More sharing options...
MissCommand Posted February 4, 2020 Share Posted February 4, 2020 On 2/1/2020 at 10:51 PM, Karl G said: Nothing should have changed in that code. Just to be sure, since it's a different version, did you set the same AtariVOX or SaveKey option that you did for demo 4? Combat menus are one example, but also if you hit a button to bring up a menu outside or in a town, you can cancel it by pulling down now. D'oh... that was it... ugh! I played around with it last night and I like the pulling down to cancel a menu. My vote would be to keep that option (and it's faster than moving over to a "cancel" option). I did find the spell you can learn! Cool. 1 Quote Link to comment Share on other sites More sharing options...
+Karl G Posted February 6, 2020 Author Share Posted February 6, 2020 I had been been stalled on dungeon code for quite a while. Part of it was deciding how I wanted to implement it. I hope nobody will be too disappointed if I don't do the first-person 3D-style dungeons found in the early Ultima games. Would it be possible to do something like that on the 2600? Absolutely. Would it be possible for me? Probably...but I want to try a different approach using the tiled approach. My idea is a smaller tiled display, showing the tiles immediately surrounding you, while showing those that are one step away as fuzzy and indistinct (it will show an indistinct tile if there is something visible, or otherwise a blank square). As before, I'm starting with actual Ultima 3 data files for testing before creating my own new content. Here is a very early screenshot without the visibility-limiting code added (still in progress). For what it's worth, due to the smaller size of the display, this kernel does not do any flicker, so there is only one display mode instead of two (accent color is always on). 2 Quote Link to comment Share on other sites More sharing options...
+Karl G Posted February 6, 2020 Author Share Posted February 6, 2020 And here's a screenshot that includes the limited visibility code. You know that there is something in those squares, but don't know if it's a wall, door, stairway, or some object. 4 Quote Link to comment Share on other sites More sharing options...
Asaki Posted February 6, 2020 Share Posted February 6, 2020 1 hour ago, Karl G said: I hope nobody will be too disappointed if I don't do the first-person 3D-style dungeons found in the early Ultima games. The SMS port of Ultima IV ditched the 3D dungeons. I wasn't too disappointed with it. Quote Link to comment Share on other sites More sharing options...
+Karl G Posted February 9, 2020 Author Share Posted February 9, 2020 I just wanted to post a video showing my progress with dungeons, showing movement and the limited visibility effect I mentioned above to give a better idea of what I'm going for here. It looks like you need to hit the YouTube link to see it in 60fps so the text/stats look more normal. 2 Quote Link to comment Share on other sites More sharing options...
+ZeroPage Homebrew Posted February 9, 2020 Share Posted February 9, 2020 On 2/6/2020 at 6:08 AM, Karl G said: I had been been stalled on dungeon code for quite a while. Part of it was deciding how I wanted to implement it. I hope nobody will be too disappointed if I don't do the first-person 3D-style dungeons found in the early Ultima games. I'm not a huge fan of tile based 3D dungeons, it can sometimes get confusing as to where you are, so I actually prefer the top down view you've implemented! 3 hours ago, Karl G said: I just wanted to post a video showing my progress with dungeons, showing movement and the limited visibility effect I mentioned above to give a better idea of what I'm going for here. Very interesting approach, it's like you can see for a little ways and things off in the distance are sort of in a fog where you know it's there but not what it is. It's like a 8-bit implementation of limited draw distance, very interesting! Looking forward to trying it out. Also @Karl G, we'll be starting on our full playthrough of the Penult Demo this coming Wednesday (our next stream), and continuing each Wednesday until we've exhausted the Demo. ? Fun times ahead! - James 1 Quote Link to comment Share on other sites More sharing options...
+TwentySixHundred Posted February 10, 2020 Share Posted February 10, 2020 On 2/7/2020 at 1:45 AM, Karl G said: And here's a screenshot that includes the limited visibility code. You know that there is something in those squares, but don't know if it's a wall, door, stairway, or some object. I like this feature and the game is coming along nicely ? The inquisitive side of me can't help but wonder if you have added this feature for optimization or for effect? I know RTS games like Age of Empires ect used the same sort of masking for optimization to lower the rendered-on-screen count. This was then called the line-of-site feature around the players building and units ect. I know there is many on the NES like Die Hard that also used this for optimization as rooms the player hasn't entered are blacked out. Interested as to the reason you added this ? Quote Link to comment Share on other sites More sharing options...
+TwentySixHundred Posted February 10, 2020 Share Posted February 10, 2020 15 hours ago, ZeroPage Homebrew said: I'm not a huge fan of tile based 3D dungeons, it can sometimes get confusing as to where you are, so I actually prefer the top down view you've implemented! I agree, Zelda used the top down view for dungeons and it really helped with sense of direction. There is no mistaking if you came through the left door you simply can return via the left door ? Quote Link to comment Share on other sites More sharing options...
+Karl G Posted February 10, 2020 Author Share Posted February 10, 2020 59 minutes ago, TwentySixHundred said: I like this feature and the game is coming along nicely ? The inquisitive side of me can't help but wonder if you have added this feature for optimization or for effect? Thanks! It is definitely for effect. I have to know what the tile is in order to know whether to display the fuzzy effect, or nothing at all for those squares, So it takes more processor time than it would to simply. display them as is. Whenever I have a demo version that includes a sample dungeon, I look forward to feedback on how well it works for people in practice. Quote Link to comment Share on other sites More sharing options...
+TwentySixHundred Posted February 10, 2020 Share Posted February 10, 2020 16 minutes ago, Karl G said: Thanks! It is definitely for effect. I have to know what the tile is in order to know whether to display the fuzzy effect, or nothing at all for those squares, So it takes more processor time than it would to simply. display them as is. Whenever I have a demo version that includes a sample dungeon, I look forward to feedback on how well it works for people in practice. Ahh yes ok that clears it up, think i was getting confused as to exactly the technique used. Now i see clearly what is going on. Some strange reason i was thinking along the lines of die hard on the NES but for the dungeons themselves. Wasn't sure if it worked the same as rendering, when in a dungeon or whatever the masked area is actually not processed at the time. That way it wouldn't need to read/fetch the data for that sub-area until in proximity (thus saving cycles). However it still displays the outer perimeter and building as a whole. Not sure if i'm explaining that right? although it makes sense in my head. So i boxed out the masked rooms in red that i'm referring to. You can see those rooms are not rendered until the player enters them. It would be interesting to know if they did this on the NES to save cycles or just to reuse sprites. Anyway keep up the good work i'm definitely looking forward to a demo version to play around with the affect and see how it works ? 1 Quote Link to comment Share on other sites More sharing options...
+Karl G Posted February 10, 2020 Author Share Posted February 10, 2020 To give a little more detail, in one routine it loads all of the tiles in a 6x5 grid into memory, and in a separate routine, it obscures tiles that are a certain distance away, or removes ones not visible due to the line of sight being blocked. With the proper spell or item, the player will be able to occasionally see the whole 6x5 grid for the section of the level they are in regardless of intervening walls, and showing invisible tiles like traps and the like. Quote Link to comment Share on other sites More sharing options...
+TwentySixHundred Posted February 10, 2020 Share Posted February 10, 2020 4 minutes ago, Karl G said: To give a little more detail, in one routine it loads all of the tiles in a 6x5 grid into memory, and in a separate routine, it obscures tiles that are a certain distance away, or removes ones not visible due to the line of sight being blocked. With the proper spell or item, the player will be able to occasionally see the whole 6x5 grid for the section of the level they are in regardless of intervening walls, and showing invisible tiles like traps and the like. That's what my mind was looking for ? As i have no idea the inner workings of your display kernel and how you went about line-of-sight, it makes sense now. So it's basically along the same concept i was thinking about. I really like that feature and the way you have gone about it. It gives the player a feeling of what's behind the door without actually being able to see (unless using the spell of course). Much like someone carrying a torch through a dark dungeon. Im assuming there is a significant performance impact when seeing the full grid? Some smart coding ? Quote Link to comment Share on other sites More sharing options...
+Karl G Posted February 10, 2020 Author Share Posted February 10, 2020 1 minute ago, TwentySixHundred said: Im assuming there is a significant performance impact when seeing the full grid? No, the full grid is displayed every frame regardless, but it displays blanked or fuzzy tiles for certain squares normally. The only difference if the spell is showing everything is that those tiles never get changed or blanked out in memory prior to displaying. While doing the actual display, there's no processing time difference between displaying a blank or fuzzy tile vs a normal tile. Quote Link to comment Share on other sites More sharing options...
+TwentySixHundred Posted February 10, 2020 Share Posted February 10, 2020 (edited) 22 minutes ago, Karl G said: No, the full grid is displayed every frame regardless, but it displays blanked or fuzzy tiles for certain squares normally. The only difference if the spell is showing everything is that those tiles never get changed or blanked out in memory prior to displaying. While doing the actual display, there's no processing time difference between displaying a blank or fuzzy tile vs a normal tile. I understand now, so the routine basically just tells the TIA to display an x amount of the outer-grid to output zero's else if spell used then output the full 6x5? Edited February 10, 2020 by TwentySixHundred Quote Link to comment Share on other sites More sharing options...
+Karl G Posted February 10, 2020 Author Share Posted February 10, 2020 For the dungeons, I load a 30 byte chunk of memory with tile numbers (0-15) corresponding to what is in that portion of the dungeon level map relative to the hero's position. The display routine sets pointers to the associated tiles, and displays the tiles. If I don't do any processing beforehand, then all 30 of these tiles are shown. My processing changes some of the tiles stored in memory to either blank or fuzzy tiles depending on current visibility, so the display routine ends up displaying these instead. For each row, the display routine displays all 6 tiles in that row regardless, though some may be blanked out or obscured. A blank or fuzzy tile is just another graphic either way. I actually have a blog entry that talks a bit about how I load and display maps, although I wrote it before I had implemented dungeon maps. Quote Link to comment Share on other sites More sharing options...
+Karl G Posted February 10, 2020 Author Share Posted February 10, 2020 This discussion made me realize that I could and probably should visually distinguish between blanked-out tiles and visible floor tiles, even if the latter would be very subtle. Here's a screenshot with that added in. The visible floor tiles are just a single dot, but that's enough to show that it's visible floor at least. Quote Link to comment Share on other sites More sharing options...
+TwentySixHundred Posted February 10, 2020 Share Posted February 10, 2020 5 minutes ago, Karl G said: For the dungeons, I load a 30 byte chunk of memory with tile numbers (0-15) corresponding to what is in that portion of the dungeon level map relative to the hero's position. The display routine sets pointers to the associated tiles, and displays the tiles. If I don't do any processing beforehand, then all 30 of these tiles are shown. My processing changes some of the tiles stored in memory to either blank or fuzzy tiles depending on current visibility, so the display routine ends up displaying these instead. For each row, the display routine displays all 6 tiles in that row regardless, though some may be blanked out or obscured. A blank or fuzzy tile is just another graphic either way. I actually have a blog entry that talks a bit about how I load and display maps, although I wrote it before I had implemented dungeon maps. 2 minutes ago, Karl G said: This discussion made me realize that I could and probably should visually distinguish between blanked-out tiles and visible floor tiles, even if the latter would be very subtle. Here's a screenshot with that added in. The visible floor tiles are just a single dot, but that's enough to show that it's visible floor at least. Ok so i think it makes sense now. If i have this right, you're using tiles much like the NES that are loaded into memory and even the blank areas are actual blank tiles. You have two processing routines before anything is displayed. First routine is the full 6x5 then the second swaps out the tiles for blank or fuzzy depending on the visible area of that 6x5 grid. Then the screen is displayed - wash - rinse and repeat. So depending on where the player is those tiles are swapped out or around using pointers? I might have to take a good look into your blog, this sounds really interesting ? 1 Quote Link to comment Share on other sites More sharing options...
+ZeroPage Homebrew Posted February 12, 2020 Share Posted February 12, 2020 (edited) We'll be featuring Penult LIVE on today's (Wednesday) ZeroPage Homebrew stream on Twitch at 11AM PT | 2PM ET | 7PM GMT! This will be Part 1 of our complete playthrough of the Demo version of Penult, Hope everyone can watch! Twitch Stream: https://www.twitch.tv/zeropagehomebrew/ Games: - Penult (2020 WIP Update) by Karl Garrison aka Karl G (SET VIDEO TO 1080P60 FOR FULL QUALITY) Edited February 13, 2020 by ZeroPage Homebrew 2 Quote Link to comment Share on other sites More sharing options...
+Karl G Posted February 12, 2020 Author Share Posted February 12, 2020 Cool. I won't be able to make the stream, thought. Probably for the best because it's hard for me to avoid giving advice when my games are played, anyway. 1 Quote Link to comment Share on other sites More sharing options...
+sramirez2008 Posted February 12, 2020 Share Posted February 12, 2020 I hope to be able to watch (depending on work schedule). This is a great game? 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.