Jump to content

Lillapojkenpåön

Members
  • Content Count

    486
  • Joined

Posts posted by Lillapojkenpåön


  1. So how do you load your background if you don't use plotmap and plotmapfile doesn't work with more than 3 colors?

    I have doublewide on allready, how would I draw the map otherwise to reduce render time?

     

     

    I drew a new map and to clarify

    this works but my fourth color missing ofcourse

    incgraphic testsprite.png 160A 0 2 3 1 

     

    switching to this now only gives me a black screen

    incgraphic testsprite.png 160B 0 2 3 1 5

     

     

    both with this

         plotmap tiledMap4colors 0 0 0 20 12


  2. Thanks for the info!

    3 hours ago, mksmith said:

     

    With incgraphic you only include the indexes (0-3 for 160A or 0-15 for 160B

     

    If you use plotmapfile you also have to include palette_# after 0-3

    that was the problem, guess you have to use plotmap instead if you want more colors, that worked.

     

    Do you have to create your tiled maps differently when using 160B instead of 160A?

    My tiles are now half overlapping eachother so the map only covers half the screen.


  3. On 2/8/2020 at 11:43 AM, mksmith said:

    Hey guys,

     

    I thought creating a video might make explaining the sprites and colors in 7800basic (from the Sprite Editor) a little easier! (wow don't you hate hearing yourself!)

     

     

    I've also attached the source code if that makes the examples a bit clearer.  It's also very possible I may have got something not quite right so if you have any questions please don't hesitate to ask 👍

    7800basic.SpritesAndPalettes.zip 4.39 kB · 15 downloads

    When you are using 12+1 colors, it still says displaymode 160A, is that just a typo?

    And I can't see where in the incgraphic command you are telling it to start with palette 0, the first 0?

    I just added a fourth color and when I try the same thing and everything else I can think of I just get an error

     

    plotmapfile didn't find a palette for testsprite


  4. Is that nusiz copies you're shooting?

    when I did that in a test, I only checked the hitboxes of the enemy that was in the same vertical region as the missile, so max one check per frame, maybe you're allready doing that but otherwise this is how I did it, some is batari basic but I'm sure you can read it.

     

    player0 was my missile and the player1 array the enemies

     asm
    
     ldx #number of enemies - 1
    
    
    
    .verticalCheckLoop
    
      LDA player0y
    
      clc
    
      adc player0height
    
      CMP player1y,x
    
      BCC .noOverlap
    
    
    
      LDA player1y,x
    
      CLC
    
      ADC player1height,x
    
      CMP player0y
    
      BCC .noOverlap
    
    
    
      ;EXIT LOOP WHEN A MATCH IS FOUND
    
      STX trick   ; store x to temporary trick variable before exiting
    
     jmp .exitLoop
    
    
    
    .noOverlap
    
     dex
    
     bpl .verticalCheckLoop
    
    
    
     jmp .skipCollisionCheck  ;if no match was found during the loop
    
    
    
    .exitLoop
    
    end  ;assembly end
    
    
    
      ;prepack some calculations
    
      temp4=player1x[trick]+8   ;RIGHT EDGE OF FIRST COPY
    
      temp5=player1x[trick]+32   ;LEFT EDGE OF SECOND COPY (RIGHT = 40)
    
      temp6=player1x[trick]+64   ;LEFT EDGE OF THIRD COPY (RIGHT = 72)
    
    
    
       temp2=_NUSIZ1[trick]
    
     
    
     ; go to the correct horizontal hitbox checking based on how many nusiz copies
    
     if temp2= $06 then goto which7w3 ;$06
    
     if temp2= $02 then goto  which7w2l ;02
    
     if temp2= $04 then goto which7w2w ;04
    
     if temp2= $00 then goto  which7w1 ;00
    
    
    
    which7w3
    
       ;```````````````````````````````````````````````````````````````
    
       ;  If sprite on the left was hit, switches to 2 medium copies
    
       ;  and moves copies to the right side.
    
       ;
    
       if temp3 >= player1x[trick] && player0x <= temp4 then  _NUSIZ1[trick]=$02: player1x[trick]=temp5 : goto done
    
    
    
       ;```````````````````````````````````````````````````````````````
    
       ;  If sprite on the right was hit, switches to 2 medium copies
    
       ;
    
       if temp3 >= temp6 && player0x <= player1x[trick]+72 then _NUSIZ1[trick]=$02  : goto done
       ;```````````````````````````````````````````````````````````````
    
       ;  If sprite in the middle was hit, switches to 2 wide copies.
    
       ;
    
       if temp3 >= temp5 && player0x <= player1x[trick]+40 then _NUSIZ1[trick]=$04   : goto done
    
    
       goto skipCollisionCheck   ;if no copy was hit
    
    
    
    
    
    which7w1
    
       ;```````````````````````````````````````````````````````````````
    
       ;  Last copy on current row is removed off screen and nusiz copies is reset to three.
    
       ;
    
       if temp3 >= player1x[trick] && player0x <= temp4 then player1y[trick]=189 : _NUSIZ1[trick]=$06  : goto done
    
    
      goto skipCollisionCheck   ;if no copy was hit
    
    
    
    
    
    
    
    which7w2w
    
       if temp3 >= player1x[trick] && player0x <= temp4 then player1x[trick]=temp6 : goto lastCopy
    
       if temp3 >= temp6 && player0x <= player1x[trick]+72 then  goto lastCopy
    
    
    
      goto skipCollisionCheck   ;if no copy was hit
    
    
    which7w2l
    
       if temp3 >= player1x[trick] && player0x <= temp4 then player1x[trick]=temp5 : goto lastCopy
    
       if temp3 >= temp5 && player0x <= player1x[trick]+40 then  goto lastCopy
    
    
    
      goto skipCollisionCheck   ;if no copy was hit
    
    
    lastCopy
    
    
    
      _NUSIZ1[trick]=$00
    
    
    
    done
    
     ; code for what happens when you hit an enemy goes here
    
    
    
    
    
    skipCollisionCheck
    
     ; if no copy was hit you land here

     


  5. Ok thanks! It compiles now but still just a black screen

     

    do you see anything else wrong?

     

    Spoiler

     

     set tv ntsc

     set zoneheight 16

     set tallsprite off

     

     set doublewide on 

     set basepath graphics 

     

     

     displaymode 160A 

     

     incgraphic testsprite.png 160A 0 1 2 3 0

     incmapfile testmapfile.tmx

     

     

      P0C1=$26 ; P0 is for Palette 0, C1 is for Color 1.

     

      P0C2=$24

     

      P0C3=$04



     

     clearscreen 

     

       plotmapfile testmapfile.tmx testmapfile 0 0 20 12

     

     savescreen 

     drawscreen

     

    mainloop

     BACKGRND=$0E

     

     restorescreen 

     

     drawscreen 

     

     goto mainloop 

     

     


  6. 3 hours ago, RevEng said:

    For any tiles that are used in a mapfile, the incgraphic statement for those tiles needs a palette parameter. Otherwise 7800basic doesn't know which tiles in that map should, for example, use the palette set aside for water colors, and which should use the palette set aside for ground colors.

     

    See the incgraphic docs for more info.

    I have read that many times and other threads about the same error, but I'm obviously missing something

    incgraphic testsprite.png 160A 1 2 3 0

    123 being the different colors and 0 the "palette parameter"?

    but rt seems to use 0-2 for colors instead of 1-3? and in other examples it seems like the first number is the palette followed by the colors?

    I'm confused.

     

     


  7. I had forgotten to incgraphic.. but now I get this error?

    ERROR, plotmapfile didn't find a palette for testsprite

     

     set tv ntsc

     set zoneheight 16

     set tallsprite off

     

     set doublewide on 

     set basepath graphics 

     

     

     displaymode 160A 

     

     incgraphic testsprite.png 160A 1 2 3 0

     incmapfile testmapfile.tmx


     

     ; Set Palette 0 Colors – as I commented, it sets Palette 0.

     

     ;P0C1=$26 ; P0 is for Palette 0, C1 is for Color 1.

     

     ;P0C2=$24

     

     ;P0C3=$04

     

       P0C1 = testsprite_color1

       P0C2 = testsprite_color2

       P0C3 = testsprite_color3

     

     rem ** setup Palette 1

     

     P1C1=$12

     

     P1C2=$F6

     

     P1C3=$Fc



     

     clearscreen 

     

       plotmapfile testmapfile.tmx testmapfile 0 0 20 12

     

     savescreen 

     drawscreen

     

    mainloop

     ;BACKGRND=$00 

     

     restorescreen 

     

     drawscreen 

     

     goto mainloop 


  8. Hello, I'm trying to use tiled to make a plotmap, I first used the sprite editor in atari dev studio to make an 8x16 tile, then followed this tutorial, but I get these errors

     

    User-defined 7800.asm found in current directory

     

    --- Unresolved Symbol List

    TWOPADDLESUPPORT         0000 ????         (R )

    TRAKTIME                 0000 ????         (R )

    MOUSEXONLY               0000 ????         (R )

    MOUSE0SUPPORT            0000 ????         (R )

    testsprite               0000 ????         (R )

    MOUSE1SUPPORT            0000 ????         (R )

    PADDLESUPPORT            0000 ????         (R )

    PADDLERANGE              0000 ????         (R )

    PADDLE0SUPPORT           0000 ????         (R )

    PADDLE1SUPPORT           0000 ????         (R )

    MOUSETIME                0000 ????         (R )

    CANARYOFF                0000 ????         (R )

    DRIVINGBOOST             0000 ????         (R )

    TRAKBALL0SUPPORT         0000 ????         (R )

    TRAKBALLSUPPORT          0000 ????         (R )

    DEBUGWAITCOLOR           0000 ????         (R )

    TRAKBALL1SUPPORT         0000 ????         (R )

    CANARRYOFF               0000 ????         (R )

    PADDLESCALEX2            0000 ????         (R )

    TRAKXONLY                0000 ????         (R )

    PADDLESMOOTHINGOFF       0000 ????         (R )

    PRECISIONMOUSING         0000 ????         (R )

     

    and

     

    Fatal assembly error: Source is not resolvable.

     

    Cartridge size not a multiple of 4K bytes!

     

     

    it has testsprite as unresolved symbol, thats the tile I made in the sprite editor, but it's also the name of the tileset in tiled, and that seems to be what it's refering to, what could be wrong?

    And what does the .spe file do?


  9. 30 minutes ago, TIX said:

    you can keep the rectangular shape (mostly) but animate the hell out of it  🙃

    rough example below:

     

    test.gif.7084a907b11b41667d2f2c303b5331a5.gif  

     

    test-sheet.png.575fa9d967f23ea017ee6b474372d579.png

     

    That's really cool, but it became to complicated for several reasons not just hitboxes, I would need seven or fourteen variations of all those frames for going on and off screen, unless masking player0 can be added to the arm code, also with the previous attempt I really tried to keep it simple but it escalated real quick

     

    for example if your going right you set it to that walking sprite, but now if youre also jumping you overwrite that and start jump animation, but not if there's roof above you, well yes actually but not if it's emediately above you, well actually yes that to since that will happen if you jump up and hit your head, those two scenarios will look exactly the same but one requires that you don't begin jump animation and one that you end it and start fall animation,

    you would also have to have some mix of an animation frame counter and then holding the last fall frame while falling, and last jump frame while still moving up, that's just the start, you have to make sure while this is happening pressing left or right in the air doesn't change to the going left and right sprites, and the combinations and possibilities just continues on and on and on.

    • Like 2

  10. On 9/2/2020 at 5:52 PM, SpiceWare said:

    I was wondering how your project was progressing, that turned out really well!

    Thanks! It wouldn't have existed at all without your help my friend.

     

    15 hours ago, ZeroPage Homebrew said:

    wow WOW WOW! What an incredible platformer @Lillapojkenpåön, such smooth and natural feeling jumping and movement. Great first level! The fact that the enemies transition between screens is also awesome, reminds me of the enemies in the amazing puzzle shooter Caverns.

     

    PLEASE continue making this game, more levels please!

     

    Also, it plays perfectly on real hardware, below is a video of me beating the first level (both ways) on my RGB Light-Sixer:

     

    Thank you! 

    I don't know what direction to take it tho?

    I tried adding an animated human sprite with different animations for jumping and ducking and stuff but it became way to complicated, changing hitboxes, and not getting stuck when the sprite changed size, and moving on and off the screen smoothly, so the player sprite has to be really simple.

     

    I tried making moving platforms out of the missiles but you can't get them to move on and off the screen smoothly, unless they are only four pixels wide and move four or two pixels every time, maybe I can try that again..

     

    And the biggest thing I wanted to do was having all of the enemies x positions in zero page variables, and if it was in the visible window copy it and draw it with an unused virtual sprite, that way you could have 4 enemies on one screen, 5 one the next, 4, 5, 4... so that when you scroll between them there's never more than 9 visible, but alot more enemies than that in each level, I'm sure that's possible but something prevented me from doing it?

     

    So this game attempt was just one big fail/time waste reminder that I wanted to be alot more, and had given up on trying to make it into an actual game, but if you say it's good I'll try to make it a little better. 

     

    • Like 3

  11. I started by downloading every bas file I could find to an example folder, and I remembr looking at them and wondering why some people read the joystick before the drawscreen and some after, it took a worrisome long time before I got that it's a loop, and that they both where before or after the drawscreen depending on how you look at it, there's a thread of beginner examples at the top of this bB section, it took me about two weeks to copy code from those and make a spaceship fly around and shoot a missile, and I've been hooked on programming ever since then, also you will start by making code that's incredibly over complicated, it start's to get really fun when you get how to make things simple, actually it's fun all the way.

     

    One advice I would give myself both then and know is to not worry if you don't get exactly how something works, just continue and and you will get it eventually.

    • Like 2

  12. I saw in the latest zph stream that someone was making a multisprite kernel hack with scrolling, well I made a dpc+ hack a a while ago, that allows horisontal scrolling, I followed sprybugs way of doing it, I would have no idea where to start without that, it's really easy to use and allows different pf resolution,  I can make a short tutorial video if anyones interested?

     

    Thanks to Darrell Spice Jr. for allways going out of his way to help!!

     

    Here's a little rough demo I made to try it out, would be nice to know if it works on real hardware?

     

    You don't have to this metroid style scrolling if you don't want, I just wasn't happy with anything below one column per frame so I did this, Thomas Jentzsch style.

     

    LATEST

     

     

     

    • Like 8

  13. if the bg and pf is a single color in the horisontal region where it goes of screen, you can use the ball and the other players missile (if you're using player6 use missile0)

    and make them 8 pixels wide and 3 close copies, and color of bg

     

    # # #

      # # #

     

    put one of them 8ish pixels away from the others xposition

     

    ######

     

    now you can put it on the opposite screen side

     

    if the player doesn't move behind one of them, 

    you can do the same thing with player0

     

    or just use player0 with the same width as your other sprite,

    you might have to swap player6 and player0 for the correct priority

    • Like 1

  14. On 7/6/2020 at 11:22 PM, Karl G said:

    For bonus points, does anyone know of an Atari-like bluetooth joystick controller that might work with this? E.g. a speciality stick designed for one of the consoles that use bluetooth controllers or somesuch.

     

    Mind you, I do fine with gamepads, but not everyone in my household does. 🙂 

    12.jpg

    🤤

    • Haha 2

  15. 28 minutes ago, RevEng said:

    not aware of any controllers that would allow this.

    It says here that you can pair multiple controllers that have been modded with the 8bitdo mod kits to one receiver

    Is that normal, or does it indicate you could also pair one with many receivers?

×
×
  • Create New...