+Random Terrain #1 Posted November 28, 2015 Should I put the code for Seaweed Assault on the bB page? I ask this because I planned to put some version of ChipOff on the bB page, but it ended up being too bloated and complicated to be helpful, so I gave up on it. The code for Seaweed Assault isn't much better, so it might do more harm than good. If people want it on the page, it will give me an excuse to update the REMs and clean up the code a little, but if nobody wants the code on the page, that's less work for me, so it's a win-win situation. Merry Christmas to me either way. Speaking of adding things to the bB page, the code for Princess Rescue with additional comments by Sprybug was just put on the bB page yesterday: randomterrain.com/atari-2600-memories-batari-basic-commands.html#ex_princess_rescue And now here's a video for your enjoyment: youtube.com/watch?v=GL2hYF2a2aY https://www.youtube.com/watch?v=GL2hYF2a2aY Update: The code is on the bB page now: randomterrain.com/atari-2600-memories-batari-basic-commands.html#ex_seaweed_assault 2 Quote Share this post Link to post Share on other sites
DarkCart #2 Posted November 28, 2015 I'd be interested in seeing the code. Quote Share this post Link to post Share on other sites
+Tarzilla #3 Posted November 28, 2015 Should I put the code for Seaweed Assault on the bB page? I ask this because I planned to put some version of ChipOff on the bB page, but it ended up being too bloated and complicated to be helpful, so I gave up on it. The code for Seaweed Assault isn't much better, so it might do more harm than good. If people want it on the page, it will give me an excuse to update the REMs and clean up the code a little, but if nobody wants the code on the page, that's less work for me, so it's a win-win situation. Merry Christmas to me either way. Speaking of adding things to the bB page, code for Princess Rescue with additional comments by Sprybug is on the bB page now: randomterrain.com/atari-2600-memories-batari-basic-commands.html#ex_princess_rescue Yes, put it up, I always enjoy seeing other people's coding style and techniques Quote Share this post Link to post Share on other sites
+Random Terrain #4 Posted November 29, 2015 Thanks for the replies. Maybe I should stick a poll here to make it easier for people. [i just did.] Quote Share this post Link to post Share on other sites
Mountain King #5 Posted November 29, 2015 I personally wouldn't mind seeing how your code works. I'm sure I can learn something. Quote Share this post Link to post Share on other sites
classiccollector #6 Posted November 29, 2015 I always enjoy seeing the code, It helps me understand what is going on and how things work. Quote Share this post Link to post Share on other sites
potatohead #7 Posted November 29, 2015 (edited) You should, and you should comment it. There are not so useful comments like: a = a + 5 'Add 5 to A ...and more useful ones, like: x = + 3 'Update player position , and if x = 5 then x = 0 : goto [somewhere] 'if noise counter hits the top, start over, and skip incrementing it x = x + 1 'otherwise, increment the noise counter. A one line, or two line comment on most of the code will be a big help to others. If it were me, that's what I would do. Open up the code, and just comment the crap out of it, then post it. The reason is all about understanding three things: 1. What the code actually does 2. How the developer thinks 3. How both of those contribute to a working thing. Edited November 29, 2015 by potatohead Quote Share this post Link to post Share on other sites
+Random Terrain #8 Posted November 29, 2015 Thanks for the replies. OK, I'll start getting it ready for the bB page. Quote Share this post Link to post Share on other sites
DarkCart #9 Posted November 29, 2015 Thanks for the replies. OK, I'll start getting it ready for the bB page. Christmas seems to be coming 27 days early. Quote Share this post Link to post Share on other sites
+iesposta #10 Posted November 29, 2015 Nice, posting your source.I would like to say that it can't hurt. In my case with DK Arcade 2600, Byte Knight did the game logic along with Rev Eng and bogax helping. They described it as easy collision and platform checking and movement updates, but to be honest, even after reading the code thousands of times I haven't learned much from it. I couldn't write it that well where it enemies appear to be chasing you. (Of course they are not chasing you, but when you continue to remove paths that an enemy can randomly choose to take, it appears they get smarter at getting to you.) My solo effort would probably be more like how the original 2600 version where the "fire enemies" move back and forth, left and right. I also could not take a written routine and turn it in to nested loops with data tables that bogax seems to do so effortlessly. It is a foreign language that I don't understand. Then there is, in writing code, when you can get the same result by using different batari Basic code. Knowing what the Atari does and what the basic is compiled into, coding a certain way can be save ROM space, or use more ROM space but use less cycles. Code size versus code speed is just one of many compromising choices. The spinning death sprites and where DK inverts and falls to the bottom girders took up so much graphic space, I had to scrap the opening scene where DK climbs the horizontal girders and stomps them diagonally, but those death effects and the selection title screen were chosen over the girder climb/stomp. P.S. I guess it is because I really don't know a lot about coding that I don't understand why you think 35 variables plus a 256 byte file cabinet stack is not enough. D.K. Arcade 2600 uses only 33, plus three stack bytes to flip the score / countdown timer value. I found ways to save hundreds and hundreds of bytes per bank in Princess Rescue and Zippy, but they were deemed "finished" by the time I saw the source code. I can optimize like crazy, but I've never really learned any coding from seeing the source. Again, that may just be me, and I wasn't actively trying to learn new coding or use routines from the source code. I do better with, "Here is a sound effect routine. Change these 12 bytes to make different sounds and call it every game loop." Things like that I can use. Quote Share this post Link to post Share on other sites
+Random Terrain #11 Posted November 29, 2015 Should I remove the title screen and replace it with a simple blocky one so the code will compile without needing a special folder? Quote Share this post Link to post Share on other sites
SIO2 #12 Posted November 29, 2015 I voted no just cause I am feeling contrary today and I didn't want to poke my eye with a banana. Quote Share this post Link to post Share on other sites
+RevEng #13 Posted November 30, 2015 I think most of the value in posting the source code is for programmers that understand the basics of bB. They'll either be looking for answers to specific questions (e.g. how does he slow down the craft?) or seeking out advanced tips. Tune your comments to that audience. Learning the basics of bB by reading a monster program is akin to learning English by reading a Shakespeare play. In fact it's worse, since the crazy pressure on optimizing ROM and RAM usage drives all 2600 games toward a spaghettified structure and intense variable reuse. So its more like learning English from a Shakespeare play with random page order and multiple characters that share the same names. Beginners need "See Spot Run", which you already provide with code snipplets on your site. Quote Share this post Link to post Share on other sites
Papa #14 Posted November 30, 2015 I voted yes AND poked myself in the eye (and then my wife) with at least one banana! Quote Share this post Link to post Share on other sites
+iesposta #15 Posted November 30, 2015 I think most of the value in posting the source code is for programmers that understand the basics of bB. They'll either be looking for answers to specific questions (e.g. how does he slow down the craft?) or seeking out advanced tips. Tune your comments to that audience. Learning the basics of bB by reading a monster program is akin to learning English by reading a Shakespeare play. In fact it's worse, since the crazy pressure on optimizing ROM and RAM usage drives all 2600 games toward a spaghettified structure and intense variable reuse. So its more like learning English from a Shakespeare play with random page order and multiple characters that share the same names. Beginners need "See Spot Run", which you already provide with code snipplets on your site. (Good to know it is not just me. ) You put the point I was trying to make more clearly in your Shakespeare multiple characters with same names analogy. Also, there are title screen kernel tutorials, so leaving that folder out makes compiling less confusing. I don't think there is anything to be learned from the titlescreen folder as it is just data and assembly code to be included. Quote Share this post Link to post Share on other sites
+Random Terrain #16 Posted November 30, 2015 Thanks for the replies Also, there are title screen kernel tutorials, so leaving that folder out makes compiling less confusing. I don't think there is anything to be learned from the titlescreen folder as it is just data and assembly code to be included. Thanks. I'll get rid of it for this version. Quote Share this post Link to post Share on other sites
ZackAttack #17 Posted December 1, 2015 I voted yes AND poked myself in the eye (and then my wife) with at least one banana! Careful. Too many kids and you won't have time to finish programming your games. Quote Share this post Link to post Share on other sites
Sprybug #18 Posted December 4, 2015 Nice, posting your source. I would like to say that it can't hurt. In my case with DK Arcade 2600, Byte Knight did the game logic along with Rev Eng and bogax helping. They described it as easy collision and platform checking and movement updates, but to be honest, even after reading the code thousands of times I haven't learned much from it. I couldn't write it that well where it enemies appear to be chasing you. (Of course they are not chasing you, but when you continue to remove paths that an enemy can randomly choose to take, it appears they get smarter at getting to you.) My solo effort would probably be more like how the original 2600 version where the "fire enemies" move back and forth, left and right. I also could not take a written routine and turn it in to nested loops with data tables that bogax seems to do so effortlessly. It is a foreign language that I don't understand. Then there is, in writing code, when you can get the same result by using different batari Basic code. Knowing what the Atari does and what the basic is compiled into, coding a certain way can be save ROM space, or use more ROM space but use less cycles. Code size versus code speed is just one of many compromising choices. The spinning death sprites and where DK inverts and falls to the bottom girders took up so much graphic space, I had to scrap the opening scene where DK climbs the horizontal girders and stomps them diagonally, but those death effects and the selection title screen were chosen over the girder climb/stomp. P.S. I guess it is because I really don't know a lot about coding that I don't understand why you think 35 variables plus a 256 byte file cabinet stack is not enough. D.K. Arcade 2600 uses only 33, plus three stack bytes to flip the score / countdown timer value. I found ways to save hundreds and hundreds of bytes per bank in Princess Rescue and Zippy, but they were deemed "finished" by the time I saw the source code. I can optimize like crazy, but I've never really learned any coding from seeing the source. Again, that may just be me, and I wasn't actively trying to learn new coding or use routines from the source code. I do better with, "Here is a sound effect routine. Change these 12 bytes to make different sounds and call it every game loop." Things like that I can use. I remember that. Maybe I should call for your services after I release the demo level of Robot Zed and have you look at the code. Quote Share this post Link to post Share on other sites
+iesposta #19 Posted December 4, 2015 I remember that. Maybe I should call for your services after I release the demo level of Robot Zed and have you look at the code. I would love to optimize. The extra space can let you make the final game more polished, or add some creative thing you did not have enough rom to make it. Quote Share this post Link to post Share on other sites
+Random Terrain #20 Posted December 22, 2015 Christmas seems to be coming 27 days early. Speaking of that, I'm not even halfway through updating the code on this 21st day of December. It's looking like it might be more like 27 days after Christmas by the time this monstrosity is ready for the bB page. Quote Share this post Link to post Share on other sites
Lewis2907 #21 Posted January 24, 2016 I would say yes. The "simple blocky one so the code will compile" would work best I think for new programmers like myself. Some code I can look at at see how it works then some is far above what I can do now. Finding sample code and other source code I think would help all of us as Tarzilla said "seeing other people's coding style and techniques". I have started to adopt your style from what you sent back to me a few weeks ago. That was a great start to get me going. Like I said I think anything will help us beginners from the one's who are advanced in programming. Quote Share this post Link to post Share on other sites
+Random Terrain #22 Posted January 28, 2016 The bloated monstrosity is on the bB page now: randomterrain.com/atari-2600-memories-batari-basic-commands.html#ex_seaweed_assault 1 Quote Share this post Link to post Share on other sites
SIO2 #23 Posted February 12, 2016 The bloated monstrosity is on the bB page now: randomterrain.com/atari-2600-memories-batari-basic-commands.html#ex_seaweed_assault Thanks for posting that. It is a great learning assist. Quote Share this post Link to post Share on other sites
+Random Terrain #24 Posted February 12, 2016 Thanks for posting that. It is a great learning assist. Thanks for looking at it. I think you might be the first since I posted it. Quote Share this post Link to post Share on other sites