Jump to content


Photo

A total rewrite of JSW in 48k using Matthews core code


  • Please log in to reply
52 replies to this topic

#11 Spider

Spider

    XOR (HL)

  • Administrator
  • 3,289 posts

Posted 09 September 2017 - 03:15 PM

Thank you for the detailed explanation. :)

 

Its interesting you mention more guardian movement as IRF has an article on Diagonal Guardians here in our Articles.

 

During other project work I noted one variant (C+4) had what I could only describe as a near-trapezoidal movement pattern which was quite interesting to watch, probably not much fun to code in however...


Changing order to chaos since 1984

#12 IRF

IRF

    Advanced Member

  • Contributor
  • 3,760 posts

Posted 09 September 2017 - 03:16 PM


All the screens that mention demolition or purchased by the state and several others. Had been earmarked to be changed. The game map was being changed often up until  the source code demise. It was known that two screens where inaccessible. If either of theses contain objects then the game can not be completed as it is.

 

I was wondering why some of the room numbers ended with a digit, from '3' to '6', and also where '1' and '2' might be?  I imagine that 'Demolition Site-bomb Blast' and 'Demolishing this place soon' would have been '1' and '2' respectively?

 

Looking at the screenshots during 'attract mode', each of the two inaccessible rooms does have one item, so it seems that I got as close as is possible to completing the game last night (without POKING to move Maria out of the way - but even that might not be an easy task if the pertinent addresses in the code have been altered from the original).

 

 


the above explanation is to show that to change a single room block without the source code is very difficult. (with the source code a matter of minutes) without the source code <<quicker to rewrite the game>>

 

How easy would it be to extract the code which causes a particular room's special effect? e.g. 'Nostalgia' or 'Mine Entrance'?

 

 


this type of sprite did move around both horizontally and vertically, avoiding the rooms graphics and seeking out willy. They moved vertically slower than willy, and they could therefore be enticed into positions that they found difficult to escape from. To play against this type of sprite required the player to manoeuvre the guardian into a trap position. --- That is why the room "bought by the state 5"  had the row of upturned  box's along the bottom. They where to trap the guardian below whilst moving above them.  The final room design for this room was different. And it contained very little of the graphics seen in this room. From the short viewing I saw (and played) the logic seeking sprite were a very good addition to the normal sprite... 

 

Sounds intriguing and fiendish in equal measure!  It would be a shame if such a guardian didn't see the light of day at some point...

 

multiple conveyors. Of which one is animated (pretty standard convention)

 

 

See 'The Nightmare Room' in 'Jet Set Mini' for a room that has two independent animated conveyors (located in different cell-rows, although they both animate in the same direction).  Also, the conveyor in the same game's 'East Bedroom' is animated at pixel-rows 0 and 2 (as per usual), and at pixel-rows 5 and 7 as well.  (Both of which are achieved by calling the 'Animate the conveyor' routine every tick, with a later entry point than the usual #94F9.)


Edited by IRF, 09 September 2017 - 08:16 PM.


#13 Norman Sword

Norman Sword

    Advanced Member

  • Member
  • PipPipPip
  • 125 posts

Posted 09 September 2017 - 05:18 PM

Quicker to just write afresh

 

 

Nostalgia 

 

 

 

 

 

 

; the attrib must have been cleared else this will look a mess
; which would be done once on room entry

ytable equ 6000h ;;; set to where ever the ytable is

 

    org 8000h

;enter with a=screen offset ; 0 to 127 ;;; 128 to 255 act the same as 0 to 127

 

;   ld iy,ytable 
;   add a,a
;   ld c,a
;   ld b,0
;   add iy,bc

 

   ld iyh, high ytable

   add a,a

   ld iyl ,a

 

   ld ix,ytable

roll

   ld e,(ix)
   inc ixl
   ld d,(ix)
   res 5,d
   ld l,(iy)
   inc iyl
   ld h,(iy)

   inc iyl
   ld bc,32
   ldir
   inc ixl
   jr nz,roll

;That is it

 

;;;I was too quick to post . I think that is NOW it


Edited by Norman Sword, 09 September 2017 - 06:34 PM.


#14 Norman Sword

Norman Sword

    Advanced Member

  • Member
  • PipPipPip
  • 125 posts

Posted 09 September 2017 - 05:38 PM

Invert could use the same logic

 

e.g

 

ytable equ 6000h ;;; set to where ever the ytable is

    org 8000h

   ld iy,ytable
   ld ix,ytable
invert
   ld e,(ix)
   inc ixl
   ld d,(ix)
   res 5,d

  dec iyl
   ld h,(iy)
   dec iyl
   ld l,(iy)
   ld bc,32
   ldir
   inc ixl
   jr nz,invert

 

;That is it

 

;--------------------------------------------------------------------------------------------------

: this now becomes more complex because the attributes need copying as well

 

