Just Get 9 has just been published!

Started by cpcitor, 01:00, 12 December 21

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


mahlemiut

- Barry Rodewald

cpcitor

Quote from: eto on 10:39, 13 December 21
Maybe it's not even required to track a high score, but when a game reaches 9, J,U,... you could output the number of moves and time spent on the screen and if people share the screenshots, they can see, how long it took others to reach the same level. Or just for myself to get that "ha, broke my own record" feeling.

But the game is already great as it is. No need to change anything. (Even my kids were sitting next to me and were totally fascinated!)

Okay, I got a phone call from a guy mumbling in his beard about gifts that are nearly ready to be sent to nice people around the world. Stay tuned, something might appear, perhaps tomorrow.

;)
Had a CPC since 1985, currently software dev professional, including embedded systems.

I made in 2013 the first CPC cross-dev environment that auto-installs C compiler and tools: cpc-dev-tool-chain: a portable toolchain for C/ASM development targetting CPC, later forked into CPCTelera.

cpcitor

Quote from: eto on 10:39, 13 December 21
Maybe it's not even required to track a high score, but when a game reaches 9, J,U,... you could output the number of moves and time spent on the screen and if people share the screenshots, they can see, how long it took others to reach the same level. Or just for myself to get that "ha, broke my own record" feeling.

But the game is already great as it is. No need to change anything. (Even my kids were sitting next to me and were totally fascinated!)

Hi @eto, hi players! @eto's wish was fulfilled.

I chose the simplest thing to do: the latest achievement in the current game is now remembered.

It is the value, number of moves and time since game beginning *at the moment of the highest tile obtained*.  It is shown:
    * when a new number is achieved,
    * in the in-game menu,
    * in the "quit game?" screen
    * on game over

You can play and download version "patch 2" on https://cpcitor.itch.io/just-get-9

More details about update in https://cpcitor.itch.io/just-get-9/devlog/328890/just-get-9-now-measures-and-reports-player-achievements

[ You are not allowed to view this attachment ]  
Had a CPC since 1985, currently software dev professional, including embedded systems.

I made in 2013 the first CPC cross-dev environment that auto-installs C compiler and tools: cpc-dev-tool-chain: a portable toolchain for C/ASM development targetting CPC, later forked into CPCTelera.

eto

awesome! this is great!


and 5m17 is very impressive.

cpcitor

Quote from: eto on 14:30, 27 December 21
awesome! this is great!

and 5m17 is very impressive.

Ah, yeah, while writing changes I have to test it.

Here's a censored screenshot that does not reveal how much I scored when testing. ;D  ;)

 [ You are not allowed to view this attachment ]  
Had a CPC since 1985, currently software dev professional, including embedded systems.

I made in 2013 the first CPC cross-dev environment that auto-installs C compiler and tools: cpc-dev-tool-chain: a portable toolchain for C/ASM development targetting CPC, later forked into CPCTelera.

eto

#31
Quote from: cpcitor on 14:38, 27 December 21Ah, yeah, while writing changes I have to test it.


and now I do have a new motivation to play it ;-)

over 2 minutes faster than my previous record. Thanx for the stats. I love it.

cpcitor

Quote from: eto on 19:05, 27 December 21

and now I do have a new motivation to play it ;-)

over 2 minutes faster than my previous record. Thanx for the stats. I love it.

Hey, that's a pretty good performance! I sometimes did better, but I guess 159 moves is close to some optimum to reach 9. J, U and above are much longer.
Had a CPC since 1985, currently software dev professional, including embedded systems.

I made in 2013 the first CPC cross-dev environment that auto-installs C compiler and tools: cpc-dev-tool-chain: a portable toolchain for C/ASM development targetting CPC, later forked into CPCTelera.

GFXOR

It took me a long time, but I succeeded. After 9, the J, and the U.
Supersly from the Les sucres en morceaux

cpcitor

Quote from: GFXOR on 23:14, 16 January 22
It took me a long time, but I succeeded. After 9, the J, and the U.

Wow, really impressive! Not only a U, but also J,9,8,6,5,4. You got really close to the S!

Actually, I'm under the impression that I never got that far, so close to a S. That's a huge achievement you made GFXOR.

I have 3 questions:

