Jump to content

Fort Apocalypse

Members
  • Content Count

    1,599
  • Joined

  • Last visited

Posts posted by Fort Apocalypse


  1. Is there a list of Atari 2600 games that are 2k somewhere here or on the 'net? If not, I would like to start one of games commercially available (so the Minigame Compo games wouldn't count, but Edtris would since it was sold at one point. It's not that I'm dissing the Minigame Compo games, in fact I love the fact that people are cramming so much into 1 or 2k and wish they'd keep it up.) So, whaddya think?

     

    Why not ask atariage if they will just add size to the list of attributes in the rarity guide?


  2. Having trouble getting paddle emulation to work... (all paddles read as 0- can't even get first paddle to work).

     

    The "argument" line in crimson editor for running stella.exe I have set to:

     

    -bc Paddles -paddle 0 -grabmouse 0 -showinfo 1 -p0speed 20 $(FilePath).bin

     

    Does that look right for mouse emulation? Has anyone gotten paddle emulation via mouse to work when starting stella.exe from crimson editor, and if so could you post your argument line from crimson editor tools -> preferences -> tools -> user tools?

     

    Am I going to have to buy a stelladaptor and paddles to get this to work?


  3. It would be really helpful if bB had a convention to address 4 bits (or even 2) as a number. While you can still accomplish the same with a lot of bitwise logic, it seems like it might be faster to develop if you could address 4 or 2 bits in a var at once as if it were a short and really short int. Not sure what the convention would look like to address these vars though, and I'd bet it would be extremely hard to implement.


  4. Any suggestions? I'm not sure where else to go with it other than maybe trying to reuse player0 and player1 sprites for even more sprites (but that might be too busy), changing the behavior of player0/1 sprites... at a creative loss and I know it is no where as good as it should be. I don't know how to reuse player0/1 sprites as actual player sprites without getting really crazy with collision detection (like did player0 collide with player0... huh?)


  5. This might be a good candidate for using multisprite kernel also. That way you could have up to 5 bananas falling at once and maybe add some things that you have to avoid. Eat fruit, avoid candy. Or maybe it could be Atkin's where you avoid carbs.


  6. Check out what I did in Insane Painter.

     

    It defintely is not the optimal way to determine playfield collision with a ball/missile, but it seemed to work.

     

    Note there is some really funky stuff going on in it (not that is it complicated, just a little convoluted). Specifically some funkiness is that once the missile1 comes on the screen the ball reacts to the missile collisions which was not originally intentional, but it added some chaos to it that I think made it a little more fun. If you forgive it not having any dim statements of note :) you might be able to reuse the pfread parts of it. Note also that the offset/division to determine pfread and pfpixel locations is not perfect, but was close enough for me.

     

    Here is some sample code from it for collision (I think batari or michael or somebody came up with the original divide by 4 / divide by 8 thing to find the playfield x,y location, but they had an offset that it didn't seem like was needed for a small ball- it was probably for a player sprite):

     

    doball

    if d < r then d = r : f{0}=1

    if d > 145 then d = 145 : f{0}=0

    if e < r then e = r : f{1}=1

    if e > 91 then e = 91 : f{1}=0

     

    if f{0} then d = d + r else d = d - r

    if f{1} then e = e + r else e = e - r

     

    if collision(ball,playfield) then m = d : n = e : gosub ballcl

     

    ...

     

    ballcl

    if m > 16 then m = m - 17

    m = m / 4

    n = n / 8

     

    if m < 31 then m = m + 1

    if f{0} && pfread(m,n) then f{0}=!f{0} : pfpixel m n off

    if m > 1 then m = m - 2

    if !f{0} && pfread(m,n) then f{0}=!f{0} : pfpixel m n off

    m = m + 1

    if n < 10 then n = n + 1

    if f{1} && pfread(m,n) then f{1}=!f{1} : pfpixel m n off

    if n > 1 then n = n - 2

    if !f{1} && pfread(m,n) then f{1}=!f{1} : pfpixel m n off

    n = n + 1

     

    rem for t = 1 to 3 : pfpixel m n flip : drawscreen : next

    pfpixel m n off

     

    rem this sets the a var I was looking at to do a sound

    s = 17

     

    ...

     

    return

     

    ...

     

    in the gameloop...

     

    rem sound for the collision

    if s > 0 then s = s - 1 : AUDV0 = s : AUDC0 = s : AUDF0 = s : AUDV1 = s : AUDC1 = s : AUDF1 = s


  7. Great game!

     

    There is a way to check for higher score. Look at

    Random Terrain's Batari reference.

     

    Specifically copying the relavant part of that doc:

    If you plan to check to score, you will need to break out its 6 digits into 3 sets of two digits and check each one. One way to pull out the score digits is:

     

    dim sc1=score

    dim sc2=score+1

    dim sc3=score+2

     

    sc1 will contain the first two digits, sc2 the 3rd and 4th, and sc3 the last two. Since these are all BCD numbers, you need to place a "$" in front of any values you check. For example, to check if the score is less than 10:

     

    if sc1=$00 && sc2=$00 && sc3<$10 then ...

     

    To check if the score is greater than 123456:

     

    if sc1>=$12 && sc2>=$34 && sc3>$56 then ...

     

    Breaking out score digits is also useful for setting the score to display special values or custom graphics. You can modify score_graphics.asm to include definitions for digits "A-F" and set the score digits manually. How to do this is beyond the scope of this document, but it has been discussed in detail in the AtariAge 2600 Basic forum.

     

    I think I did pretty well for the first try on easy level: :) (my sad reflexes couldn't get me any higher)

    post-7602-1189043019_thumb.png


  8. I'd say post it. If you are worried you could include a BSD-style license in the top to keep people from taking it and making a professional product out of it- but I seriously doubt we have to worry about that here. The community would shun anyone who did something crappy like stealing a game and selling it, I would guess.

     

    I was thinking recently though of a few ideas:

     

    * A sourceforge project called "Atari 2600 Batari Basic Games" (or similar) that could contain a lot of different games. If you guys aren't familiar with subversion source control it is way easy to use (much better than cvs) and sourceforge now supports it. For example to get the code the very first time you use:

     

    svn co (url of your project)

     

    to update your code you do:

     

    svn up

     

    to commit (save version) of your code you use:

     

    svn commit

     

    and there are GUI's like TortoiseSVN (I think that is the name) among others that make it simple to use from windows explorer/filesystem like interface.

     

    * Someone like atariage hosting a wiki for batari basic tips and tricks. The forum is way cool, but it is a pain to find stuff on. While I like the scavenger hunt aspect to finding info, a wiki may be better. MediaWiki is free so would be a good choice and it is versioned, so even if someone messes it up, you can bring the old version back.


  9. This thread is way cool. :) Can't wait to try the game! This kernel looks like it would be great for doing some sort of strategy/simulation game also, or board games (chess/checkers/chinese checkers/maybe even mancala!). I'm probably getting way ahead of myself.


  10. 4 player paddle racing game (a little similar to Indy 500). 4k.

     

    Works much better now! Playable, but still mostly testing the steering and driving as proof of concept, so if you have paddles let me know how it drives.

     

    Michael designed the pit stop (now I just need to implement a need for it). Curtis did the 4 player colored lap counter. Thanks to Michael, Batari, Curtis, Lord Mike, and everyone else for the advice.

     

    Notes:

    * I don't have paddles, and playing it in Stella is difficult. I have a feeling the steering part still needs work. Maybe if you have paddles you tell me whether the steering is too rough and maybe even suggest what is wrong and how I could fix that.

    * You can move the cars around in any of 16 directions using the paddle buttons as accelerators.

    * The player icons are now tied to direction

    * Has sound for all four engines

    * Has lap count and working lap detection

    * Has fuel gauges (lines to left and right of playfield). When fuel runs out, car is slower.

    * Direction works better than previously

    * Real Indy car sprites (thanks to batari)

     

    See below for latest version (0.8 )

    post-7602-1194095830_thumb.png

    ultindy500_0.8.bas.bin

    ultindy500_0.8.bas

    • Like 1

  11. Really cool game! I really like the cave designs, the player design, some of the enemies are scary looking (like the cobra) and others are hilarious looking! (I mean that as a compliment- it's fun!) I kind of get the feeling that the character is delusional (maybe he hit his head during the cave-in?), because it reminds me a lot of the pink elephants part of the movie Dumbo when some of the enemies appear.

     

    Some ideas (if you can still fit them in):

    * Would be nice if there weren't so many pink enemies (maybe throw in some other colors?)

    * Would be nice if the enemies were more colored in (so they don't look like ghosts)

    * Would be nice to have multiple enemies per screen

    * Would be nice to throw in a pit or two that you have to walk around or you fall into (and die?) with some E.T.-like falling animation would be nice

    * The flashing walls rooms might look nicer (maybe) if they were a slightly changing colors of off red to make it look like lava or really hot rock somehow. The flashing just makes it look too spacey to me.

     

    Super cool stuff! Haven't found the cool parts yet!


  12. Was following the tutorial for installing the latest version of bB. I downloaded everything I need I think plus 2600ide. I opened up a sample .bas file and compiled it. Then tried to run it in the latest Stella and all I get is some noise playing over and over and a blue color on the screen. I tried with draw.bas and also the zombie one and neither worked for me.

     

    What am I doing wrong? I have Win XP Pro, 1GB ram, 2.4Ghz processor, 80Gig drive, GeForce 6800 GT OC 256mb video, etc.

     

    When it makes the awful noise it usually means it didn't compile correctly.

     

    I'm no expert, but for the time I have been programming bB so far, I'd recommend Crimson Editor. I don't like the way it handles block selections of code, but other than that, it is pretty good to just be able to ctrl+1 (compile) and ctrl+2 (run). If you follow the instructions on the Batari site, it will get you up and running in no time. Don't worry about the stuff you would miss from 2600ide like the sprite editor and so forth. There are online versions of that with much more functionality. (See this)

     

    The main things to remember when starting development are:

     

    * Read this and refer to it often

    * Make sure you pop as many times as you need to within a subroutine before calling goto from it (two levels deep = pop : pop

    * All lines MUST be indented one space EXCEPT tags (or line numbers) and the "end" after defining a playfield/sprite.

    * Do what you can to not address things that have range maximums < 255 (for example, sound TIA registers, pfread, pfpixel, ...)

    * When the page above refers to a hex with an "x" in it :) it doesn't mean you should use an "x" (a copy and paste error I made which had wierd results and still compiled)

    * Lots of stuff compiles that maybe shouldn't (it is very relaxed), and you won't get nice error stacktraces :) (ha!)

    * If there is no goto or return at the end of some code you are executing it will just keep running to the next stuff and even off the page! (and into the beyond!) (another obvious thing that I missed at one point)

    * Be prepared for some pretty crazy stuff

    * Don't if within an if if the first if has bit conditionals, and be careful with elses in ifs after ifs (it is an else for the first if not the second one I think)

    * You CAN reuse code and subroutines... be inventive! For example if there was a subroutine I wanted to work on x,y and also e,f I would reference m and n in the subroutine and then assign before the gosub like m=x : n=y : gosub sharedsubname for the first scenario and m=e : n=f : gosub sharedsubname for the second scenario. There are also temp variables (see the link above for details).

    * Unless you are dividing by a power of 2, you must put include div_mul.asm at the top of the code somewhere

    * set kernel_options no_blank_lines gets rid of the blank lines in the playfield, but uses missile0 to do it

    * (when using const pfscore=1) pfscorecolor overrides playfield color

    * Even if it scares you a little, use bits and remember binary. It is your friend.

    * There are only 26 variables (?) a-z (not counting temp vars) I think (check the doc above, but that is all I use)

    * By default you only have 4k. It ain't a lot and you can use more, but it is more fun to try to work within it

    * If you get past the frustration, it is a heck of a lot of fun to try to develop within the boundaries of the system, even just in bB!

     

    Also stuff I learned about posting games to a thread:

    * Under manage current attachments click the X next to a file you upload to delete it so you can put another one in the same post, then you can always keep the latest version in the top post of the thread.

    * I started saving the file with a version number in the filename, that way people know it is updated.

    * It won't let you attach an asm file for some reason

    * Use F12 to take screenshots in Stella and then post the pngs to your thread

     

    Good luck and have fun!


  13. Hey,

     

    Hoping someone might have a suggestion. I am working on a game, Insane Painter, in which the ball is being used, missile0 is being used to get rid of playfield empty lines, missile1 is being used (like a ball), and player0 and player1 sprites are being used as enemies. So since the game was about "painting" the playfield, I was just flickering part of the playfield to indicate the two "good guy" players, but I'd like to use player sprites in place of them if possible to do this and still retain the two "bad guy" player sprites that appear later in the game.

     

    Restrictions:

    * I don't think I can use the multisprite kernel because the playfield can't be mirrored in this game.

    * I think collision detection will need to be separate for each "good guy" player, and will need collision detection to know when each of the two "good guy" players has been hit by ball, missile1, or either of the two enemies (which are currently player0 and player1).

     

    Any ideas for how I might be able to utilize sprites for both good guy players and bad guy sprites and still be able to handle collisions between the two?

     

    Thanks!


  14. Ok... been trying to figure out bugs in my game today, and my first bug find was a bug in the code that I had written to try to reproduce bugs! :)

     

    However, I did find what looks to be a bug in subroutines in Batari Basic. Please try out the attached code and hit the select button 4 times. On the 4th time, it turns the pfscorecolor a color I didn't set it to and freezes.

     

    Happens in Stella 2.3.5 in Win XP.

     

    Thanks in advance...

     

    gosub_bug.basgosub_bug.bas.bin


  15. Months ago I used to be able to view forum posts in a topic as a long straight list by post date instead of by thread. Then something happened and now I've only been able to see posts by threads which is really annoying and I can't tell what the latest posts are very easily. Does anyone know how to fix this?

     

    Would be nice if there were obvious "list posts by created date" and "list posts by thread" links at top of each forum page.

     

    Also, it took me a while to figure out how to delete attachments. It would be good when you try to post over 7 attachments if it said click on the "X" by each attachment to delete in the Manage Current Attachments dropdown.

×
×
  • Create New...