-
Content Count
9,937 -
Joined
-
Last visited
-
Days Won
35
Content Type
Profiles
Member Map
Forums
Blogs
Gallery
Calendar
Store
Everything posted by Gemintronic
-
Keep at it! Zzyzzyxx deserves some love. Also, by sharing your code in-progress I learned some end-user ettique.. like actually allowing reset to happen *cough* ("if switchreset then reboot ") *cough* Not that you asked for it but I made an attempt at Zzyzzyxx enemy sprites and a few other. Boris player1: %01000010 %10000001 %10000001 %01100110 %11111111 %11011101 %10011001 %01100110 end Lola player1: %11111111 %11011011 %00011000 %00111100 %00011000 %00011000 %00100100 %01111110 %11011101 %10011001 %01111110 %11010111 %01011010 end Present player1: %11111111 %10011001 %11001101 %11100111 %10110011 %10011001 %10001001 %11111111 %01111110 %10100101 %10100101 %01000010 end Flower player1: %00001000 %00101000 %00010100 %00011000 %01100110 %01100110 %00011000 %00011000 end
-
Wow, those headphones are annoying to catch. I say double down and make the maze change itself periodically. Also, have a beer bottle that seeks you out and when it hits you your controls get reversed
-
So far you're not using the ball. Could you set the bally to 0 and use the ball color and y value as extra variables? Also, are the score bars free? You could set pfscorecolor to black and use pfscore1 and pfscore2 as extra vars. Please note I'm talking out my nether regions and have no idea if these hacks will work I also have a sneaking suspicion all those variables don't need to be used to move the blocks around or create/deal with the gaps. I suspect there would be a nice, clean for -> next loop that could do things with less vars. Also, in the beginning the random gaps in the rows could be a few randomized pfpixel off commands. Sorry for not giving a clear example here.
-
Got to go with A as well. C and D are too chunky. B looks like the leaf color is bleeding into the trunk.
-
What's the Highest Settings for Batari/Melody Cart?
Gemintronic replied to Gemintronic's topic in Harmony Cartridge
Thanks for the response! Does this mean that Batari itself (as of 7/4/10) is limited to: set romsize 32kSC Which means 8 4k banks of ROM and 128 bytes of RAM with SuperChip extensions for playfield? Whereas assembly gurus can take advantage of the full 32k ROM (400k with workarounds) 8k RAM and DPC chip features? -
I suppose rand = worldx and rand = worldy would work but it'd generate the same room right? Say if the rand result for a worldx seed is 15 and the rand result for worldy seed is 10 and I added them.. we get 25 now if the rand result for a worldx seed is 10 and the rand result for worldy seed is 15 and I added them.. we get 25 The result is both world screen (15, 10) and (10,15) are gonna be the same. Gotta be a way around that. Thanks for sticking with me so far
-
Eventually I want to have a real game on a real cartridge. My questions is, what is the most storage/RAM/feature laden a cart can get can still be compatible with Batari and Melody cart? It seems like Batari and Harmony/Melody might support SuperChip and up to 32k games. I'm talking about the limitations of both Batari and Melody/Harmony here.
-
I'm not sure I understand yet. The standard "rand" statement always returns the same value for a given seed. For example, "rand=1:a=rand" will always return 180, "rand=2:a=rand" will always return 1, "rand=3:a=rand" will always return 181, etc. Is that what you're looking for? Michael That would be it. I guess that's why people talk about seeding the rand function with a user joystick press. The randomness of human reflex makes the seed different for each game. I didn't know if rand really worked that way. Thanks for clarifying! I suppose this could do: rand = worldx whatscreen = rand rand = worldy whatscreen = whatscreen + rand Of course, worldx = 10 worldy = 15 is gonna get the same whatscreen value as worldyx= 15 worldy = 10 thus the same room.. maybe?
-
Hey! Any bug you don't plan on dealing with is a feature! It's, ehh, my PAUSE feature! Yeeeeah.. No START button on an 2600 so I had to do something *cough* Sigh.. added to the known issues list. Thanks As a side during development I tried using a constant called "coin" and compiling barfed. Changed that sucker to "bonus" and all was good. I never got a reply from beoran about his experiences with constants bugs in Ature. He actually resorted to using a C preprocessor apparently.
-
Thinking about MausBoys "Holy Grail" of an Ultima clone for 2600 I realized level data would be a real concern. My thought would be to have a pseudo random number generator to provide the type of screen given a position in the world map. So, say, worldx = 10 worldy = 10 would always be screen type 6. Something like prand( worldx + worldy ) = 6 given a seed of 33 (or whatever). I've used this in another language: #define rand var a, m, p_rand, range; a = 16807; m = 2147483647; range = argument0; if (range < 0) { global.p_rand_last = -range; return 0; } global.p_rand = (a * global.p_rand_last) mod m; global.p_rand_last = global.p_rand; return (global.p_rand / m) * range; #define rand_ext var a, m, p_rand, range; a = 16807; m = 2147483647; range = argument0; stream = argument1; if (range < 0) { global.p_rand_ext_last[stream] = -range; return 0; } global.p_rand_ext = (a * global.p_rand_ext_last[stream]) mod m; global.p_rand_ext_last[stream] = global.p_rand_ext; return (global.p_rand_ext / m) * range; Of course, much of the math doesn't carry over to Batari. I'm going to have to think small. I don't care about random distribution much. All I want is the same number given a value and a seed. I'd even put up with a hard-coded seed. Any thoughts on how to proceed? What would such a Batari function would look like? Could I get away with: function prand rem add seed value result = seed rem add argument result = result * temp1 return result end
-
Next game gets screenshots before post. Thanks for the feedback and gentle hint I tried a few new things with this game. The log flips itself around every frame and mostly overlaps - leaving a little flicker around the edges to simulate a different color using the TV phosphor effect. I haven't seen this documented but when the playfield is symmetrical and you use pfscroll left or right it creates the water parting effect. I never made a call to make the playfield symmetrical and the title screen seems alright. Somehow in-game the playfield reverts to symmetrical. I had to work around this in the end game screen by keeping "THE END" and the hand on separate sides as the right half of the playfield gets reversed. High score so far is 5000 something. Still don't have the chops to store and compare the score yet. Comparing the score is documented but I'm not sure about storing it to another variable (or variables).
-
Uppa Creek! by TheLoon from Lakavision Limited You're up a creek - thank goodness you've got your trusty paddle! Steer clear of logs, lemon sharks and broken branches! Bonus points are awarded for catching the golden paddle. Take too much damage and it's a watery grave for you.. Sorry for the lack of screenshots KNOWN ISSUES: * Sometimes sprites goof up if too close to the edges. * Still messy coding. Getting a tad better though. yuppicide: Enemies can push you down out of screen for near invincibility uppacree.bin uppacree.bas
-
Ya, different AI variations would be a good upgrade. Also, maybe using the ball as an obstruction. The high score problem turns out to be the fact that score is the only 6 digit value allowed. "hiscore = score" wont work because hiscore only allows 0-255 as a value. Apparently you have to do some pretty tricky stuff to mess with the score besides adding or subtracting. It'd be nice if a tutorial to store and compare the score showed up.
-
My Mother, of all people, managed to get a score of 900. I guess she does have some arcade chops! I've seen the tub juke the shot more than a few times. It's funny how that AI consists of a random 1 in 255 chance and yet..
-
Many thanks for the feedback! Really, even this tiny morsel of a game wouldn't be possible without the support I've been given here. You guys rock! The Harmony Cart also helps me get enthused about making games. The dream of producing a real cart is too irresistible =) @Yuppicide: If you can't figure out why the high score reverts to 56 then I don't feel so bad I appreciate the effort though!
-
Thanks for the screen-shots "Reverse Kaboom"? I'm sure there's a double entendre in there somewhere As stated, that darn 56 hiscore is present in the screen-shot. Ack!
-
So, here's this Giant Enemy Crap! This is an Atari 2600 conversion of Drunken Pooper. http://www.youtube.com/watch?v=8jy4nO-G0iI You get 3 levels of Blood Alcohol Concentration at the far left. Every miss lowers your BAC until all 3 are used up - game over! Every direct hit into the tub replenishes all your BAC. I take no credit for the game as it is merely an homage to the original developers awesome concept, gameplay and art. KNOWN ISSUES: * Code is sloppy at best. My only excuse is this is my first Batari game. UPDATE: Bogax implemented the hi-score support from examples posted here at AtariAge! DPooper.bin DPooper.bas
-
The source for Ature mentions bugs in Batari Basic constant definitions.. What are they? I'd hate to stumble over issues you've already worked around
-
I already consider this more than answered but another thought draws near! Do 'yall think there's a method that uses modulus to keep the value within desired bounds? I heard adding a value that would total more than 255 simply wraps around so 255 + 10 would be 9 or 10ish right? Would there be a method like rand + value that would do the job? Maybe a = rand if a > 128 then a = a + 128 ..crazy, half-thought out concepts I know @GroovyBee: Thanks for the reality check
-
Found the Consolas font that seems to work okay with VisualbB http://www.microsoft.com/downloads/details.aspx?familyid=22e69ae4-7e40-4807-8a86-b3d36fab68d3&displaylang=en You must have a license for Visual Studio 2008, but, hey, doesn't a trial or express version count? As a side I noticed that (under XP SP3) you cannot install a font while VisualbB is running and expect it to use it under Settings -> Select font. Workaround is to close VisualbB, install font and then reopen VisualbB If anyone has a better font I'd love to hear about it!
-
You guys just plain rock!! Thanks for sharing the brain-power. I was getting stuck on what I want and not what I can do. To sum up, either: Use the closest matching number of possibilities a=(rand/2)+1 (a number between 1 and 128) a=(rand/4)+1 (a number between 1 and 64) a=(rand/8)+1 (a number between 1 and 32) a=(rand/16)+1 (a number between 1 and 16) a=(rand/32)+1 (a number between 1 and a=(rand/64)+1 (a number between 1 and 4) ..or just adjust your thinking as RevEng did to make your desired result a percentage of 255. I bet a 10 percent chance would be something like if rand < 25 then gosub massive_damage jroks code (see above for details) actually does what I originally intended so bonus points there! I must remember that cycles are precious on the 2600 so it should be used sparingly.
-
Thanks for the reply! I was thinking of the usual stuff. "If a random value is 3 out of a possible 41 then change enemy AI tactics" "If a random value is 1 out of a possible 195 then the treasure chest has a golden sword" In Batari specific terms I was forced to use: if rand = 255 then gosub change_tub What I would like is to return a value within a different range than just 255. Say, change the direction if I get a 1 out of 44. @Yuppiecide: Much respect for looking. I'll keep searching through RevEngs posts. Maybe I'll get lucky. Also, I'll study your provided example until I understand what h = rand (& 26) means
-
No, but you can write a function that does something similiar. Thanks yuppicide and jrok for your ideas! So far I've seen the keep-repeating-rand style and its variant halve-the-value-until-within-range. My stop-gap solution is to just use closest match evenly divisible values (i.e. rand/2, rand/4 etc) @jrok: If you've got a trick up your sleeve to make a QuickBASIC conversion of RND I'd like to see it! Frankly I'm not sure I've got your chops in either QuickBASIC or Batari to even consider it. If you've got example code I'm sure it'd make alot of newbies shoot pellets out their shorts in glee
-
Are there any Atari 2600 sprite animation tutorials?
Gemintronic replied to Random Terrain's topic in batari Basic
Not Atari specific but at least low resolution.. http://www.manningkrull.com/pixel_art/tutorials/walking.asp Another thought is to prototype your sprite animation in Game Maker. Its IDE has a built-in sprite preview and an OK paint utility. You can drag-and-drop simple controls to move the sprite around in-game too. Most of my time in the game those screen-shots were taken from was spent copying the previous sprite and adjusting pixel by pixel each arm, leg, tail, etc.. -
I remember using something like "INT(199 * RND(1)))" to get a result within 1 to 199 in QuickBASIC. Is there an approximation in Batari? Maybe there's a way using modulus. Something like "rand MOD 199" Any clues guys? I've done a search with some hits but nothing clear.