* This looks like a photo of a real CPC screen, do you confirm?
* What CPC model did you play on?
* What version of the game (beta, original, p1, cannot be p2) ?
The beta shows "beta" in the title page. The p1 mentions the patch number near the end of the README.html file in the zip. (If you didn't get a zip, please tell where you got the file.)
Had a CPC since 1985, currently software dev professional, including embedded systems.

I made in 2013 the first CPC cross-dev environment that auto-installs C compiler and tools: cpc-dev-tool-chain: a portable toolchain for C/ASM development targetting CPC, later forked into CPCTelera.

cpcitor

Today I brought a CPC6128 at friends' home, plugged on a modern-but-not-so-recent TV and we observed that released version crashed when showing the demo after about a minute, or playing a game. We could play an internal version (between the beta and the release) that I happened to have lying around, and it worked flawlessly.

Tonight on a CPC6128 I just tested the original zip, version p1 (minor visual adjustments mentioned here at the time) and p2 (the one that shows achievement), and also p2 on a CPC464, all have this crash.

Such a crash is a little strange because the game is rock solid on emulators. The beta version is also rock solid on real CPCs, where it was tested regularly. When making the final adjustment I got confident that testing it on cpcec, caprice32 and floooh's chips was enough in practice. And tested it was, with long games! All emulators behaved the same.

It is also strange because I don't use exceedingly obscure features of the machine. Plus the beta worked so well. Could anyone have an idea of why things could behave differently on the emulator? (First idea would be position of the interrupt signals, but hey, so many games have been released with 256 lines screen and interrupts, and that was already the setup of the beta. The only thing is that the release consumes much more memory, roughly from 0x80 to 0xA9FF and 0xACDF to 0xB100. Given that 0xB100 to 0xBFFF is basically firmware-reserved, and 0xC000-0xFFFF is the screen, there's not much room left.)

I'll be investigating the crash on real CPC in the next days. I think I'll use git's bisect feature to converge exponentially fast to the individual code change that caused of the failure. I don't have any hardware debug facilities, so I hope that I will find the problematic code change and figure out the issue from there. It would be tough to debug something that cannot be reproduced in any emulator...

Had a CPC since 1985, currently software dev professional, including embedded systems.

I made in 2013 the first CPC cross-dev environment that auto-installs C compiler and tools: cpc-dev-tool-chain: a portable toolchain for C/ASM development targetting CPC, later forked into CPCTelera.

Jean-Marie

"The only thing is that the release consumes much more memory, roughly from 0x80 to 0xA9FF and 0xACDF to 0xB100."

AMSDOS uses a memory block from A6FCh to ABFFh. (see this map)
If you write in it, that promptly crashes on emulators.



10 FOR x=&A6FC TO &A9FF
20 POKE x,0
30 NEXT x



cpcitor

Quote from: Jean-Marie on 02:04, 17 January 22
"The only thing is that the release consumes much more memory, roughly from 0x80 to 0xA9FF and 0xACDF to 0xB100."

AMSDOS uses a memory block from A6FCh to ABFFh. (see this map)
If you write in it, that promptly crashes on emulators.



10 FOR x=&A6FC TO &A9FF
20 POKE x,0
30 NEXT x


When AMSDOS or BASIC is active, that's totally true.

But the firmware is modular enough that you can politely ask for more RAM available, and that's what I did.

From Soft968 section 15:

Quote177: MC BOOT PROGRAM
#BD13
Load and run a program.
Action:
Shut down as much of the system as possible then load a program into RAM and run
it. If the load fails then the previous foreground program is restarted.
(...)
The routine run to load the program is free to use any store from #0040 up to the base
of the firmware variables area (#B100) and may alter indirections and arm external
device interrupts as required.

And since I do not re-enable any firmware part, the memory is still available.
Indeed, after MC BOOT PROGRAM, if you don't re-enable the AMSDOS, calling file-related entry points goes to the cassette routines.
This was already the case in the beta, without crash, which is a sign.

Actually, when you run"program.bin" AMSDOS does this. This is why you have to re-enable AMSDOS if your binary has to load other binaries. And you lose the information about which drive the first binari was loaded from, that you have to peek at &be7d to get it back. See e.g. https://cpctech.cpcwiki.de/source/sldldr.html . When you run"program.bas", this does not happen, full firmware and BASIC are still active.

Thanks for the hypothesis.
Had a CPC since 1985, currently software dev professional, including embedded systems.

I made in 2013 the first CPC cross-dev environment that auto-installs C compiler and tools: cpc-dev-tool-chain: a portable toolchain for C/ASM development targetting CPC, later forked into CPCTelera.

Jean-Marie

Did you use a floppy disk when testing it on real hardware ?
Could be a bad dump/disk...

GFXOR

Real CPC / CRTC2.
I don't know which version it is. No Beta written anywhere. I guess it comes from cpc-power.

The game does not run on the drive B.

What are the differences between newbee to Advanced level ?
Supersly from the Les sucres en morceaux

cpcitor

Quote from: GFXOR on 14:17, 17 January 22
Real CPC / CRTC2.
I don't know which version it is. No Beta written anywhere. I guess it comes from cpc-power.

If you are certain that the main title with "JUST GET9" shown on two lines does not mention "BETA PRERELEASE", then it is a released version.
Based on the simple "GAME OVER" label, it is the first released version.

Does it show a title screen while loading?
Does it says "Just Get 9" on the audio output when showing the title?

This shows that the released version works on your real CPC and not my 6128, very strange.

So, only my CPC464 and 6128 would be flawed to play only the beta? This is strange.

Any test report of the released version on real machines are interesting.

Quote from: GFXOR on 14:17, 17 January 22
The game does not run on the drive B.

Aha, thanks for notifying.
I followed Kevin's method ( https://cpctech.cpcwiki.de/source/loader.html ) which is supposed to handle that, but never tested on drive B.
Thanks for notifying, I will check that.
Had a CPC since 1985, currently software dev professional, including embedded systems.

I made in 2013 the first CPC cross-dev environment that auto-installs C compiler and tools: cpc-dev-tool-chain: a portable toolchain for C/ASM development targetting CPC, later forked into CPCTelera.

cpcitor

#41
Quote from: GFXOR on 14:17, 17 January 22
What are the differences between newbee to Advanced level ?

Here you are:

The level is not something adjusting the game difficulty (like in Doom, number and speed of monsters). It is rather a measurement. It was introduced to automatically adjust game features: enough to help the beginner, but remove them automatically so as to not annoy the advanced player.


  • 0 Newbie: whenever entering a game (including back from the in-game menu) tutorial page is shown, unplayable tiles are faded, in case of difficulty border color change and comments appear to hint the player
  • 1 Beginner: tutorial page is no longer shown
  • 2 Intermediate: no more comments (but still border color)
  • 3 Advanced: unplayable tiles are no longer faded, border remains black at all times

Also: I wanted that any player, even a beginner, has a chance to hear both in-game music tunes, but that an advanced player hears the first music at least about 30 seconds. To obtain this, the music changes to reflect the player's level. On your first game, things might be challenging, so music changes when you reach 4. On subsequent games, depending on the level you reached, the threshold for music changing can be 5 or 6. The actual rule is: on every move, music is chosen depending on whether the reached tile is greater or equal to level + 3. This can be verified (I just did, to be sure).

The skill advances automatically, every time you reach a sufficient new value: 5 -> beginner, 7 -> intermediate, 8-> advanced.

There is a reason that I made the level changeable, even while playing (press Esc for in-game menu). In theory, the elements above allow to guess what it is useful for.
Had a CPC since 1985, currently software dev professional, including embedded systems.

I made in 2013 the first CPC cross-dev environment that auto-installs C compiler and tools: cpc-dev-tool-chain: a portable toolchain for C/ASM development targetting CPC, later forked into CPCTelera.

GFXOR

I have the Amiga intro, then the starfield yellow, then a screen with written in big "just get 9" during the loading, then the game starting with your sample.

It is a bit strange that you assume having doing a release that does not work on the real machine !

Do you plan to do something for the drive B ?

(short sentences because of my poor english, sorry).
Supersly from the Les sucres en morceaux

CraigsBar

Still loving this game. But one small thought. The "Bounce" of the screen sends my LCD screen and OSSC into confusion as it loses the sync meaning I cannot really play it on real hardware unless i drag a CM14/CTM644 out (Or a 14" Nicam TV) and this is a chore. Is there any chance of a re-release with an option to disable the bounce so it is more friendly with modern displays that only have digital inputs?
IRC:  #Retro4All on Freenode

cpcitor

Quote from: GFXOR on 11:15, 18 January 22
I have the Amiga intro, then the starfield yellow, then a screen with written in big "just get 9" during the loading, then the game starting with your sample.

Okay, so first release. My CPC also failed to run that release. It might be my CPC, then.

Quote from: GFXOR on 11:15, 18 January 22
It is a bit strange that you assume having doing a release that does not work on the real machine !

It is only an hypothesis.
The beta was tested a lot on a CPC464 and a CPC6128. Crashes happened until I fixed them.
After that, never a crash on a real machine.
When doing the release in December I did not have access to a real machine but the adjustments were small.
Emulators that run all those demos are supposed to be very precise.
The risk is low.

Quote from: GFXOR on 11:15, 18 January 22
Do you plan to do something for the drive B ?

Yes.

Quote from: GFXOR on 11:15, 18 January 22
(short sentences because of my poor english, sorry).

Ok.
Had a CPC since 1985, currently software dev professional, including embedded systems.

I made in 2013 the first CPC cross-dev environment that auto-installs C compiler and tools: cpc-dev-tool-chain: a portable toolchain for C/ASM development targetting CPC, later forked into CPCTelera.

cpcitor

Quote from: CraigsBar on 14:54, 18 January 22
Still loving this game. But one small thought. The "Bounce" of the screen sends my LCD screen and OSSC into confusion as it loses the sync meaning I cannot really play it on real hardware unless i drag a CM14/CTM644 out (Or a 14" Nicam TV) and this is a chore. Is there any chance of a re-release with an option to disable the bounce so it is more friendly with modern displays that only have digital inputs?

Thank you for reporting.
I prefer to avoid adding such an option, but it is possible.

Ahhhhh, the OSSC. I like it but never had a chance to test. I regret that no one published optimal timings for the Amstrad CPC on e.g. https://junkerhq.net/xrgb/index.php?title=Optimal_timings http://www.firebrandx.com/osscprofiles.html or http://r3.fyi/ .

Do you use the generic mode? Another mode? Have you tried changing options?

I understand that the "zero-lag" policy of OSSC makes it difficult if not impossible to emulate an old CRT while respecting the strict timing that HDMI mandates. The best option is still to use a TV with integrated SCART (a.k.a Peritel) connector.

Had a CPC since 1985, currently software dev professional, including embedded systems.

I made in 2013 the first CPC cross-dev environment that auto-installs C compiler and tools: cpc-dev-tool-chain: a portable toolchain for C/ASM development targetting CPC, later forked into CPCTelera.

eto

Quote from: cpcitor on 23:54, 17 January 22Any test report of the released version on real machines are interesting.

Most recent version runs perfectly fine on a 6128 plus from drive B (Gotek). Screen is a LCD with a GBS8200 (with GBSControl mod). I had a split second where the screen was flickering probably due to the rumble effect but it vanished immediately and only happened once during a 10 minute test.


GFXOR

My bad : my problem was not really on drive B but on drive when using the XMass (as default drive) with CubeMDos. On a nude CPC I have no problem with drive B.

I confused because it generally happens with the games that don't run on drive B.
Supersly from the Les sucres en morceaux

cpcitor

Quote from: GFXOR on 08:45, 19 January 22
My bad : my problem was not really on drive B but on drive when using the XMass (as default drive) with CubeMDos. On a nude CPC I have no problem with drive B.

I confused because it generally happens with the games that don't run on drive B.

I ran the game from a real drive B on a real CPC tonight. Thanks again to Kevin for his routine to load from the initial drive after reinit firmware.

Also, I tested again on 2 different CPC6128. One crashed several times, the other worked perfectly always. So, it looks like the game is correct, some specific hardware has caused the crashes I observed recently.
Had a CPC since 1985, currently software dev professional, including embedded systems.

I made in 2013 the first CPC cross-dev environment that auto-installs C compiler and tools: cpc-dev-tool-chain: a portable toolchain for C/ASM development targetting CPC, later forked into CPCTelera.

CraigsBar

Brilliant game @cpcitor , Really loving playing this. I made it up to T once! now I get either 9 or J fairy frequently and once or twice U. 
One small BUG however is that sometimes the popup panels that occur when you get a new number do not get removed until the tiles under them are redrawn. This does not occur all the time, but when it does it can lead to part  of the message remaining it looks a little untidy.

https://img.itch.zone/aW1nLzg1MTkzNDMucG5n/original/%2B5BJ2Q.png
IRC:  #Retro4All on Freenode

Powered by SMFPacks Menu Editor Mod