Flea Game and some help needed (demo)

wallmasterr

Active member
dale_coop said:
Have you seen my email today? With the fix to try for your warp issue?
Ye thanks, taken a bit of a day off today but the code change seems to have fixed some issues, not tested thoroughly yet. and afraid of changing the player bounding box.
 

wallmasterr

Active member
Do monsters play sounds? can this just be added to the monster behaviour scripts or should we just add the monster noises to the soundtrack for that level? What do people normally do for this?
 

wallmasterr

Active member
https://twitter.com/Wallmasterr/status/1259125174424797188

I got the Patel swapping in, tried to add 4 monsters but the screen ran really slow or just went with 3, but one of them holds 2 characters. Is there a fix for slow screens coz of monsters?

Also, I'm noticing a massive difference between NTSC and PAL. run soo much slower on pal.
I kinda wanna get a copy of Mario 3 or something from us and see how it compares speed wise. Has the uk been playing on easy mode this whole time?
 

dale_coop

Moderator
Staff member
It's a common (normal) problem.
A lot of US games (60fps) will run slowly on PAL consoles (50fps).
Some games have two version (NTSC/PAL) with different speeds for every objects. Some PAL version of games just run slowly than NTSC games, but since you never played the other version you don't know that ;)
Some games are optimized to run almost at the same speed for NTSC/PAL.

A technic would be to have 2 tables of speed properties for every objects and read from one or another depending of the region.
Another is to skip 1 frame every 5 frames.. like this PAL and NTSC will run at the same speed (the PAL speed).
 

wallmasterr

Active member
Can you detect whether your on pal or ntsc in nesmaker? I hope nesmaker adds some easy fixes for this in the future.
 

dale_coop

Moderator
Staff member
Yes, Mugi has written a tutorial to have PAL/NTSC sound correct. So, you use that to know which region you are playing on.
http://nesmakers.com/viewtopic.php?f=39&t=2115
 

wallmasterr

Active member
Iv got a bug related to losing lives.
if you are on 101, 201, 301 lives lose a life the game resets.
Am i just checking the first 2 numbers to see if they are zero?


here's my playerloselife.asm
Code:
;;; do loss of life stuff here
;;  DEC myLives

LDA myScore	;; to read/load the value corresponding to the units
LDA myScore+1	;; to read/load the value corresponding to the tenths
LDA myScore+2	;; to read/load the value corresponding to the hundreds
LDA myScore+3	;; to read/load the value corresponding to the thousands

	LDA myScoreSave
	STA myScore
	LDA myScoreSave+1
	STA myScore+1
	LDA myScoreSave+2
	STA myScore+2
	LDA myScoreSave+3
	STA myScore+3


	SubtractValue #$02, myLives, #$01, #$00 ;;Subtract 1 from the Ones digit
	;;AddValue #$02, myLives, #$01, #$00 ;;add 1 from the Ones digit ally
	;; first, checking the tenths:
	

	
	LDA myLives+1
	BNE gameNotOver
	;; if the tenth digit is zero, then checking the units:
	LDA myLives
	BNE gameNotOver

	;;do gameover stuff here.  Warp to screen?  Show animation?  Just restart?
	JMP RESET
	
gameNotOver:

;;;;;
;;; do warp to continue screen stuff here.
LDA #$00
STA newGameState
 LDA continueMap
 clc
 ADC #$01
 STA temp
 GoToScreen continueScreen, temp, #$04
 LDA #$00
 STA playerToSpawn
; LDX player1_object
; DeactivateCurrentObject
 LDA #$01
 STA loadObjectFlag
 
LDA continuePositionX
STA newX
LDA continuePositionY
STA newY

is it around the LDA myLives+1 ?
 

dale_coop

Moderator
Staff member
Because your script checks lives on 2 digits...
Maybe you updated your game and made 3 digits HUD for your lives?

If now your lives are a 3 digit hud number, you need to add that code:
Code:
	LDA myLives+2
	BNE gameNotOver

before the lines:
Code:
	LDA myLives+1
	BNE gameNotOver
 

wallmasterr

Active member
Thanks again dale, i had tried "LDA myLives+2 BNE gameNotOver" and

"LDA myLives+1
LDA myLives+2
BNE gameNotOver"

So wasn't a million miles off must mean im getting slightly better at asm.
 

Dirk

Member
I think that is a good idea to prevent getting players stuck and having to reset the whole game.
Maybe there is a way to give the player one additional life when they reach such a place so they won't lose one for something that isn't their but NESmaker's fault.
 

wallmasterr

Active member
Ye supose i could make a new tiletype that dose the checkpint stuff but just skips lose life stuff. Would be cool to get death / respawn by defalt in nesmaker.
 

wallmasterr

Active member
what are the .mst files? my github is saying that they are too big to comit now at 127mb
is this like the project file? is it realy big because iv filled every tile on every screen ?

I deleted a lot of the unused death screens to get the size down under 100 mb and now github is happy again.
 

dale_coop

Moderator
Staff member
The MST file is your project file. It’s the most important file (with your GameEngineData & GraphicAssets folders)
You have the also several other files MST.0 to MST.5 that are auto-saved Project files.
 

wallmasterr

Active member
Im trygin to setup auto text for the cut scenes but hitting some issues.
folowing this but making a few changes.
http://nesmakers.com/viewtopic.php?f=35&t=4831
I only wana do 1 lot of text and I'm ok with the player having to manually press the button to forward the text. so iv just set up the monster action to auto text action and end action warp.

This almost works, it warps me to the screen but my movement code is not responsive and some of the collision seems off too, it just kills me and spits me back out at the cut scene screen.
Edit: might have fixed it now

copied my tile warp script and added it to the ai warp
Code:
;;warp to new screen

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;old code
;LDA warpMap
;sta currentMap
;clc
;ADC #$01
;STA temp
;GoToScreen warpToScreen, temp, #$02
;	LDA navFlag
;	ORA #%00000010
;	STA navFlag
;LDX player1_object
;ChangeObjectState #$00, #$10
;;;;;;;;;;;;;;;;;;;;;;;;;;

;reset text ation to 0
LDA #$00
    STA textaction
;copied code from warp tile	
LDA #$00
STA newGameState

 LDA warpMap
 sta currentMap
 clc
 ADC #$01
 STA temp
 GoToScreen warpToScreen, temp, #$02
 LDA #$00
 STA playerToSpawn
 LDX player1_object
 DeactivateCurrentObject
 LDA #$01
 STA loadObjectFlag
 
LDA mapPosX
STA newX
LDA mapPosY
STA newY

Edit:
only seems to work if u start on that screen. if i warp to it from other screen the text starts automaticaly but the input is blocked and cant continue.
 

wallmasterr

Active member
gave up...
https://twitter.com/Wallmasterr/status/1264200315596935173
now i just have the player overlap an invisible monster and prompt the player to press b, will hopefully work. much easier for me to understand too.
 

wallmasterr

Active member
https://twitter.com/Wallmasterr/status/1264539034333990912
I just bought an nes advantage and watched to test out the slow button works well :)
 
Top Bottom