Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 03:16 27 Nov 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : PETSCII ROBOTSfor PICOMITE beta

     Page 4 of 4    
Author Message
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4238
Posted: 08:00am 07 Dec 2023
Copy link to clipboard 
Print this post

Hi Tom,

Thanks for helping out. I fixed the 2 bugs you mentioned (rollerbot firing under EMP, player visible over map) in this version. Since I knew what to do it was only 10 minutes. Now I am off to bed again..

pet25m_bf.zip

Volhout
PicomiteVGA PETSCII ROBOTS
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6795
Posted: 08:24am 07 Dec 2023
Copy link to clipboard 
Print this post

Get well soon, Volhout. This is the wrong time of year to be poorly! :(
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
Bleep
Guru

Joined: 09/01/2022
Location: United Kingdom
Posts: 509
Posted: 11:14am 07 Dec 2023
Copy link to clipboard 
Print this post

Hi Everyone,
Firstly, get well soon Martin and Harm.
Secondly, Tom, you changed the function name for the Wii to
Function ctrl_wii_classic$(init%)
an extra under score, however you didn't change the return name, so you need to change the return name here.
    End Select
  EndIf

  ctrl_wii_classic$ = s$
  Exit Function


Otherwise your and Harms changes look to be fine.
The key mapping I used, was simply for my own purposes, if you wan to make them like the SNES then fine, it just seemed to me if you have the extra controls, you might as well use them.
Regards, Kevin.
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4040
Posted: 11:24am 07 Dec 2023
Copy link to clipboard 
Print this post

  Bleep said  Firstly, get well soon Martin and Harm.


And from me too.

Hi Kevin,

  Bleep said  Secondly, Tom, you changed the function name for the Wii to
Function ctrl_wii_classic$(init%) an extra under score, however you didn't change the return name, so you need to change the return name here.


Ack, thanks for catching that. I changed the name for consistency with other work I have done for controller support on the CMM2.

  Bleep said  The key mapping I used, was simply for my own purposes, if you wan to make them like the SNES then fine, it just seemed to me if you have the extra controls, you might as well use them.


Indeed ... but you actually use two fewer buttons than the SNES controller .

I think one of the aims of the control scheme is to allow the player to "easily" move in one direction whilst shooting in another direction, hence the SNES mapping puts the four fire-directions on ABXY. This is not so easy to implement with the NES controller.

Best wishes,

Tom
Edited 2023-12-07 22:09 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Bleep
Guru

Joined: 09/01/2022
Location: United Kingdom
Posts: 509
Posted: 12:22pm 07 Dec 2023
Copy link to clipboard 
Print this post

By using one of the joy sticks for player movement and the 4 direction cursor control for shooting, you can move and shoot with my mapping already.
I was also wondering about allowing the shooting to auto repeat, I don't know whether the original version allowed this or not?
Regards, Kevin.
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4040
Posted: 12:34pm 07 Dec 2023
Copy link to clipboard 
Print this post

  Bleep said  By using one of the joy sticks for player movement and the 4 direction cursor control for shooting, you can move and shoot with my mapping already.


Ah, yes, I overlooked the analog stick.

  Bleep said  I was also wondering about allowing the shooting to auto repeat, I don't know whether the original version allowed this or not?


I had the same thought about enabling that.

I really want to have a deep dive on the keyboard/controller repetition and flushing behaviour. At the moment the code is liberally sprinkled with calls to kill_kb() - which reads and discards keyboard/controller input until there is none - and I wonder if a slightly more context sensitive implementation of read_input$() would allow us to do away with this.

Best wishes,

Tom
Edited 2023-12-07 22:41 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4238
Posted: 02:43pm 07 Dec 2023
Copy link to clipboard 
Print this post

Hi Tom,

kill_kb() is only used where repeated pressing of (especially the controller-) keys causes the game to malfunction. So there where not many of them in the actual game.

- In the selection menu's (everywhere)
- In the MOVE ITEM action.

Due to combined keys on controllers this has become more critical.

what you could do is change the read_input$() to accept a parameter where

read_input$(0) would wait for old key release, and respond with the new key pressed
              or would kill_kb(), and then read the key and return it.
read_input$(1) would immediately respond with key (incl autorepeat).

But in the main loop there is only one key entry (except when leaving with ESC).
And this key entry is used throughout the game. Hence the local "kill_kb" to make sure the next key is really pressed, and not a remainder of earlier repeats.

Maybe you could leave it as is. This (more or less) works. And you can sprinkle a few more kill_kb()'s around for the controllers. Even IF GameMite THEN kill_kb().

Regards,

Volhout

P.S. I found a bug (far) more difficult to fix. When you shoot plasma at a wall it shows visual explosions, also on the other side of the wall. This is in line with the DOS game. But the DOS game does not actually do damage to items/units on the other side of the wall. Our game does. I need to find a way to solve this with minimal time impact. Because we are currently at 95% loop time. The controller changes have also had some impact. But that was to be expected. Adding functionality costs CPU cycles.

P.P.S. Tom, did you see the first code line "OPTION DEFAULT INTEGER" ? You can remove some 100 times a "%" sign in your code pieces. Not needed. Only when you use floats you need to "!". Maybe a find-replace in MMEDIT will work.
Edited 2023-12-08 01:02 by Volhout
PicomiteVGA PETSCII ROBOTS
 
Bleep
Guru

Joined: 09/01/2022
Location: United Kingdom
Posts: 509
Posted: 03:15pm 07 Dec 2023
Copy link to clipboard 
Print this post

I'm old school so always have :-
Option EXPLICIT
Option DEFAULT NONE

so you have to declare every variable before you use it, so doing away with %,!,$ etc. :-)
Regards, Kevin.
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4040
Posted: 04:57pm 07 Dec 2023
Copy link to clipboard 
Print this post

