Work in Progress

Tyler Bros. Game & Watch Style

6

Anywhere Games 2022-06-22 21:38 (Edited)

Not currently fully playable…

Tyler, Sam & Kyle Star in this Game & Watch version of Tyler Bros. Catch the rubble/debris falling from above as Tyler or Sam and give it to Kyle (He’s Manning the Windows). Just make sure you don’t miss any or it will hurt the innocent onlookers (Who shouldn’t be watching to begin with, at least not from right under the site.) which your bosses will chew you out for. How long can you collect the falling debris?

The Tyler Bros.:

Tyler Tyler - Eldest of the triplets occupies the top girder.

Sam Tyler - Youngest of the triplets stationed on the bottom girder.

Kyle Tyler - Middle triplet and Tyler’s Identical Twin, He mans the windows.

How to Play:

When you first start the game tap Left or Right to select Game A(Easy) or Game B (Hard), once your preferred mode is selected
Press A or B to start. (This is as far as I am right now.)

Use <- & -> to move Tyler and gain 2 point(s) when handing rubble/debris to Kyle.

Use A(Left) & B(Right) to move Sam and gain 1 point(s) when handing rubble/debris to Kyle.

Kyle will move from window to window in a pattern it goes Tyler, Sam, Tyler, Sam etc. (there are four windows)

You can only hold 1 Debris Chunk at a time.


Points scoring:

Game A:

Tyler - 2 point(s)

Sam - 1 point(s)

Game B:

Tyler - 4 point(s)

Sam - 2 point(s)

You lose when rubble/debris hits civilians 3 times, the game keeps track of the HI-Score for Game A and B separately, you will only see them in their respective Game Modes.


was8bit 2022-06-23 03:13

Wowzers!!! Looks fantastic !! :D


Anywhere Games 2022-06-23 03:28

Thank you!! Means a lot.


Anywhere Games 2022-06-23 03:46 (Edited)

Can peek and poke store and read more than one two-byte values.


was8bit 2022-06-23 05:20 (Edited)

You can actually PEEK and POKE into ANY memory... just follow the memory chart at the bottom of the help section

Memory Map

$0000 - Cartridge ROM (32 KB)

$8000 - Character Data (4 KB)
$9000 - BG0 Data (2 KB)
$9800 - BG1 Data (2 KB)

$A000 - Working RAM (16 KB)

$E000 - Persistent RAM (4 KB)

$FE00 - Sprite Registers (256 B)
$FF00 - Color Registers (32 B)
$FF20 - Video Registers
$FF40 - Audio Registers
$FF70 - I/O Registers

For purposes of using PERSIST memory, 2bytes at a time, each variable needs 2 memory spaces.. so say an array of 2byte data...

DIM HISCORE(10)
FOR I=0 TO 10
HISCORE(I)=PEEKW($E000+2*I)
NEXT I

To load 11 top scores...

Remember that YOU have to calculate, manage, and keep track of where in memory you are and what you are doing... it is then possible to use PEEK POKE incorrectly and cause errors, issues, or even adversely affect your game...


was8bit 2022-06-23 05:27

You might enjoy these :)

https://lowresnx.inutilis.com/topic.php?id=664

https://lowresnx.inutilis.com/topic.php?id=1103


was8bit 2022-06-23 05:31

COPY lets you move whole blocks of data..

ROM lets you read data in "files"' into memory..


Anywhere Games 2022-06-23 07:17

So something like GMSCR(1)=PEEKW($E000+2)?


was8bit 2022-06-23 08:09

Yep.... if you were doing single byte data format, PEEK POKE would increment by 1, but PEEKW, POKEW are double bytes, so the memory addresses will increment by 2

Also make sure your scores do not exceed the limited data range...

=PEEKW

PEEKW(a)
Returns the two-byte value (-32768 to 32767) at memory address a.

POKEW

POKEW a,v
Writes a two-byte value at memory address a. v is a numeric expression from -32768 to 32767; numeric expressions outside this range are truncated to 16 bits.


Anywhere Games 2022-06-23 16:33

So like this then?

DIM GMSCR(1)
FOR I=0 TO 1
GMSCR(I)=PEEKW($E000+2*I)
NEXT I


Anywhere Games 2022-06-23 16:42

How would one save 2 two-byte values?
Would it be the same way just with POKEL?


