RSS Bot #1 Posted March 28, 2006 When initially looking at the SC as a development platform, the 6144 bytes of RAM piqued some wide-eyed optimism in me. "Wow, what am I going to do with all that space?" When you think about it, it's really significant - The SC increases the RAM by a factor of 48! At first blush, the potential seems endless. Then I start to write some code, and come to realize is that, compared to a standard 4k cart, the total space is increased by only 50%. It didn't take long at all to use all of this up! Multiloads, you say? Well, I am disappointed with the SC's multiload capability. Multiloads take time and apparently are best suited for sequential access, while my game is suited for random access. Also, a serious drawback is that the SC obliterates 256 bytes of your code/data every time you do an additional load. I need the 256 bytes! I generally do not like optimizing my code for space. Well, I don't mind picking the low-hanging fruit, like taking sections of repeated code and making subroutines out of them. When I reach the point where I need to heavily obfuscate my code, to save a few bytes here and there, it becomes wholly unfun. There are few things that can whittle the love away from this labor of love more than spending a hours freeing up a few dozen bytes, and then using it up in minutes by a minor feature or bug fix. So I am left with a few solutions to my problem, none of which I like: 1. Abandon SC development and opt for another platform with >= 2k RAM and more code space. 2. Put maze generator in initial load, generate maze, then multiload the rest of the game. 3. Do a single load and abandon some of the features I want to add to the game. Disadvantages to each: #1: Will require a lot of work to port to a new platform, and will further limit the number of people who can play the game on the hardware they already own. #2: Will require a lot of work, and probably a power cycle every time you want to generate a new maze. #3: The end result will be less fulfilling. Advantages to each: #1: I can add all of the features I want to. #2: Will retain the same level of compatibility with available hardware (SC, CC, CC2.) #3: Less work, less frustrating, and a much greater chance of actually reaching completion. Overall: #1. #2. #3. #3 is not really the winner, but the least undesirable. Largely, because I am beginning to get tired of this project In the future, I will not choose any platform with such limited code space unless the game will fit comfortably within that space. Changes as of late: - completely rewritten and vastly simplified (in terms of code space) kernel. - added ability to select maze - hit select, then joystick to change. (I request comments on the UI here.) - can generate a braided maze (left difficulty A before generating a new maze.) mazecraze2c_sc.bin http://www.atariage.com/forums/index.php?a...&showentry=1399 Share this post Link to post Share on other sites