Hi Harm,

  Volhout said  kill_kb() is only used where repeated pressing of (especially the controller-) keys causes the game to malfunction. So there where not many of them in the actual game ...


Yes, I didn't intend to say I could do better, just that I'd like to investigate whether it is possible to do better. Also won't kill_kb() pause the game indefinitely if a button is held down, we can live with that but it's a little odd.

  Volhout said  P.S. I found a bug (far) more difficult to fix. When you shoot plasma at a wall it shows visual explosions, also on the other side of the wall. This is in line with the DOS game. But the DOS game does not actually do damage to items/units on the other side of the wall. Our game does. I need to find a way to solve this with minimal time impact. Because we are currently at 95% loop time. The controller changes have also had some impact. But that was to be expected. Adding functionality costs CPU cycles.


Is there some trick with the ordering of the tiles, i.e. are all the "outside" tiles in a particular range ? In which case if the player is standing on a floor tile and the potential explosion tile is in the "outside range" then don't apply the explosion on that tile.

  Volhout said  P.P.S. Tom, did you see the first code line "OPTION DEFAULT INTEGER" ? You can remove some 100 times a "%" sign in your code pieces.


Just a habit, easily fixed, all my own code uses OPTION DEFAULT NONE.

  Bleep said  I'm old school so always have :-
Option EXPLICIT
Option DEFAULT NONE

so you have to declare every variable before you use it, so doing away with %,!,$ etc. :-)


I would have said that is "new school" not "old school" and I do the same, however your final statement is incomplete, you only do away with %, !, $ if you use a VB style declaration, i.e. ... AS INTEGER|FLOAT|STRING, which is very verbose in FUNCTION/SUB parameter lists and a problem in MMBasic which doesn't have line-continuation.

Best wishes,

Tom
Edited 2023-12-08 03:03 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4238
Posted: 07:44pm 07 Dec 2023
Copy link to clipboard 
Print this post

All,

To fix the issue with plasma damage through walls, the shooting direction is embedded in the damage dealing now. This may have side effects that I missed.
Especially for testing the F3 cheat key is back.

pet25n.zip

I hope I killed nothing, because I touched 8 or 9 routines that interact.

