VEXED

developing/porting a new game or gaming framework? post in here!
User avatar
Iggypop
Posts: 192
Joined: Thu Mar 05, 2020 6:34 pm
Location: The Netherlands
Contact:

VEXED

Post by Iggypop »

I'm doing a remake of a game i had on my palm device, called VEXED.
It's a puzzle game..
I think a got alle the game mechanics hammered out.. the falling of blocks and the collision detection, exploding and score keeping
if you press S the game will show you the solution.. R wil reset the level..
The game loads at page &1100. so should run on a bbc model B..

I'm getting errors.. anoying errors like NO ROOM at line....
I'm making heavy use of A%, B% , C% but that doesn't help with the readability of the code itself.
when i print ~himem-top i get &677.. when page=&1100

I will know focus on getting levels into the game to solve..

Have a try.. and if there is any advice on avoiding these NO ROOM errors i'm all ears

Igor
Attachments
vexed.dsd
(400 KiB) Downloaded 68 times
Igor

Acorn Electron, BBC Master 128, Acorn Archimedes A3000
User avatar
daveejhitchins
Posts: 7876
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: VEXED

Post by daveejhitchins »

Keep your master document SAFE and use the compression utility in the Advanced BASIC Editor for your test copy.

Bit of a pain but works . . .

Dave H.
Available: ARA II : ARA III-JR/PR : ABR : AP5 : AP6 : ABE : ATI : MGC : Plus 1 Support ROM : Plus 3 2nd DA : Prime's Plus 3 ROM/RAM : Pegasus 400 : Prime's MRB : ARCIN32 : Cross-32
User avatar
ChrisB
Posts: 547
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: VEXED

Post by ChrisB »

I use toolkit+ to crunch. Does quite well with your main program. If you don't want to access the disk again you can move down to &E00. You can also use some of the less used memory areas (&900 & &A00 for example) to store data in.
vexedcrunch.png
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
User avatar
Iggypop
Posts: 192
Joined: Thu Mar 05, 2020 6:34 pm
Location: The Netherlands
Contact:

Re: VEXED

Post by Iggypop »

ChrisB wrote: Fri Jun 24, 2022 5:59 pm I use toolkit+ to crunch. Does quite well with your main program. If you don't want to access the disk again you can move down to &E00. You can also use some of the less used memory areas (&900 & &A00 for example) to store data in.

vexedcrunch.png
WOW!! That's impressive. almost a 50% reduction !!

Will try it. Thanks.
Igor

Acorn Electron, BBC Master 128, Acorn Archimedes A3000
User avatar
Iggypop
Posts: 192
Joined: Thu Mar 05, 2020 6:34 pm
Location: The Netherlands
Contact:

Re: VEXED

Post by Iggypop »

I added 59 Levels for you to play....

start the game by CHAIN"INTRO".

If someone finds a bug please let me now..

I'll start on the polish... and then i'll add more level packs

Igor..
Attachments
vexed.dsd
(400 KiB) Downloaded 50 times
Igor

Acorn Electron, BBC Master 128, Acorn Archimedes A3000
User avatar
Cybershark
Posts: 736
Joined: Wed Jun 14, 2006 11:16 pm
Contact:

Re: VEXED

Post by Cybershark »

Channel at line 700

:?

EDIT: removed the offending part of the program - which looks for the non-existent file "TITLE" - so the title graphics are skipped but the game then works a treat. Played quite successfully through the first 4 or 5 levels 😀
Would be nice to see the cursor disabled - I instinctively go to use the arrow keys for movement and am then stuck with it blinking away!
User avatar
Iggypop
Posts: 192
Joined: Thu Mar 05, 2020 6:34 pm
Location: The Netherlands
Contact:

Re: VEXED

Post by Iggypop »

Cybershark wrote: Sat Jun 25, 2022 10:24 pm Channel at line 700

:?

EDIT: removed the offending part of the program - which looks for the non-existent file "TITLE" - so the title graphics are skipped but the game then works a treat. Played quite successfully through the first 4 or 5 levels 😀
Would be nice to see the cursor disabled - I instinctively go to use the arrow keys for movement and am then stuck with it blinking away!
Oops wil fix that in the morning
Igor

Acorn Electron, BBC Master 128, Acorn Archimedes A3000
User avatar
Iggypop
Posts: 192
Joined: Thu Mar 05, 2020 6:34 pm
Location: The Netherlands
Contact:

Re: VEXED

Post by Iggypop »