attrib equ somewhere (the copy screen)

 

 ld de,5800h

 ld hl,attrib+15*32

 exx

 ld a,4    ; the value that decides when the atrrib is changed

 

  ld iy,ytable
   ld ix,ytable
invert
   ld e,(ix)
   inc ixl
   ld d,(ix)
   res 5,d
  dec iyl
   ld h,(iy)
   dec iyl
   ld l,(iy)
   ld bc,32
   ldir

  inc a

  and 7

  jr nz,not_yet

 

  exx

  ld bc,32

  ldir

   ld bc,-64

  add hl,bc

  exx

 

not_yet

   inc ixl
   jr nz,invert

;That is it


Edited by Norman Sword, 09 September 2017 - 06:47 PM.


#15 IRF

IRF

    Advanced Member

  • Contributor
  • 3,760 posts

Posted 09 September 2017 - 06:03 PM

Thanks for those, NS.  :)



#16 IRF

IRF

    Advanced Member

  • Contributor
  • 3,760 posts

Posted 09 September 2017 - 08:15 PM

I guess the 'vertically-rolling' screen only works in black-and-white, or else the attributes would sometimes be noticeably non-aligned with the graphical bytes that they are supposed to be associated with.  (Unless it rolled down by a character-row at a time, as opposed to the smooth rolling by pixel-row.)

 

But the black and white fits the 'nostalgia' theme, so it's all great!



#17 Norman Sword

Norman Sword

    Advanced Member

  • Member
  • PipPipPip
  • 125 posts

Posted 11 September 2017 - 04:13 PM

I have not finished the editing.

This Forums interface reacts to certain combinations of keys on my keyboard.

 

In most case the result is a few seconds delay

 

In other cases it interprets the keystrokes as an intention to POST

 

Since I was nowhere near finished with my comment I have deleted the lot.

 

And this comment is the result of my inability to delete an unwanted POST 

 


Edited by Norman Sword, 11 September 2017 - 04:23 PM.


#18 Spider

Spider

    XOR (HL)

  • Administrator
  • 3,289 posts

Posted 11 September 2017 - 05:23 PM

CTRL+Enter can cause it to think you want to submit, its always been like that though however it can vary between browsers. Its a CKE concern rather than the software directly but as CKE Editor is part of the software, I see what you're saying. Using a mobile device will vary in its behaviour too.

 

I'm sorry you've had editor issues, I can honestly say I've not had any other complaints regarding it as such apart from the odd 'jumble' quote issue where multi-quoting has got out of hand. :)

 

You will however hopefully be pleased to learn the newer version (coming soon here!) has more control on this:

 

In particular 'Return' will either start a new paragraph or go to a new line and the 'paste' feature will still retain its 'pasted' format however there is a button on the toolbar to quickly and instantly kill all formatting in said insertion where needed which may restore a bit of sanity if it got out of hand...

 

Post deletion has never been enabled per member control however there is no issue in having said posts removed, its more a case of 'member accident' with this as I have seen this happen before... I have removed the post. :)


Changing order to chaos since 1984

#19 IRF

IRF

    Advanced Member

  • Contributor
  • 3,760 posts

Posted 23 September 2017 - 12:27 PM

this type of sprite did move around both horizontally and vertically, avoiding the rooms graphics and seeking out willy. They moved vertically slower than willy, and they could therefore be enticed into positions that they found difficult to escape from. To play against this type of sprite required the player to manoeuvre the guardian into a trap position. --- That is why the room "bought by the state 5" had the row of upturned box's along the bottom. They where to trap the guardian below whilst moving above them. The final room design for this room was different. And it contained very little of the graphics seen in this room. From the short viewing I saw (and played) the logic seeking sprite were a very good addition to the normal sprite...


We could call such sprites 'Homing Guardians', since they 'home in' on Willy...

#20 Norman Sword

Norman Sword

    Advanced Member

  • Member
  • PipPipPip
  • 125 posts

Posted 20 October 2017 - 03:05 PM

Re  Homing guardians.

 

 

This is a test piece of code to do my implementation of Homing Guardians. Even though this code has a lot of other "speed changes", the interest is concentrated on only three rooms.  The Bathroom, the Top landing and the First landing.

This is a reimplementation of homing sprites.  With no redesign of the room to make use of their abilities.

The sprite on the top platform of the Bathroom, is slightly altered in logic --- 
The sprite the lower platform of Top Landing is slightly altered in logic ---

This version will stop the toilet run due to third sprite in the bathroom. ----  But is not meant to be played beyond theses few rooms.

;-------------------------- Updated ---------------------


It did not take me long to find a flaw... Caused by testing for a bit on room limits.

Unfortunately I tested the bit for Character limits and not Attribute limits. (corrected) and also the apostrophe .
 

Attached Files


Edited by Norman Sword, 20 October 2017 - 05:17 PM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users