was8bit 2022-06-23 19:49

FOR I=0 TO 1
POKE $E000+2*I,GMSCR(I)
NEXT I


was8bit 2022-06-23 19:51

for PEEKL POKEL step by 4

so the memory address is $E000+I*4


was8bit 2022-06-23 20:02

Its all rather simple as long as you are only storing one sized value (1byte, 2byte, or 4byte) ... just allow for 1 memory space for each 1 byte...

It can get more complicated if you are wanting to store a variety of different sized values for different variables... care must be taken to be sure you dont overlap and write one value over some other stored value

Your total storage space for PERSIST memory is 4,096, which translates to $E000+0 to E000+4095...


was8bit 2022-06-23 20:11

One more thought... this is the EXACT amount of storage space for both backgrounds, BG0 and BG1...

I have a few games where i abandoned arrays and used the cell data in the background in place of arrays... it is a rather complicated approach... i have to constantly read the entire background to move pieces, account for piece drift (when a piece moves into an unscanned area, it can be moved across the whole screen at once if you dont plan for that) and also i have to write code that reads numbers like the score off the screen and back into game variable..

The one advantage of this approach is a COPY $9000,$1000 TO $E000 easily saves your entire game state, and COPY $E000,$1000 to $9000 instantly retrieves your entire game state...

It is still a complex way to write a game... so unless you have hundreds of different things going on, arrays with a limited save to PERSIST is way more convenient for most games...


was8bit 2022-06-23 20:15

Here is an example of using the background as an array...

https://lowresnx.inutilis.com/topic.php?id=296


was8bit 2022-06-23 20:21 (Edited)

It is many issues... using the whole background (32x32) pushes the limits of lowres... especially for all the action going on...

I would eventually like to make a space colonization game using this approach... as building a colony should be "low key", not much action, this approach should be perfect ... but for every one game i post here i have 10 or so i start and dont finish, and have 100 great ideas for more :/

Combined with my real life work load, often lucky to get a single day off, family life, etc.. leave me only a few minutes a day or so to work on things here...

But, i just LOVE lowresNX so much, i just cant stay away ;)


Anywhere Games 2022-06-24 03:24 (Edited)

Old games are awesome! Can you preform a For… Next in a Do… Loop?


was8bit 2022-06-24 05:42 (Edited)

Yes... i recommend using a main
DO

WAIT VBL
LOOP

And use your other code inside... this will synchronize your loop to NX’s graphic refresh rate of 60/second

You can have more than one DO LOOP... for example, one for a menu, one for a player to take a turn, for turn based games, etc...


was8bit 2022-06-24 05:43 (Edited)

Also, try to also use SUB as needed, as this is a very powerful feature


Anywhere Games 2022-06-24 18:04

You can make a Do Loop a Sub or Goto, right?


was8bit 2022-06-24 18:51

SUB code must remain all by itself, you can NOT nest it inside any loop... consider it as being able to define a new command... commands stand alone.. you should NOT use GOTO or GOSUB to jump into or out of a SUB

You CAN use DIM and create dimensioned variables inside a sub... ALL variables created inside a SUB exist ONLY inside the SUB... when the SUB is finished, all variables made inside the SUB are deleted and their values are deleted

The exception is if you define GLOBAL variables at the top of your code.... any GLOBAL variable is seen and used by ANY code, be it inside a SUB or outside a SUB...

SUB is powerful but can be confusing until you get used to it..

Later on .... much later on... i will post an easy example highlighting the commom uses for SUB you cant do with anything else ;)


was8bit 2022-06-24 18:54

Having said all that, you CAN use any loop INSIDE a SUB... you just cant put a SUB inside a LOOP.. you also cannot put one SUB inside another SUB..

... REMEMBER ... SUB is kinda like being able to create your own command or function.... in about 1/2 a day when i get back i will post some fun examples for SUB :)


was8bit 2022-06-24 18:56 (Edited)

Also remember, GOTO just jumps around your main code, GOSUB just moves your main code... so the code is just like its part of all the rest of the main code... you are just jumping around your main code...

Code inside a SUB is its own code, seperate from all the rest of the main code

... check back later for some cool examples ;)


Anywhere Games 2022-06-24 19:09

How do you save one changed hiscore to the correct memory bytes you load it from? Ex: GMSCR(0)’s value doesn’t change but GMSCR(1)’s value changes?


