maxman
Well-known member
This is complicating to explain, but this is about improving the referee system for the engine's performance rate and its consistency.
I just got started with the attempt on making a better referee system based on @Bloodbane's Versus template demo (actually, not "demo" as in "incomplete game", but as a demonstration). What I had made before this is/was based on the referee system from D&D Rise of Warduke, but it's mixed with some parts from the Versus template too. I'm having trouble with memory consumption every time it loads to the next scene or reloads its current branch. I have some globalvars which load/draw sprites for a number of victories from each round. I already declared those with characters' death and "lose" animations in script tags. Here's the kind of referee system I'm using but it's for calling existing players in stage.
pastebin.com
I made a new main referee entity that spawns each referee entity that represents a present playable entity based on how many players exist in game. One exists when one player is present but kills itself off when two players are present. The other one exists when two players are present but kills itself off when one player is present.
Main referee to be present:
Here's one referee for a single player being existent, but it needs some work for calling out certain winner.
pastebin.com
Is it necessary for me to skip levels after one wins a round or do I need to jump to current branch which I'm using for a number of rounds/victories via levels.txt? For skipping levels, I'm referring to the setup in levels.txt based on the VS template like this.
What I mean by jumping to current branch is the setup I have here in levels.txt, which I have to load the same level in the same branch again like (Stage_Ryu branch).
How can I use DifitFind and check if one fighter is defeated after finishing one level?
Is the terminate function from wasit.c for killing off one target of the player? I asked because I would like the referee to kill off the losing player after the winning player proceeds (while two players exist) before moving to the next stage.
Pay attention to the performance information at the bottom right corner, but because I started to record with Bandicam and it started to increase over 200kb used RAM in its performance rate. I normally have about less than 200kb used RAM before it increases its limit.
What I don't understand in the videos about the engine's performance rate is that the used RAM gets higher than the free RAM.
Is it because of the globalvars I use that cause the RAMs to increase in its performance?
I just got started with the attempt on making a better referee system based on @Bloodbane's Versus template demo (actually, not "demo" as in "incomplete game", but as a demonstration). What I had made before this is/was based on the referee system from D&D Rise of Warduke, but it's mixed with some parts from the Versus template too. I'm having trouble with memory consumption every time it loads to the next scene or reloads its current branch. I have some globalvars which load/draw sprites for a number of victories from each round. I already declared those with characters' death and "lose" animations in script tags. Here's the kind of referee system I'm using but it's for calling existing players in stage.
name RefPlaystype nonehealth 60animationscript data/scripts/wasitS.co - Pastebin.com
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
I made a new main referee entity that spawns each referee entity that represents a present playable entity based on how many players exist in game. One exists when one player is present but kills itself off when two players are present. The other one exists when two players are present but kills itself off when one player is present.
Main referee to be present:
C:
name refereeMain #Arcade mode's referee
type none
animationscript data/scripts/script.c
load referee
load referee2
anim spawn
@script
if(frame == 0){
int P1 = getplayerproperty(0, "ent");
int P2 = getplayerproperty(1, "ent");
int maxHP1 = getentityproperty(P1, "maxhealth");
int maxHP2 = getentityproperty(P2, "maxhealth");
changeentityproperty(P1, "health", maxHP1);
changeentityproperty(P2, "health", maxHP2);
}
@end_script
offset 1 1
delay 2
@cmd spawn01 "referee" 0 0 0
@cmd spawn01 "referee2" 0 0 0
frame data/chars/misc/empty.gif
frame data/chars/misc/empty.gif
move 100000
frame data/chars/misc/empty.gif
Here's one referee for a single player being existent, but it needs some work for calling out certain winner.
name referee # For single player modetype nonehealth 60shadow 0animati - Pastebin.com
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
Is it necessary for me to skip levels after one wins a round or do I need to jump to current branch which I'm using for a number of rounds/victories via levels.txt? For skipping levels, I'm referring to the setup in levels.txt based on the VS template like this.
Code:
set Player_VS_Enemy
credits 1
lives 1
cansave 0
#disablegameover 1
disablehof 1
# ===== | ===== #
branch First
z 105 180 105
file data/levels/PvsE/PvsEi1.txt
z 175 265 175
file data/levels/PvsE/PvsEh1.txt
z 167 247 167
file data/levels/PvsE/PvsEf1.txt
z 190 270 190
file data/levels/PvsE/PvsEg1.txt
z 170 265 170
file data/levels/PvsE/PvsEc1.txt
z 220 300 220
file data/levels/PvsE/PvsEe1.txt
z 160 250 160
file data/levels/PvsE/PvsEb1.txt
z 180 260 180
file data/levels/PvsE/PvsEd1.txt
z 125 265 125
file data/levels/PvsE/PvsEa1.txt
# ===== || ===== #
branch Second
z 167 247 167
file data/levels/PvsE/PvsEf2.txt
z 190 270 190
file data/levels/PvsE/PvsEg2.txt
z 170 265 170
file data/levels/PvsE/PvsEc2.txt
z 220 300 220
file data/levels/PvsE/PvsEe2.txt
z 180 260 180
file data/levels/PvsE/PvsEd2.txt
z 125 265 125
file data/levels/PvsE/PvsEa2.txt
z 105 180 105
file data/levels/PvsE/PvsEi2.txt
z 175 265 175
file data/levels/PvsE/PvsEh2.txt
z 160 250 160
file data/levels/PvsE/PvsEb2.txt
What I mean by jumping to current branch is the setup I have here in levels.txt, which I have to load the same level in the same branch again like (Stage_Ryu branch).
Code:
set Arcade_Mode # 0
lives 1
credits 10
custfade 300
cansave 0
continuescore 1
disablehof 1
skipselect player1 player2
z 173 230 173
file data/levels/charatest.txt # level 1
branch Screen_Vs_Eagle
z 200 200 200
file data/levels/1vseagle.txt
branch Stage_Eagle
z 200 200 200
file data/levels/eagle.txt
branch Screen_Vs_Ryu
z 200 200 200
file data/levels/1vsryu.txt
branch Stage_Ryu
z 227 227 227
file data/levels/ryu_stage.txt
branch Screen_Vs_Ken
z 200 200 200
file data/levels/1vsken.txt
branch Stage_Ken
z 227 227 227
file data/levels/ken.txt
branch Final
z 230 230 230
file data/levels/final.txt
branch Arcade_Select
z 173 230 173
file data/levels/charatest.txt
file data/levels/return.txt
How can I use DifitFind and check if one fighter is defeated after finishing one level?
Is the terminate function from wasit.c for killing off one target of the player? I asked because I would like the referee to kill off the losing player after the winning player proceeds (while two players exist) before moving to the next stage.
C:
void killplayer(int P)
{// Kills defined player and removes their lives and credits
// P : Player index starting from 0
void Player = getplayerproperty(P, "entity");
if(Player != NULL()){
changeplayerproperty(P, "lives", 0);
changeplayerproperty(P, "credits", 0);
killentity(Player);
}
}
void terminate(){
// Terminating defeated fighter
int index = getlocalvar("player");
void player = getplayerproperty(index, "entity");
void enemy = findtarget(player);
}
Pay attention to the performance information at the bottom right corner, but because I started to record with Bandicam and it started to increase over 200kb used RAM in its performance rate. I normally have about less than 200kb used RAM before it increases its limit.
What I don't understand in the videos about the engine's performance rate is that the used RAM gets higher than the free RAM.
Is it because of the globalvars I use that cause the RAMs to increase in its performance?