Jump to content
IGNORED

Beyond Evil - now playable


Heaven/TQA

Recommended Posts

of course you should, James... Dis6502 is small but cool little tool... I missed it for years (who needs disassemblers anyway...) but this is an inteligent one... ;)

 

i only miss page up/page down support in the windows...

Well... I looked at the file you had posted and thought it must be an Atari program at first.

Link to comment
Share on other sites

  • 2 weeks later...

well... I still use the Gremlin gfx for testing the sprite routines... you can move him around with joystick... but he stops near the wall...press console keys (start) to see the background buffer and you see why he is stopping. So I guess that I have to draw the action chars behind the walls as there have to be the door chars as well...

sprite7d.zip

post-528-1216590675_thumb.png

Edited by Heaven/TQA
Link to comment
Share on other sites

ok. small update.

 

you can move around and walk through doors. right now the Beyond-"walk through the floor map"-subroutines are not implemented but right now when walking through any day you walk to the next room (room_no++).

 

and no...it is not written in basic even if you can see how the screen is build up. but it works. optimising comes at the end...

 

it's cool... :) so next will be to get the nasties in. I am trying to convert one of the Beyond The Evil demo-sprites into the new format with Paint Shop Pro. Good lesson to have a look how the gfx guys have to prepare the gfx for the game.

sprite8a.zip

Link to comment
Share on other sites

ok. just tried to copy and convert some of Espire8's sprites.

 

but what I am doing wrong? anybody an idea why the Gremlin is moving in y-direction smooth and my snake not? did I make something wrong in the gfx?

 

just printed the gremlins sprite data for vertical movement in a screenshot... strange... the sprite seems not to move vertical 4 pixels or 8 pixels only 2? strange...

 

but the artist did a good job as it fits perfect to the engine...

 

 

ts...Heaven, Heaven... ;) you should know your sprite engine...of course the vertical movement is done by the engine and not by preshifting sprite data in vertical. the Gremlin data is a plain animation... archive updated with the "fixed" snake.

 

of course for a 8x16 sprite you can put for vertical movement the sprite into the "middle" of the 12x pixel size so the "jumps" are minimised.

 

and sprite8c is for philsan only... ;)

post-528-1216749734_thumb.png

post-528-1216749839_thumb.jpg

post-528-1216750262_thumb.png

sprite8b.zip

post-528-1216753100_thumb.png

sprite8c.zip

Edited by Heaven/TQA
Link to comment
Share on other sites

Thank you very much.

Having seen your hard work in the last months (years), having seen the beautiful artwork done by various artists, I am sure your game will be wonderful.

Moreover, I think that your engine could be used to make other games.

Perhaps not Robotron, but if it will be fast enough not only RPG could be done.

Link to comment
Share on other sites

I am little tired after 4 hours of hard thinking and coding... ;) I am little bit suprised that the 6 snakes as dummy nasties are moving so smooth while not slowing down the player but well... who cares. the slowdown will come when I will port over the game engine elements the next days like combat engine which needs to be adapted now to the higher resolution.

Link to comment
Share on other sites

there are still some issues with the monster setting.

 

have a look on the screens and the atr...

 

press START to show the backbuffer at anytime... sometimes there are backbuffers set by the setsprite engine but no gfx data appears on the screen. I have no clue why. only reason could be that the sprite data is put there twice (EORing to 0) but this should be avoided as there is a check if there is already backbuff data there...

 

ps. does LSR need a CLC? I guess no...or?

post-528-1216824960_thumb.png

post-528-1216824970_thumb.png

sprite8a.zip

Link to comment
Share on other sites

sometimes there are simply logical errors...f.e. in the backbuffer each sprite id is drew over the occupied space... but what happens when ID #0 ? yes...it draws zero into the backbuffer which means empty space... grrrr...

 

so... id counts from #1 to max monster... and now I do this "nice" trick...

 

all tables relating to the monster id# are adressed like sta mxtab-1,x

 

btw... similar "workrounds" you can find in commercial games as well...

Edited by Heaven/TQA
Link to comment
Share on other sites

so... next step is (again) the thing with the collision detection. How is the best thing to do?

 

I want it to have it like in Zelda f.e. so you when pressing up and fire (attack) I want to attack N, if pressed SW then SW.

 

so I have 16 areas to attack. now I have different ways to go. In the existing engine I am checking against the active monster:

 

check_overlapping: 
lda monsterx
sec
sbc playerx
bpl got_abs
eor #$ff
adc #1
got_abs cmp #3
bcs no_overlap;bcs
lda monstery
sec
sbc playery
bpl got_abs2
eor #$ff
adc #1
got_abs2 cmp #3
bcs no_overlap;bcs
;	jmp end_game
lda #0
rts
no_overlap lda #255;returns -1 when overlapp
rts

 

so... but assume that at top of the player there could be 3 monsters (NW,N,NE) so I thought I use the "check background" function to see what monster is there... but f.e. at NE direction there could be several monster occupying the space as the monsters are moving in pixel steps and not in char steps... so my function would return the monster IDs ored together... but I guess this would not make sense... too many different things to consider...

 

so...how would a Zelda like game would do it? checking the "sprite collision" of the sword against the enemies? or the "overlapp" kind of approach?

 

anybody any experience what would be a fast and convinient way? my function should simply return the ID of the monster which the player would probably hit. the engine then would call the "attack against monster" procedure with all the probability checks and damage calcs...

Edited by Heaven/TQA
Link to comment
Share on other sites

I don't get it.

 

Aren't you using the backbuffer as prevention for objects occupying the same space?

 

That aside - you obviously at some stage will have the X,Y origin of the monsters available if you're plotting them in character mode, so store those in an array.

 

Then you can check the sword for overlap. You probably want a subsequent step that does fine checking in case of overlap as obviously e.g. a monster occupies only pixels 0,1 vertically then potentially the sword could overlap that character but only in the lower pixels.

 

Possibly calculate the degree of damage as being dependant on the amount of overlap between the sword and each enemy it coincides with.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...