+Andrew Davie Posted August 22, 2019 Author Share Posted August 22, 2019 3 hours ago, hizzy said: Just curious: Why did the box shape change? I am playing with ideas, nothing more. It does have the advantage of being more obviously defined when two are side by side. 1 Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 23, 2019 Author Share Posted August 23, 2019 New version. I've updated some of the sprite animation frames from @NostAlgae37. We're really quite fine-tuning now, but I do plan to have some more animations down the track. I've put in a "turn around" wait so that when the player turns around it looks better. I've also re-done the box because nobody had any love for the previous version. I need to decouple the game 'frame rate' from the movement/animation frame-rate. Almost time to think about getting that music updated and some sound effects in. sokoboo_20190823.bin 5 Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 23, 2019 Author Share Posted August 23, 2019 (edited) Having a play with pulsing target positions. I like them... whaddyareckon? pulse.mp4 pulse.mp4 Edited August 23, 2019 by Andrew Davie Bug in forum software. Delete a vicdeo in "files" section but you can't delete it from the message part. Quote Link to comment Share on other sites More sharing options...
+Karl G Posted August 23, 2019 Share Posted August 23, 2019 The video doesn't seem to be working Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 23, 2019 Author Share Posted August 23, 2019 1 minute ago, Karl G said: The video doesn't seem to be working fixed...? Quote Link to comment Share on other sites More sharing options...
+Karl G Posted August 23, 2019 Share Posted August 23, 2019 1 minute ago, Andrew Davie said: fixed...? Yep! And I like the flashing target. Quote Link to comment Share on other sites More sharing options...
+sramirez2008 Posted August 23, 2019 Share Posted August 23, 2019 2 hours ago, Andrew Davie said: Having a play with pulsing target positions. I like them... whaddyareckon? I like them, adds a bit more animation to the game. Quote Link to comment Share on other sites More sharing options...
+sramirez2008 Posted August 23, 2019 Share Posted August 23, 2019 6 hours ago, Andrew Davie said: New version. I've updated some of the sprite animation frames from @NostAlgae37. We're really quite fine-tuning now, but I do plan to have some more animations down the track. I've put in a "turn around" wait so that when the player turns around it looks better. I've also re-done the box because nobody had any love for the previous version. I need to decouple the game 'frame rate' from the movement/animation frame-rate. Almost time to think about getting that music updated and some sound effects in. sokoboo_20190823.bin 32 kB · 7 downloads Just tested the latest build (actual hardware / UnoCart) and the music gets stuck between the levels. Please listen to the attached MOV file. I apologize, but I don't have a better way to capture my testing. Sokoboo Music.MOV Quote Link to comment Share on other sites More sharing options...
NostAlgae37 Posted August 23, 2019 Share Posted August 23, 2019 2 hours ago, Andrew Davie said: Having a play with pulsing target positions. I like them... whaddyareckon? pulse.mp4 64.38 kB · 1 download I think that they look cool. Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 27, 2019 Author Share Posted August 27, 2019 I've mostly given up, but not totally given up, hope of being able to improve the sprites as per the image below... The one on the left uses the two sprites, one on top of each other. There's still just a single colour per sprite per scanline, but each colour is completely independent and thus the result looks quite nice. To my eye, anyway. Another way of saying that - there are two independent colours + black on any line, and the tool I wrote will split those two colours/shapes into data for the two sprites. I spent many hours on this, including writing the tool to do the conversion, and all the code to get the two sprites moving together, animating the right shapes, etc., redrawing lots of the sprites... but unfortunately I was unable to fit in the colour change for the second sprite into the kernel... I needed just a few cycles but couldn't find them. Pity I did all that work before checking that the colour was being changed in the kernel. D'Oh! So, I just thought I'd dump the image here for posterity. I may revisit this someday. Other than that I've been working on speedups and I've done extensive cycle-counting of the subsections. They're now working quite nicely and there doesn't seem to be any time overflows when I have my minimal cycle counts installed as timers. So, fingers crossed. I've also been through and removed lots of redundant code, fixed a few bugs, and generally tidied up. I think I'm feeling like this is near completion. There are a few things I could add/do, but I wonder if it's really worth the effort. At best this title might sell 20 or so carts, and I am feeling it's maybe time to move on.... Here's the "dolist" if I really wanted to add polish... a) High scores saved on SaveKey and displayed in some sort of tabular form. b) add a congrats screen when you beat a previous score for a level c) level selection (press up/down to change by 10, and left/right to change by 1) d) finalise the sounds Well, that's about it. Here is the latest binary, and source code for anyone who wants to find a few cycles in the kernel to allow colour-change on the second player. Look at the file BANK_ROM_SHADOW_RAMBANK.asm for the kernel - it's at the very top of that file. The Git repository is now public, so anyone wanting the latest version of the code can fetch it from https://github.com/andrew-davie/Sokoboo Sokoboo_20190827.bin Sokobo_SOURCE_20190827.zip 1 Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 27, 2019 Author Share Posted August 27, 2019 (edited) I hacked in level selection. Now on the level screen you see a red ? on the right. Just press up/down/left/right to change the displayed level number. Press the button to start playing that level. During the level you can press reset to get back to the level selection screen or, select to skip to the next level. OK, just found a bug. DO NOT LOOK-AROUND TOO HIGH OFF THE EDGE OF THE SCREEN. YOU'LL FALL OFF THE EDGE. levels.mp4 Edited August 28, 2019 by Andrew Davie Crashing version removed. See below for updated binary. 3 Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted August 27, 2019 Share Posted August 27, 2019 4 hours ago, Andrew Davie said: I've mostly given up, but not totally given up, hope of being able to improve the sprites as per the image below... The one on the left uses the two sprites, one on top of each other. There's still just a single colour per sprite per scanline, but each colour is completely independent and thus the result looks quite nice. To my eye, anyway. Another way of saying that - there are two independent colours + black on any line, and the tool I wrote will split those two colours/shapes into data for the two sprites. I spent many hours on this, including writing the tool to do the conversion, and all the code to get the two sprites moving together, animating the right shapes, etc., redrawing lots of the sprites... but unfortunately I was unable to fit in the colour change for the second sprite into the kernel... I needed just a few cycles but couldn't find them. Pity I did all that work before checking that the colour was being changed in the kernel. D'Oh! So, I just thought I'd dump the image here for posterity. I may revisit this someday. Looking at the kernel, it might be possible to change the 2nd player's color every 3 lines (or maybe even 2 out of 3 lines). Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 27, 2019 Author Share Posted August 27, 2019 3 hours ago, Thomas Jentzsch said: Looking at the kernel, it might be possible to change the 2nd player's color every 3 lines (or maybe even 2 out of 3 lines). Yes, that was my conclusion too. I figured that unrolling the loop and using self-mod code so the loads can be immediates. My basic timing calculations showed that I would be about 75 cycles per line, but that the switch to the next character line/bank would require dropping one of the colour writes. Maybe not worth it, though. Quote Link to comment Share on other sites More sharing options...
NostAlgae37 Posted August 27, 2019 Share Posted August 27, 2019 12 hours ago, Andrew Davie said: I've mostly given up, but not totally given up, hope of being able to improve the sprites as per the image below... The one on the left uses the two sprites, one on top of each other. There's still just a single colour per sprite per scanline, but each colour is completely independent and thus the result looks quite nice. To my eye, anyway. Another way of saying that - there are two independent colours + black on any line, and the tool I wrote will split those two colours/shapes into data for the two sprites. I spent many hours on this, including writing the tool to do the conversion, and all the code to get the two sprites moving together, animating the right shapes, etc., redrawing lots of the sprites... but unfortunately I was unable to fit in the colour change for the second sprite into the kernel... I needed just a few cycles but couldn't find them. Pity I did all that work before checking that the colour was being changed in the kernel. D'Oh! So, I just thought I'd dump the image here for posterity. I may revisit this someday. Not trying to rain on your parade (or be a party-pooper, or whatever), but I honestly don't think that the 2-sprite version with the shading looks all that great, so I don't see a compelling reason to re-invent the wheel. It doesn't really remind me of that old-timey, classic Atari look that I was aiming for. But that's just the actual sprite artist's 2 cents worth. Quote Link to comment Share on other sites More sharing options...
+ZeroPage Homebrew Posted August 28, 2019 Share Posted August 28, 2019 We'll be featuring the newest build of Sokoboo LIVE on tomorrow's (Wednesday) ZeroPage Homebrew stream on Twitch at 11AM PT | 2PM ET | 6PM GMT! Hope everyone can watch! Twitch Stream: https://www.twitch.tv/zeropagehomebrew/ Games: - Dare Devil (2019 WIP Update) by Muddyfunster - Chaotic Grill (2019 WIP Update) by Philip Blackman aka splendidnut - Sokoboo (2019 WIP Update) by Andrew Davie - Dragon's Descent (2018 WIP Update) by Revontuli 1 Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 28, 2019 Author Share Posted August 28, 2019 4 minutes ago, ZeroPage Homebrew said: We'll be featuring the newest build of Sokoboo LIVE on tomorrow's (Wednesday) ZeroPage Homebrew stream on Twitch at 11AM PT | 2PM ET | 6PM GMT! Hope everyone can watch! Twitch Stream: https://www.twitch.tv/zeropagehomebrew/ Games: - Dare Devil (2019 WIP Update) by Muddyfunster - Chaotic Grill (2019 WIP Update) by Philip Blackman aka splendidnut - Sokoboo (2019 WIP Update) by Andrew Davie - Dragon's Descent (2018 WIP Update) by Revontuli Mmh. Well, there's currently a ***CRASH*** on look-around, so let's see if I can get that fixed before then! 1 Quote Link to comment Share on other sites More sharing options...
+sramirez2008 Posted August 28, 2019 Share Posted August 28, 2019 38 minutes ago, ZeroPage Homebrew said: We'll be featuring the newest build of Sokoboo LIVE on tomorrow's (Wednesday) ZeroPage Homebrew stream on Twitch at 11AM PT | 2PM ET | 6PM GMT! Hope everyone can watch! Twitch Stream: https://www.twitch.tv/zeropagehomebrew/ Games: - Dare Devil (2019 WIP Update) by Muddyfunster - Chaotic Grill (2019 WIP Update) by Philip Blackman aka splendidnut - Sokoboo (2019 WIP Update) by Andrew Davie - Dragon's Descent (2018 WIP Update) by Revontuli What a lineup! 1 Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 28, 2019 Author Share Posted August 28, 2019 (edited) Here is a fixed version that doesn't crash on look-around. The problem was over-enthusiastic self-modifying code. sokoboo_20190828_v3.bin Edited August 28, 2019 by Andrew Davie Updated to latest version 3 Quote Link to comment Share on other sites More sharing options...
alex_79 Posted August 28, 2019 Share Posted August 28, 2019 I need to catch up with the all the updates (I was on vacation). First impressions after playing just a little bit of the latest version: I like the animated player gfx. The "two independent colors" version posted above looks nicer, but I wouldn't mind if it doesn't make in the final version. The other features in the to-do list should have precedence, in my opinion. I like the pulsing target positions as shown in the video a few posts above, while I find the flashing ones in the current build a bit annoying if there are a lot of targets displayed. If the pulsing ones cannot be inplemented, I'd prefer them to just be static. When completing a level, or restarting the current one by pressing RESET, the level number should be momentary shown and then the game should resume with the next (or current, if you presse RESET) level without user interaction. The full level select screen should only be dispalyed when the SELECT switch is pressed. Thanks again for the update! Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 28, 2019 Author Share Posted August 28, 2019 3 hours ago, alex_79 said: I need to catch up with the all the updates (I was on vacation). First impressions after playing just a little bit of the latest version: I like the animated player gfx. The "two independent colors" version posted above looks nicer, but I wouldn't mind if it doesn't make in the final version. The other features in the to-do list should have precedence, in my opinion. I like the pulsing target positions as shown in the video a few posts above, while I find the flashing ones in the current build a bit annoying if there are a lot of targets displayed. If the pulsing ones cannot be inplemented, I'd prefer them to just be static. When completing a level, or restarting the current one by pressing RESET, the level number should be momentary shown and then the game should resume with the next (or current, if you presse RESET) level without user interaction. The full level select screen should only be dispalyed when the SELECT switch is pressed. Thanks again for the update! Thank you for the feedback. I value it. The multicolour sprite won't be possible, and in any case the sprite artist doesn't like it so I do take that into account. I have restored the pulsing target - I think the general feedback for that was positive, so it's in this current build. I have implemented your excellent suggestion regarding the usage of RESET/SELECT and how the selection screen should work. I think it's working as you have described. Here's the latest binary - I think this might be the one reviewed on Zeropage Homebrew in a few hours... Sokoboo_20190829.bin 5 1 Quote Link to comment Share on other sites More sharing options...
spspspsp Posted August 28, 2019 Share Posted August 28, 2019 Sokoban is one of my favorite games ever, and this is such a charming version. I love the sprites, colors, animation, the level progression, and the music. In fact, I was wondering why I couldn't get the song "Music for a Found Harmonium" out of my head this afternoon--and then I realized it is because the music sounds like a chip tune version of that. It's quite catchy. Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 28, 2019 Author Share Posted August 28, 2019 Just now, spspspsp said: Sokoban is one of my favorite games ever, and this is such a charming version. I love the sprites, colors, animation, the level progression, and the music. In fact, I was wondering why I couldn't get the song "Music for a Found Harmonium" out of my head this afternoon--and then I realized it is because the music sounds like a chip tune version of that. It's quite catchy. Thank you! Just wait until the final version is in. This is just a short sequence, and hopefully there will be much much more in there. It is, in fact, a version of that song - I had mentioned it earlier in the thread but if you spotted it on your own, that's great. It will be quieter in the final version, but rising to a crescendo when you have just one target to get. Something like that. 4 Quote Link to comment Share on other sites More sharing options...
+sramirez2008 Posted August 28, 2019 Share Posted August 28, 2019 3 hours ago, Andrew Davie said: It will be quieter in the final version, but rising to a crescendo when you have just one target to get. Something like that. This would be cool! Quote Link to comment Share on other sites More sharing options...
NostAlgae37 Posted August 29, 2019 Share Posted August 29, 2019 On 8/27/2019 at 8:43 PM, ZeroPage Homebrew said: Games: - Chaotic Grill (2019 WIP Update) by Philip Blackman aka splendidnut - Sokoboo (2019 WIP Update) by Andrew Davie 2 of the games that I made sprites for! Yippee! 1 Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 29, 2019 Author Share Posted August 29, 2019 (edited) I got up at 4am to watch/participate in the ZPH review, above. I do so wish they'd schedule reviews of carts in the order of timezones so that people can get some sleep. Anyway, being 3rd in line - the first two took about an hour and a half to review so it was about 5:30 am before we got down to business. I have a couple of take-homes from this session. The first is that Sokoboo is not an entertaining game to watch others play. Sure, it's real pretty - but there isn't that "wow factor" that makes it interesting to watch. Well, maybe it's a bit annoying when you see people floundering around making the wrong moves. But what happens in these reviews is that practically none of the audience says anything when Sokoboo is being played. I suspect they just all wandered away and got themselves a cup of tea. Having said that, I did get a few pointers on things to fix. The first was joystick responsiveness. It's a fine line between being responsive (not missing any moves), and running too fast and doing moves you didn't intend. It's compounded by the game not running at 60Hz internally - it's an asynchronous engine and sometimes things take a little longer, so you don't always get to the player move at the same regularity. In any case, I've done some work on it and I think it's much improved. What I've also started fixing up is the flow of animation. That is, rather than a hodge-podge of individual animations that just get triggered whenever, which effectively causes arms and legs to be flailing all over the place... I am paying careful attention to the animations and what they are doing and flow to next. It's much cleaner now, and less flailing, so to speak. Still a few improvements to do, but I'm happy with the results. I'm waiting on some sound effects and music, which I expect might arrive this weekend. Then we can start to finish up the gameplay side of things. I really don't know if I can be arsed doing a "low score" table. It was brought up in the ZPH review that I should probably have an indicator of the optimal number of moves for a level. Unfortunately, this is an unknown for me because the levels were pulled off the interweb, and in any case they were probably auto-generated which means they don't have the "best" available anyway. Sokoban is a very intractible problem and the optimum number of moves can probably only be found with a deep search, and given the high branching factor... this is not practicable especially when you're getting into the hundreds of moves. So, no "best" indicator, I'm afraid. Remember the controls... SELECT - go to level selection screen RESET - restart current level button press/release - take back move button held/direction - look around the board The game will configure for PAL or NTSC based on the RIGHT DIFFICULTY switch. Set to A for NTSC, and B for PAL Stella auto-starts with it set to B, which is a bit of a bummer. Newer versions of Stella will (soon) scale the screen differently, and the NTSC version definitely looks better because of the thicker scanlines. So, I recommend you set right difficulty at A and reload/restart so that it's showing you an NTSC screen. Well, here's a binary and video for your entertainment... refine.mp4 sokoboo_20190830.bin Edited August 29, 2019 by Andrew Davie changed difficulty switch recommendation to A 4 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.