Added the missing file to the image
Knipsel.jpg
Knipsel.jpg (32.66 KiB) Viewed 4998 times
Igor..
Attachments
vexed.dsd
(400 KiB) Downloaded 49 times
Igor

Acorn Electron, BBC Master 128, Acorn Archimedes A3000
User avatar
Iggypop
Posts: 192
Joined: Thu Mar 05, 2020 6:34 pm
Location: The Netherlands
Contact:

Re: VEXED

Post by Iggypop »

Start the game with

CHAIN"INTRO"
Igor

Acorn Electron, BBC Master 128, Acorn Archimedes A3000
User avatar
Iggypop
Posts: 192
Joined: Thu Mar 05, 2020 6:34 pm
Location: The Netherlands
Contact:

Re: VEXED

Post by Iggypop »

Made some updates

Crunched the main program.. It will run on a bbc model B with page at &1900 and on Master Series.
Tested in BeebEm.
Will NOT run on a bbc model B+..
Will NOT run from cassette filing system

Any advice on how to get this game running on a BBC B+ ???

Any feedback is welcome

Still to do:
Save progress..
Loading of different level packs..

Start the game with CHAIN"VEXED"
Attachments
vexed.dsd
(400 KiB) Downloaded 56 times
Igor

Acorn Electron, BBC Master 128, Acorn Archimedes A3000
User avatar
TobyLobster
Posts: 618
Joined: Sat Aug 31, 2019 7:58 am
Contact:

Re: VEXED

Post by TobyLobster »

Nice game! But I got a corrupted cursor after the first move:
Screenshot 2022-06-27 at 22.45.24.png

Incidentally, a common thing to do is to make the DSD boot into the game with SHIFT-Break. Add a !BOOT file to the disk containing e.g.:

Code: Select all

PAGE=&1900
CHAIN "VEXED"
and set the disk boot option to EXEC, e.g. on the BBC by using:

Code: Select all

*OPT 4,3
Or using a similar option if you are making the DSD using a tool on modern hardware.
User avatar
Cybershark
Posts: 736
Joined: Wed Jun 14, 2006 11:16 pm
Contact:

Re: VEXED

Post by Cybershark »

I was curious about the original version of the game and found I was able to play it here.

Thanks so much for your solutions you have coded into your version! I had to use that to get through level 35 ("Words of Love"). It seems strange that the difficulty level is far from progressive, as I was absolutely flumoxed by that one level but cruised through many of the subsequent ones without a single retry.

I didn't see the corrupted cursor while running (on BeebEm) in Master mode but it turned to junk immediately after the first block drop when emulating a plain Model B (with PAGE at &1900).
User avatar
Iggypop
Posts: 192
Joined: Thu Mar 05, 2020 6:34 pm
Location: The Netherlands
Contact:

Re: VEXED

Post by Iggypop »

Cybershark wrote: Tue Jun 28, 2022 1:13 pm I was curious about the original version of the game and found I was able to play it here.

Thanks so much for your solutions you have coded into your version! I had to use that to get through level 35 ("Words of Love"). It seems strange that the difficulty level is far from progressive, as I was absolutely flumoxed by that one level but cruised through many of the subsequent ones without a single retry.

I didn't see the corrupted cursor while running (on BeebEm) in Master mode but it turned to junk immediately after the first block drop when emulating a plain Model B (with PAGE at &1900).
The trouble is with the caracter definitions held in memory.. I redifined 128 through 164.... something overwrites it. the last 8 in this row..
I'm thinking I'll write a sprite routine.. instead of using redefined characters and then maybe i can do some more elegant sideways scrolling.
Igor

Acorn Electron, BBC Master 128, Acorn Archimedes A3000
User avatar
TobyLobster
Posts: 618
Joined: Sat Aug 31, 2019 7:58 am
Contact:

Re: VEXED

Post by TobyLobster »

Characters 128 to 159 can be redefined freely, but when the character set is exploded e.g. *FX 20,6 then the extra characters 160 and above are stored at PAGE. This causes problems as it overwrites the start of the current BASIC program (which we get away with since we are at the end of the BASIC program) but is then overwritten by the next BASIC program loaded at this address.

If you can restrict redefinitions to 128-159 that is ideal, otherwise if you use *FX 20,1 (the smallest explosion) then set PAGE=PAGE+&100 then this will allow characters 128-191 to be redefined.

See NAUG P 171-2 "Exploding the character definition RAM".

Writing your own sprite routine will also fix this of course, and writing directly to the screen in machine code will make it fast.
User avatar
Iggypop
Posts: 192
Joined: Thu Mar 05, 2020 6:34 pm
Location: The Netherlands
Contact:

