Jump to content

flame

Members
  • Posts

    78
  • Joined

  • Last visited

Posts posted by flame

  1. 21 minutes ago, Electric-Dreams said:

    The box is gorgeous ! Is there any chance to have a PAL version of the cart in the near future?

    Thank you

     

    I have been asked about a PAL release before, so I wrote a bit about it here

     

  2. Hi everyone !

     

    I'm happy to say my first Atari 2600 game SOUL OF THE BEAST inspired by the 1989 Amiga classic, is done !

     

    It features more than 15 unique enemy types, variants, and items. Non-linear level design, in a standard 4K NTSC ROM.

     

    I'm hoping to move forward with a cart release and a PAL version.

    https://aeriform.itch.io/beast I hope you check it out !

     

     

    soul.png

    • Like 15
    • Thanks 1
  3. Hæ everyone !

     

    It took a while but I finally have a version I am happy to call "done". I may tweak little things but everything I intended to implement is in and working.

     

    In this standard 4K ROM I managed to fit 5 areas with non-linear design. More than 15 enemy types and variants, key items, health potions, and importantly something resembling sound.

     

    This has been an absolute labour of love for me, and more than proud of what I have been able to do with no prior experience making Atari games.

     

    I hope you enjoy playing this.

    https://aeriform.itch.io/beast

     

    I'd like to thank everyone that has supported the development of this game, the kind words, and amazing tips on how to optimise and handle certain problems.

     

    • Like 8
  4. 2 minutes ago, skywaffle said:

    I haven't done much lately with it.  Most of my time every day has gone back into Intellivania.  Intellivania was done, but I keep going back and revisiting, rewriting, optimizing, and adjusting parts to more closely mimic Castlevania on the NES.  As far as Shadow of the Beast goes, I had made a dungeon map compression that uses groups of 6x6 tiles pieced together, but I had a ways to go with making the first dungeon.

    That's cool, I wondered, it was looking great !

  5. brilliant, thank you.

     

    I've noticed this a few times:

    .byte $2c

    You indicate that it skips the next LDA instruction but I don't understand why that is used, the context of it.

     

    OH, I think I see it. It's a way of reusing the store instruction without changing the value right ?

  6. Hey, does anyone have any suggestions on how best to mask parts of a sprite, to change a certain number of lines—instead of having a separate full sprite ?

     

    *ideally without doing this during the kernel

     

    	lda (objectptr),y
    	cpx #5
    	bcc .nomask
    	and #%11110000
    .nomask
    	sta GRP1
    

    I am doing this in the kernel though, and seems to work as intended, but wondering if there is another way.

  7. Thank you so much for steering me towards this. 

     

    It was suggested to me to subtract the worldpos from $80 and then I was able to count down from $7F and works perfectly.

     

    After rewriting all of the area data it's saved me a lot of ROM space, much less cycle use and I don't get that issue with out of range branches !

     

     

    • Like 1
  8. hey @Andrew Davie

     

    ;        FOREST RIGHT
    ForestRT        subroutine
    
                    lda #1
                    sta visible
    
                    lda worldpos
                    asl			
                    tax
    
                    lda VectorTable,x
                    sta zp
                    lda VectorTable+1,x
                    sta zp+1
    
                    jmp (zp)		
    
    ; The table...
    
    VectorTable
                    .word .Well
                    .word .Gremlin
                    .word .None
                    .word .Well
    
    .Well:          jsr SetWell
    				jmp .Done
    .Gremlin:       jsr SetGremlin
    				jmp .Done
    
    .None:			ldx #0
    				stx type
    
    .Done:          rts

     

    I have this in as a test and it appears to be working from $80 onwards, but I am not seeing how I would count from $7F down, am I missing something glaringly obvious or does this code not work like that ?

     

    also I assumed that the zp value needed to be a .word ? I tried as a byte and that didn't work for me.

  9. MoveRT	subroutine
    
    	lda direction
    	cmp #0
    	beq .repeat
    	lda #0
    	sta steps
    
    .repeat
    	inc steps
    	lda #0
    	sta direction
    	rts
    
    MoveLT	subroutine	
        lda direction
    	cmp #$20
    	beq .repeat
    	lda #0
    	sta steps
    
    .repeat
    	inc steps
    	lda #$20
    	sta direction
    	rts

    I friend chimed in with some advice, this seems to be working !

  10. Hey everyone,

     

    Is there a way to check if the direction input was the same as the last ? I have a value that needs to reset if it is not.

     

    MoveRT:
    	lda direction
    	cmp #$20
    	beq .Reset
    	jmp .Done
    
    MoveLT:
    	lda direction
    	cmp #0
    	beq .Reset
    	jmp .Done
    
    .Reset
    	lda #0
    	sta value
    .Done:	rts

    I have a direction facing that switches thanks to advice from @SpiceWare

     

    This is what I am trying to do, but I am missing something.

×
×
  • Create New...