Regards,

Volhout

P.S. the one "feature" that still exists is that when you place a time bomb directly against the wall, it will damage 1 tile in the other room. You can use it to your advantage to kill the evilbot with 8 time bombs from outside the room... this is something I will probably not fix since it requires another "search" algorithms and these cost lots of time. The plasma fix did not cost loop time, it made use of information was already available, only use it smarter.
Edited 2023-12-08 05:51 by Volhout
PicomiteVGA PETSCII ROBOTS
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 1113
Posted: 03:12pm 08 Dec 2023
Copy link to clipboard 
Print this post

there is a difference between the difficulty level
map 1 PC Version:
If I look for the rocket I get 100 bullets
but in easy mode I get 200 bullets, the number of other hidden items is also doubled.

I haven't found the responsible part in the source yet
'no comment
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4238
Posted: 03:25pm 08 Dec 2023
Copy link to clipboard 
Print this post

Hi Martin,

On VGA using PS2 keyboard I get 100.
Are you using Game*Mite ? Maybe key bounce ?

Is strange though.
You have clicked so fast that the hidden item is not yet removed from the lander, before you clicked again. May have somthing to do with the animation that lasts 2 seconds... I will try to reproduce...

Volhout

P.S. does it also happen if you search the lander from another direction ? Maybe a unfortunate key combination on the game*mite ?
Edited 2023-12-09 01:27 by Volhout
PicomiteVGA PETSCII ROBOTS
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 1113
Posted: 03:50pm 08 Dec 2023
Copy link to clipboard 
Print this post

  Volhout said  
P.S. does it also happen if you search the lander from another direction ? Maybe a unfortunate key combination on the game*mite ?
as I wrote.. PC Version
This does not happen on the Pico Version but seems to be a part of the Level System on the PC/Amiga/c64 Version.

So there must be a routine which sets the number of the Items Higher depending on the Difficulty level
Edited 2023-12-09 01:54 by Martin H.
'no comment
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4238
Posted: 03:58pm 08 Dec 2023
Copy link to clipboard 
Print this post

Ah, good to know....
We can implement that also...
When there are more differences, please let me know.

Volhout
PicomiteVGA PETSCII ROBOTS
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 1113
Posted: 05:32pm 08 Dec 2023
Copy link to clipboard 
Print this post

  Volhout said  Ah, good to know....
We can implement that also...
When there are more differences, please let me know.
Volhout

I will, However, I'm still not fit again.

I'm starting to get the feeling that we should distribute the program as it is, before it is fragmented beyond recognition by more and more "optimizations".
Then one can lower it even further, add wide tires and add an additional front and rear spoiler as he wish

The program gets more out of the Pico than any of us would have expected, and does it very well
Controller for Game*Mite and PiGame (with NES Controller) or just Keyboard support should be enough for the Start.
Edited 2023-12-09 03:45 by Martin H.
'no comment
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4238
Posted: 10:34pm 08 Dec 2023
Copy link to clipboard 
Print this post

All,

It was our target to use this thread to remove the game play issues from the game, so it could be released as a VGA-keyboard version.

In the original PICO PETSCII thread we would continue to play with the program to support as many as possible controllers and LCD's to suit anyone's needs.

We think this thread has fulfilled its duty, and I plan to go to RC for the VGA-keyboard version end this weekend. We thank you all for bringing up any noncompliance, and ideas. The RC (release candidate) will lead to the version to send to David Murray. Hopefully it will coincide with an official V5.08.00 release from Peter.

In the mean time, We will support development in the PICO PETSCII thread, so it can continue to support as many as possible platforms. Additional interfaces is always nice to have, game mechanisms will not change anymore, so I hope as many as possible people can enjoy the puzzles in the game thanks to your efforts and dedication.

Thank you all,

Martin_H
Volhout
Edited 2023-12-09 08:36 by Volhout
PicomiteVGA PETSCII ROBOTS
 
     Page 4 of 4    
Print this page


To reply to this topic, you need to log in.

© JAQ Software 2024