Re: VEXED

Post by Iggypop »

Fixed the cursor corruption....

Disk image will auto start when SHIFT+BREAK is pressed..

added *FX 20,1... this allows for an extra 32 user defined characters... will take up some memory..
so PAGE has to be set higher... 1900 -> 1A00
But still doesn't fix it for a BBC B+. the cursor still gets corrupted.
Attachments
vexed.dsd
(400 KiB) Downloaded 42 times
Igor

Acorn Electron, BBC Master 128, Acorn Archimedes A3000
User avatar
Iggypop
Posts: 192
Joined: Thu Mar 05, 2020 6:34 pm
Location: The Netherlands
Contact:

Re: VEXED

Post by Iggypop »

I was thinking about doing sprites...
But.... more problems: my "sprites" are 2x2 characters.. that's 64bytes per sprite.. i need to define 10 sprites.. that's 640 bytes..
That's also exactly 1 Row of screen memory in MODE 1.... but i think i still have enough memory below HIMEM to use.. i hope..
But then !!!. printing the sprite in different colours.... hmmmmm.....

If i do a sprite routine.. to determine X.. easy 8*X would be the same as X and rolling / shifting it 3 time to the left, in binary..
for Y... assuming i would always print at the top of a new line...&280 * y...(maybe just use a lookup table than actually doing the math).

so the draw address would be result form Y + result form X...

sort of...
Igor

Acorn Electron, BBC Master 128, Acorn Archimedes A3000
User avatar
TobyLobster
Posts: 618
Joined: Sat Aug 31, 2019 7:58 am
Contact:

Re: VEXED

Post by TobyLobster »

Iggypop wrote: Thu Jun 30, 2022 1:02 pm But still doesn't fix it for a BBC B+. the cursor still gets corrupted.
It works for me (in the B2 emulator set to B+).
User avatar
fizgog
Posts: 618
Joined: Thu Jun 17, 2021 3:18 pm
Location: Nottinghamshire
Contact:

Re: VEXED

Post by fizgog »

Definitely go with a lookup table if you have the room, it makes it a lot easier.

Also if you sticking with 2 colour sprites and not going to use 4 colours, then why not save the sprites as Mode 4 (32 bytes each) and then your plot sprite routine could plot the sprite in Mode 1
Pitfall, Gridrunner, Matrix: Gridrunner 2, LaserZone, AcornViewer, AcornPad
User avatar
TobyLobster
Posts: 618
Joined: Sat Aug 31, 2019 7:58 am
Contact:

Re: VEXED

Post by TobyLobster »

This speeds it up a bit, using VDU for the sprite drawing instead of PRINTTAB(...);CHR$(...) etc:

Code: Select all

  590DEFPROCA(G%,H%,S%):VDU31,G%,H%,S%,S%+1,8,8,10,S%+2,S%+3:ENDPROC
User avatar
Iggypop
Posts: 192
Joined: Thu Mar 05, 2020 6:34 pm
Location: The Netherlands
Contact:

Re: VEXED

Post by Iggypop »

Thanks for all the advice, I really apprecitate it.....
Igor

Acorn Electron, BBC Master 128, Acorn Archimedes A3000
User avatar
Iggypop
Posts: 192
Joined: Thu Mar 05, 2020 6:34 pm
Location: The Netherlands
Contact:

Re: VEXED

Post by Iggypop »

TobyLobster wrote: Sat Jul 02, 2022 2:10 pm Have you seen "bbcZeus": http://www.bbcmicro.co.uk/game.php?id=1332 ?

Based on an Amiga game 'Zeus': https://www.youtube.com/watch?v=C8qyoGaoyA8
Ummmm.... Looks familiar...😂. But my game will be better 😉.. working on sprite routines
Igor

Acorn Electron, BBC Master 128, Acorn Archimedes A3000
User avatar
Iggypop
Posts: 192
Joined: Thu Mar 05, 2020 6:34 pm
Location: The Netherlands
Contact:

Re: VEXED

Post by Iggypop »

NEW

OK, i wrote an sprite routine.. It's source is in MCODE... it's object code is in OBJASM. It must be loaded at &2B00
due to memory contraints the game now only runs on a master series computer..

The sprite routine allows me te print a sprite in any foreground and background colour.
X goes from 0 to 79. Y from 0 to 31
?&70 holds the sprite number (0 to 9)
?&71 = x, &72=y, &73=forground colouir, &74=background colour...

the sprite data is encoded 1bit per pixel. 1 byte = 8 pixels.. the high nibble holds the first 4 pixels and the lower nibble holds the next 4 pixels
the game runs in MODE 1