was8bit 2022-06-25 06:30

So looking at

FOR I=0 TO 1
POKE $E000+2*I,GMSCR(I)
NEXT I

If I=1 then you can skip the FOR and NEXT lines and just use the middle line...

POKE $E000+2*I,GMSRC(I)

Where I is the entry# you want to change in PERSIST Memory

It might be easier to just load the data from PERSIST into an array when the program first runs... then edit the array during the game... then at the end if the gsme resave the whole updated array back into PERSIST memory

Either approach will work :)


was8bit 2022-06-25 07:05

So here is you SUB demo... it covers some of the things i mentioned :)

https://lowresnx.inutilis.com/topic.php?id=2466


Anywhere Games 2022-07-10 17:28

@was8bit Could you find out why the Bros. aren’t showing up in the Middle Column? Please and thank you! :)


was8bit 2022-07-11 02:30 (Edited)

K, give me some time to get to it... I should have something soon


was8bit 2022-07-11 02:55 (Edited)

Ok, here is my first debug step... adding sounds so I can HEAR what parts of what code is being run...

Look at the code i added, then listen... you will realize that all 3 sounds sound instantaneously ... not consecutively as you need...

Tyler Debug1.nx | Open in app
2022-07-11 02:55

was8bit 2022-07-11 03:00

Here I have reworked a portion of code that more behaves as expected... I am sure the fix probably isn't 100% and other portions of code may also need reworked... but hopefully this helps you going again :)

Tyler Debug2.nx | Open in app
2022-07-11 03:00

was8bit 2022-07-11 03:01

Oh, and of course remove the debug sound effects as needed ;)


was8bit 2022-07-11 03:07 (Edited)

My best practice from experience is this... code a portion of code, then test to ensure it is doing what you "think" it SHOULD be doing... if is runs ok, then add more code...test.... add more code... test...

If you get way too deep by writing huge portions of code, and. THEN test, sometimes it can be impossible to figure out which portions of code need reworked... or in your case, you realize you need to rework ALL your code...


was8bit 2022-07-11 03:10 (Edited)

Also, if you need to overhaul a lot, like change sprites, redo half the code, etc... and what you already have kinda already works ok... MAKE A COPY and create your overhaul from the copy... that way you can always look back at the older code that still kinda works as reference...


was8bit 2022-07-11 03:12

This will be a fantastic game once it's up and running... :D


Anywhere Games 2022-07-11 15:22

Thanks for the help, and the praise, I appreciate your time! :)


Anywhere Games 2022-07-11 15:44

How does one clear the Number Token to show nothing when the game is restarted?


Anywhere Games 2022-07-11 15:46

I do make copies, had to learn why the hard way. lol


was8bit 2022-07-11 16:28

"How does one clear the Number Token to show nothing when the game is restarted"...

... i am not sure what you are asking...

1) at the bottom of the code, TOKENS:##### ROM:##### change as you and or delete code

2) PERSIST memory can be reset for ANY game that uses persist... when looking at the code, hit the button you would use COPY or SHARE... beneath these options is a CLEAR PERSISTENT MEMORY option, which resets PERSIST memory for that game..

3) if you want your code to reset persist memory, you will need to manually POKE a zero value into the places in memory you want to reset..


Anywhere Games 2022-07-11 16:31 (Edited)

Alright. Thank You. But I meant like how you can do PRINT “” with spaces to make it “disappear” so to speak. Can you make a falling SFX similar to the one in the Game & Watch Hammer? If possible.


was8bit 2022-07-11 16:50

Use TEXT x,y," "


Anywhere Games 2022-07-22 16:17 (Edited)

Sorry, It’s Game & Watch Helmet. My bad. https://www.youtube.com/watch?app=desktop&v=b9cueTwo65o


was8bit 2022-07-23 04:35

I will check this out later on... kinda tired right now .... almost a 12hr day today, 1/3 staffed... yea!!! :/


was8bit 2022-07-23 15:53

See how this sounds... not exact... but close..

Watch Helmet.nx | Open in app
2022-07-23 15:53

Anywhere Games 2023-03-18 23:42

That works thank you, I’ve been busy.
Adulting 1 out of 5 stars would not recommend.


was8bit 2023-03-19 17:23

I’ve been very busy too ;)


Log in to reply.