To achieve diffent colours i shift the nibble 4 bits to the left or right. for colour3 i need to add..
backgound colours are achieved by EOR of the nibble and then shifting left or right and adding the result to the original nibble

calculating the screenaddress for the Y coordinate is achieved by using a lookup table.. X=8*X and is added to the result of Y

you can load the OBJASM at &2B00 setup it's parameters and then call &2B00

I was thinking that i maybe could split up the DATA and actual machine code program.. the program part below HIMEM and the data part somewhere
else in memory... Where can i put it... ??????

any help or suggestions are welcome and much appriciated

Igor
Attachments
vexed.dsd
(400 KiB) Downloaded 41 times
Igor

Acorn Electron, BBC Master 128, Acorn Archimedes A3000
User avatar
Iggypop
Posts: 192
Joined: Thu Mar 05, 2020 6:34 pm
Location: The Netherlands
Contact:

Re: VEXED

Post by Iggypop »

i spit the machine code in acutual program logic and data.. The data is stored at &900. and the program logic at &2D70
now works on a BEEB
Attachments
vexed.dsd
(400 KiB) Downloaded 45 times
Igor

Acorn Electron, BBC Master 128, Acorn Archimedes A3000
User avatar
ChrisB
Posts: 547
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: VEXED

Post by ChrisB »

This is coming together nicely.

Possible slight bug. When you have a block selected you can move down into the walls, and up into the air. If you're in the air when you move left or right the "slide" animation plays out. It should probable revert to not selected mode. You also can't unselect when in the air.
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
User avatar
Iggypop
Posts: 192
Joined: Thu Mar 05, 2020 6:34 pm
Location: The Netherlands
Contact:

Re: VEXED

Post by Iggypop »

a little update.. bug fix... smooth scolling when showing the solurion
Attachments
vexed.dsd
(400 KiB) Downloaded 40 times
Igor

Acorn Electron, BBC Master 128, Acorn Archimedes A3000
User avatar
Iggypop
Posts: 192
Joined: Thu Mar 05, 2020 6:34 pm
Location: The Netherlands
Contact:

Re: VEXED

Post by Iggypop »

ADDED 59 EXTRA LEVELS.. CHOOSE OPTION B FROM INTRO TO PLAY CLASSIC LEVELS II
Garenteed more vexing than the first level pack..

almost at the finish, for puplishing
vexed.dsd
(400 KiB) Downloaded 52 times
Attachments
vexed.jpg
Igor

Acorn Electron, BBC Master 128, Acorn Archimedes A3000
User avatar
Cybershark
Posts: 736
Joined: Wed Jun 14, 2006 11:16 pm
Contact:

Re: VEXED

Post by Cybershark »

Better and better! =D>

Can you error trap the level pack selection? Probably better to not use INPUT for it (and to reject anything other than A or B being typed), as this causes a crash.

The instructions say that the challenge is to equal (or beat) the number of moves that it has stored - can the par for each level and number of moves used be added to the display? Would be good to see the level number - xx/59 - as well as the level name too.

I find it strange that the VEXED title is displayed in multicoloured sprites but that the game sprites remain monochrome. Can that easily be altered? It'd just make it all pop so much more :wink:
If not then could you at least use a different colour palette for the second set of levels?
User avatar
TobyLobster
Posts: 618
Joined: Sat Aug 31, 2019 7:58 am
Contact:

Re: VEXED

Post by TobyLobster »

Can you change the start level within a level pack? If I completed the first 10 levels last week, then I want to be able to start on level 11 today.
User avatar
Iggypop
Posts: 192
Joined: Thu Mar 05, 2020 6:34 pm
Location: The Netherlands
Contact:

Re: VEXED

Post by Iggypop »

thanks for the feedback..

Planned is, saving of progression through the levels.. So when you start the game a next time, you can continue from where you left...
Selection of levels, but not beyound the levels you already solved or went for the automatic solution

I can give the sprites an background colour.. The sprites are coded 1 bit per pixel. so i can print the sprites in one colour. on any backgound colour.
I will update my sprite routine so that the background colour uses a mask.. so only a part of the sprite gets filled with an background colour.

add more level packs.

THE LATEST VERSION OF THE GAME CAN BE FOUND HERE
viewtopic.php?f=74&t=25529
Last edited by Iggypop on Sun Jan 22, 2023 5:10 pm, edited 1 time in total.
Igor

Acorn Electron, BBC Master 128, Acorn Archimedes A3000
Post Reply

Return to “new projects in development: games”