JP6235084B2 - 仮想カードプレーに基づくインタラクティブゲーミング体験 - Google Patents
仮想カードプレーに基づくインタラクティブゲーミング体験 Download PDFInfo
- Publication number
- JP6235084B2 JP6235084B2 JP2016151985A JP2016151985A JP6235084B2 JP 6235084 B2 JP6235084 B2 JP 6235084B2 JP 2016151985 A JP2016151985 A JP 2016151985A JP 2016151985 A JP2016151985 A JP 2016151985A JP 6235084 B2 JP6235084 B2 JP 6235084B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- virtual card
- activity
- difference value
- battle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/822—Strategy games; Role-playing games
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/32—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/33—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
- A63F13/332—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using wireless networks, e.g. cellular phone networks
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/65—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/67—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/816—Athletics, e.g. track-and-field sports
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/828—Managing virtual sport teams
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/40—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
- A63F2300/404—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network characterized by a local network connection
- A63F2300/405—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network characterized by a local network connection being a wireless ad hoc network, e.g. Bluetooth, Wi-Fi, Pico net
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/40—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
- A63F2300/406—Transmission via wireless network, e.g. pager or GSM
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/807—Role playing or strategy games
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8094—Unusual game types, e.g. virtual cooking
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- User Interface Of Digital Computer (AREA)
Description
本出願は、2015年8月4日に申請された米国仮出願第62/201,004号の利益及び優先権を主張し、この仮出願はその全体を、その中に挙げられるすべての参照及び付録を含め、本明細書において参照により援用される。
ゼロ乃至10のスケールを用いて、システムにより生成される乱数がより大きくなるほど、与えられるパラメータがより難しくなる。
import json
import random
def DiscretePDF( dist, count=None ):
returnlist = True
if count == None:
returnlist = False
count = 1
total = sum( dist.values( ) )
result = [ ]
i = 0
while i < count:
val = random.uniform( 0, total )
cur = 0
for k, v in dist.items( ):
cur += v
if val <= cur:
result.append( k )
break
i += 1
if returnlist:
return result
else:
return result[ 0 ]
def ResolveCardBattle(cardValuePlayer, cardValueOpponent):
return cardValuePlayer - cardValueOpponent
def SelectDifficulty(cardBattleDelta):
difficulty = None
for difficulty_key, delta_range in tuning["Data"]["DifficultyLevelRanges"].items():
if cardBattleDelta >= delta_range[0] and cardBattleDelta < delta_range[1]:
print "Selected", difficulty_key
difficulty = difficulty_key
break
return difficulty
class Scenario:
pass
def play_match():
card_slots = [
(194,35),
(100,350),
(300,350),
(954,423),
(234,290)
]
for card_slot in card_slots:
delta = ResolveCardBattle(*card_slot)
difficulty = SelectDifficulty(delta)
scenario = Scenario()
scenario.defenders = DiscretePDF(tuning["Data"]["KickingGames"]["DefenderDifficultyTuning"][difficulty])
scenario.wind = random.uniform(*tuning["Data"]["KickingGames"]["WindStrengthRange"][difficulty])
scenario.shot_angle = DiscretePDF(tuning["Data"]["KickingGames"]["ShotAngle"][difficulty])
scenario.shot_distance = DiscretePDF(tuning["Data"]["KickingGames"]["ShotDistance"][difficulty])
print "Player Card Value", card_slot[0]
print "Opponent Card Value", card_slot[1]
print "The following are the basic scenario parameters for a Shooting/Passing Gameplay scenario,"
print "Based on the above card values"
print "These values would feed into the game runtime engine to generate a Shooting/Passing attempt visualization."
print "--------------------------------------"
print json.dumps(scenario.__dict__, indent=4)
print "--------------------------------------"
tuning = json.loads("""{
"Type": "TuningData",
"Description": "Tunables used for the interactivity games",
"Data":
{
"FieldMaxX": 33,
"FieldMaxZ": 52,
"AttemptTimeOutTime": 2,
"CardBattleWinBonus": 0,
"DifficultyLevelRanges":
{
"VERY_EASY": [175, 1000000],
"EASY": [33, 174],
"MEDIUM": [0, 32],
"HARD": [-224, -1],
"VERY_HARD": [-1000000, -225]
},
"KickingGames":
{
"ChanceToWinOnGoodAction": [0.9, 0.7, 0.4, 0.2, 0.05],
"TargetColors":
{
"BIG": [0.0, 1.0, 0.0],
"MEDIUM": [1.0, 1.0, 0.0],
"SMALL": [1.0, 0.0, 0.0]
},
"TargetColorRanges":
{
"SMALL": [0.0, 0.40],
"MEDIUM": [0.40, 0.75],
"BIG": [0.75, 1.0]
},
"NickingTargetCountsAsHit": false,
"TimerTotalTime":
[
3.0,
3.0,
3.0,
3.0,
3.0
],
"TimerFlashTime": 0.75,
"TimeToSlowTime": 0.85,
"LowHeightKick": 0.1,
"HighHeightKick": 3.3,
"MaxCurveForce": 100000,
"BallPastTargetCutOff": 7.5,
"MinSwipeSpeedCrossThreshold" : 0.005,
"DefenderSpacing": 1.0,
"DefenderWallDist": 8.0,
"DefenderToMarkSpacingMin": 1.75,
"DefenderToMarkSpacingMax": 3,
"ExtrasMinDistSide": 3.0,
"ExtrasMaxDistSide": 6.0,
"ExtrasMinDistBall": 0.4,
"ExtrasMaxDistBall": 0.7,
"KickerOffset":
[
-0.5,
0.0,
-5.5
],
"CameraOffset":
[
0,
2.6,
-9.5
],
"CameraLookAtOffset":
[
0,
1.5,
0
],
"PreCameraBlendTime": 1.0,
"PreCameraOffset":
[
0,
4,
-20
],
"TargetScales": [ 1.1, 0.95, 0.8, 0.7, 0.6 ],
"TargetVanishChance": [ 0.0, 0.0, 0, 0, 0 ],
"TargetWhenToVanish": 3.25,
"WindStrengthRange":
{
"VERY_EASY": [0, 0],
"EASY": [2, 5],
"MEDIUM": [5, 10],
"HARD": [10, 15],
"VERY_HARD": [10, 20]
},
"WindChance": [ 0.0, 0.2, 0.5, 0.85, 1.0 ],
"DefendingScenarios":
{
"none" : [],
"1left" : [{"x": 1.25, "y": 3.0}],
"1right" : [{"x": -1.25, "y": 3.0}],
"1closeleft" : [{"x": 0.4, "y": 1.5}],
"1closeright" : [{"x": -0.4, "y": 1.5}],
"1centre": [{"x": 0.0, "y": 1.0}],
"2left": [{"x": -1.0, "y": 1.0}, {"x": 0.5, "y": 1.0}],
"2farright": [{"x": -0.90, "y": 0.5}, {"x": 1.10, "y": 3.0}],
"2farleft": [{"x": -1.10, "y": 3.0}, {"x": 0.90, "y": 0.5}],
"2right": [{"x": -0.5, "y": 1.0}, {"x": 1.0, "y": 1.0}],
"2closeleft" : [{"x": -1.45, "y": 4.0}, {"x": 0.25, "y": 0}],
"2closeright" : [{"x": -0.25, "y": 0}, {"x": 1.45, "y": 4.0}],
"2centreA" : [{"x": -1.4, "y": 0.5}, {"x": 0.0, "y": 0.0}],
"2centreB" : [{"x": 0.0, "y": 0.0}, {"x": 1.4, "y": 0.5}],
"2block" : [{"x": -0.4, "y": 0.75}, {"x": 0.4, "y": 3.75}],
"3left": [{"x": -0.8, "y": 1.25}, {"x": 0.25, "y": 0.5}, {"x": 2.0, "y": 3.5}],
"3right": [{"x": -2.0, "y": 3.5}, {"x": -0.25, "y": 0.5}, {"x": 0.8, "y": 1.25}],
"3closeleft" : [{"x": 2.5, "y": 5.0}, {"x": 0.0, "y": 0.0}, {"x": -1.0, "y": 2.5}],
"3closeright" : [{"x": 1.0, "y": 2.5}, {"x": 0, "y": 0.0}, {"x": -2.5, "y": 5.0}],
"3centre" : [{"x": -1.2, "y": 3.0}, {"x": 0.0, "y": 5.0}, {"x": 1.2, "y": 2.0}]
},
"DefenderDifficultyTuning":
{
"VERY_EASY" :
{
"none": 50,
"1left": 20,
"1right": 20,
"1closeleft": 5,
"1closeright": 5
},
"EASY" :
{
"none": 10,
"1left": 30,
"1right": 30,
"1closeleft": 10,
"1closeright": 10,
"1centre": 10,
"2left": 0,
"2right": 0,
"2farright" : 0,
"2farleft" : 0,
"2closeleft" : 0,
"2closeright" : 0,
"2centreA" : 0,
"2centreB" : 0
},
"MEDIUM" :
{
"none": 0,
"1left": 0,
"1right" : 0,
"1closeleft" : 10,
"1closeright" : 10,
"1centre": 10,
"2left": 20,
"2right": 20,
"2closeleft" : 20,
"2closeright" : 20,
"2farright" : 0,
"2farleft" : 0,
"2centreA" : 15,
"2centreB" : 15,
"2block" : 15,
"3left": 0,
"3right": 0,
"3closeleft" : 0,
"3closeright" : 0,
"3centre" : 0
},
"HARD" :
{
"none": 0,
"1left": 5,
"1right" : 5,
"1closeleft" : 5,
"1closeright" : 5,
"1centre": 5,
"2left": 10,
"2right": 10,
"2closeleft" : 10,
"2closeright" : 10,
"2farright" : 0,
"2farleft" : 0,
"2centreA" : 10,
"2centreB" : 10,
"2block" : 10,
"3left": 0,
"3right": 0,
"3closeleft" : 0,
"3closeright" : 0,
"3centre" : 0
},
"VERY_HARD" :
{
"none": 0,
"1left": 0,
"1right" : 0,
"1closeleft" : 0,
"1closeright" : 0,
"1centre": 0,
"2left": 0,
"2right": 0,
"2closeleft" : 0,
"2closeright" : 0,
"2centreA" : 5,
"2centreB" : 5,
"2block" : 5,
"3left": 15,
"3right": 15,
"3closeleft" : 20,
"3closeright" : 20,
"3centre" : 15
}
},
"ShotAngle":
{
"VERY_EASY":
{
"WideLeft": 0,
"NearLeft": 10,
"NoAngle": 80,
"NearRight": 10,
"WideRight": 0
},
"EASY":
{
"WideLeft": 0,
"NearLeft": 10,
"NoAngle": 80,
"NearRight": 10,
"WideRight": 0
},
"MEDIUM":
{
"WideLeft": 10,
"NearLeft": 25,
"NoAngle": 30,
"NearRight": 25,
"WideRight": 10
},
"HARD":
{
"WideLeft": 20,
"NearLeft": 20,
"NoAngle": 20,
"NearRight": 20,
"WideRight": 20
},
"VERY_HARD":
{
"WideLeft": 25,
"NearLeft": 15,
"NoAngle": 10,
"NearRight": 15,
"WideRight": 25
}
},
"ShotDistance":
{
"VERY_EASY":
{
"Near": 100,
"Mid": 0,
"Far": 0
},
"EASY":
{
"Near": 50,
"Mid": 50,
"Far": 0
},
"MEDIUM":
{
"Near": 0,
"Mid": 50,
"Far": 50
},
"HARD":
{
"Near": 0,
"Mid": 0,
"Far": 100
},
"VERY_HARD":
{
"Near": 0,
"Mid": 0,
"Far": 100
}
}
},
"ShootingGame":
{
"ShotAngleValues" :
{
"WideLeft": -40,
"NearLeft": -20,
"NoAngle": 0,
"NearRight": 20,
"WideRight": 40
},
"ShotDistanceValues" :
{
"Near": 20,
"Mid": 30,
"Far": 42
},
"ShotSpeeds" :
{
"Near": 25,
"Mid": 40,
"Far": 45
}
}
}
}
""")
play_match()
public enum ShotDistances
{
Near,
Mid,
Far,
Invalid
};
public enum ShotAngles
{
WideLeft,
NearLeft,
NoAngle,
NearRight,
WideRight,
Invalid
};
public enum BallSpeed
{
Slow,
Medium,
Fast,
Invalid
};
// 困難さメーター(meter)について
public enum DifficultyLevel
{
VERY_EASY = -2,
EASY,
MEDIUM,
HARD,
VERY_HARD,
Count = 5,
Invalid = -100
}
public class KickingGameScript
{
//-------------------------------------------------------------------------
//
//
//
//-------------------------------------------------------------------------
public static DifficultyLevel GetDifficultyLevel(int playerDifference, DifficultyLevel diffLevel = DifficultyLevel.Count)
{
if (diffLevel == DifficultyLevel.Count)
{
if (Interactivity.Util.Tuning == null)
{
Interactivity.Util.RefreshTuning();
}
foreach (KeyValuePair<DifficultyLevel, List<int>> pair in Interactivity.Util.Tuning.DifficultyLevelRanges)
{
List<int> range = pair.Value;
if (range[0] <= playerDifference && playerDifference <= range[1])
{
for (int i = (int)DifficultyLevel.VERY_EASY; i <= (int)DifficultyLevel.VERY_HARD; i++)
{
if (pair.Key == ((DifficultyLevel)i))
{
diffLevel = pair.Key;
}
}
}
}
}
return diffLevel;
}
public int GetCurrentPlayerDifference()
{
return user.player[current_slot_index] - opponent.player[current_slot_index];
}
public DifficultyLevel GetDifficultyLevel()
{
return MatchFlowUtil.GetDifficultyLevel(GetCurrentPlayerDifference(), tut_GetDifficultyLevelOverride());
}
protected ShotDistances GetShotDistance()
{
if (eCurrentShotDistance == ShotDistances.Invalid)
{
eCurrentShotDistance = random.DiscretePDF(Util.Tuning.KickingGames.ShotDistance[GetDifficultyLevel()])[0];
if (tut_GetOverrideShotDistance() != ShotDistances.Invalid)
{
eCurrentShotDistance = tut_GetOverrideShotDistance();
}
if (eOverrideShotDistance != ShotDistances.Invalid)
{
eCurrentShotDistance = eOverrideShotDistance;
}
}
return eCurrentShotDistance;
}
protected ShotAngles GetShotAngle()
{
if (eCurrentShotAngle == ShotAngles.Invalid)
{
eCurrentShotAngle = random.DiscretePDF(Util.Tuning.KickingGames.ShotAngle[GetDifficultyLevel()])[0];
if (tut_GetOverrideShotAngle() != ShotAngles.Invalid)
{
eCurrentShotAngle = tut_GetOverrideShotAngle();
}
if (eOverrideShotAngle != ShotAngles.Invalid)
{
eCurrentShotAngle = eOverrideShotAngle;
}
}
return eCurrentShotAngle;
}
override protected float GetShotDistanceValue()
{
return Util.Tuning.ShootingGame.ShotDistanceValues[GetShotDistance()];
}
override protected float GetShotAngleValue()
{
return Util.Tuning.ShootingGame.ShotAngleValues[GetShotAngle()];
}
override protected float GetShotSpeed()
{
return Util.Tuning.ShootingGame.ShotSpeeds[eCurrentShotDistance];
}
// ここが値をとるところ(This is where we take the values)
protected override void SetupNewAttempt()
{
ResetCharacterInstances();
EnableAllInteractiveCharacters(false);
PopulateBackgroundCharacters(playerInitData, nonKeeperSlots, teamPlayerInstances, mInputData.SelectedPlayers);
PopulateBackgroundCharacters(opponentInitData, nonKeeperSlots, defenderInstances, mInputData.SelectedOpponents);
CharacterInitData playerKeeperInitData = new CharacterInitData();
playerKeeperInitData.teamSlot = TeamSlotType.K;
playerKeeperInitData.playerGO = PlayerGoalie;
playerInitData.Add(playerKeeperInitData);
ReplaceCharacterModels(Kicker, OpponentGoalie);
// 距離
eCurrentShotDistance = GetShotDistance();
float fDistance = GetShotDistanceValue();
fShotAngle = GetShotAngleValue();
float x = fDistance * Mathf.Sin(Mathf.Deg2Rad * fShotAngle);
float z = fDistance * Mathf.Cos(Mathf.Deg2Rad * fShotAngle);
v3MomentOrigin = v3KickToPos + new Vector3(x, BallPrefab.transform.lossyScale.x / 2.0f, -z);
// キッカー
Vector3 kickerPosition = new Vector3(v3MomentOrigin.x, 0.0f, v3MomentOrigin.z);
Kicker.transform.position = kickerPosition;
Kicker.transform.LookAt(v3KickToPos);
// キッカーのオフセットも回転する
Vector3 kickerOffset = new Vector3(Util.Tuning.KickingGames.KickerOffset[0], Util.Tuning.KickingGames.KickerOffset[1], Util.Tuning.KickingGames.KickerOffset[2]);
Vector3 kickerRotatedOffset = Kicker.transform.rotation * kickerOffset;
Vector3 correctedKickerPosition = kickerPosition + kickerRotatedOffset;
Kicker.transform.position = correctedKickerPosition;
// キッカーにおいてボールを作り出すので、アタッチされたときに動き回らない(create the ball at the kicker, so it doesn't move around when attached)
Quaternion identityRotation = Quaternion.identity;
Instantiate(BallPrefab, correctedKickerPosition, identityRotation);
GameObject ball = Interactivity.Ball.GetInstance();
Debug.DrawLine(ball.transform.position, ball.transform.position + Vector3.up * 2.0f, Color.red, 10.0f);
ball.transform.parent = tempObjects;
ball.GetComponent<Ball>().TrajectoryPredictedEvent += new TrajectoryPredictedEventHandler(TrajectoryPredicted);
// キックスピードを設定する
float fKickSpeed = GetShotSpeed();
BallKicker2 ballKickScript = Kicker.GetComponent<BallKicker2>();
if ( ballKickScript != null )
{
ballKickScript.SetKickSpeed(fKickSpeed);
}
////////////////////////////////
// ゴールキーパー(Goalie)
Vector3 netToBall = v3MomentOrigin - v3KickToPos;
Vector3 v3GoaliePosition = v3KickToPos + netToBall.normalized * GoalieDistOffGoalline;
OpponentGoalie.transform.position = v3GoaliePosition;
OpponentGoalie.transform.LookAt(new Vector3(v3MomentOrigin.x, 0.0f, v3MomentOrigin.z));
if (OpponentGoalie != null)
{
AIKickInterceptorScript goalieScript = OpponentGoalie.GetComponent<AIKickInterceptorScript>();
if (goalieScript != null)
{
goalieScript.Reset(v3GoaliePosition, v3MomentOrigin);
goalieScript.TouchBallEvent += GoalieTouchedBall;
}
}
base.SetupNewAttempt();
mCameraBlender.StartBlend();
}
Team user;
Team opponent;
int current_slot_index;
void PlayGame(Team user, Team opponent)
{
this.user = user;
this.opponent = opponent;
int num_players = 5;
for(int i = 0; i < num_players; i++)
{
this.current_slot_index = i;
SetupNewAttempt();
WaitForAttemptToComplete();
}
}
}
Claims (21)
- 仮想カードバトルのための仮想カードペアのうち少なくとも1つの選択を受信するステップと、
前記仮想カードペアの各々について、1つ以上のスキルを選択するステップと、
前記1つ以上のスキルを用いて比較分析を行うことにより仮想カードバトルを実行して、差異値を算定するステップと、
前記差異値を使用して、仮想活動のための複数の属性を選択するステップであって、前記仮想活動は前記仮想カードバトルのインタラクティブ版である、ステップと、
前記複数の属性を有する前記仮想活動を、前記仮想カードバトルのプレーヤに提供するステップと、
を含む方法。 - 前記仮想カードペアのうちの第1の仮想カードは前記プレーヤに属し、前記仮想カードペアのうちの第2の仮想カードは第2のプレーヤに属する、請求項1に記載の方法。
- 前記1つ以上のスキルは、仮想ゲーミングシステムによってランダムに選択される、請求項1に記載の方法。
- 前記差異値を前記仮想カードペアに近接して表示するステップ、をさらに含む請求項1に記載の方法。
- 前記仮想活動のために選択された前記複数の属性は、増やされ又は減らされる困難度を含む、請求項1に記載の方法。
- 前記困難度は、前記差異値の大きさに従って増やされ又は減らされる、請求項5に記載の方法。
- 前記複数の属性の数は、前記差異値の大きさに従って増やされ又は減らされる、請求項5に記載の方法。
- 前記差異値を差異値範囲と比較することによって前記仮想カードバトルの困難度を決定するステップであって、前記差異値範囲は、前記複数の属性を定義する様々な困難度に関連付けられる、ステップ、をさらに含む請求項1に記載の方法。
- 第1パーティ仮想カードの選択を受信するステップと、
第2パーティ仮想カードの選択を受信するステップと、
仮想カードバトルのための仮想カードペアを選択するステップであって、前記仮想カードペアは、前記第1パーティ仮想カードのうちの1つと前記第2パーティ仮想カードのうちの1つとを含む、ステップと、
前記仮想カードペアの各々について、1つ以上のスキルを選択するステップと、
前記仮想カードペアの各々についての前記1つ以上のスキルを用いて前記仮想カードペアの比較分析を行って、差異値を確立するステップと、
前記差異値を用いて仮想活動のための複数の属性を選択するステップであって、前記仮想活動は前記仮想カードバトルのインタラクティブ版である、ステップと、
を含む方法。 - 前記比較分析は、前記仮想カードペアの各々についての前記1つ以上のスキルを困難度範囲に対して比較して前記差異値を算定することをさらに含む、請求項9に記載の方法。
- 前記仮想カードバトルのプレーヤに対して、前記複数の属性を有する前記仮想活動を実行するステップ、をさらに含む請求項9に記載の方法。
- 仮想カードペアの各々について、1つ以上のスキルを選択するステップであって、前記1つ以上のスキルはスキル値を各々有する、ステップと、
仮想カードバトルのための仮想カードバトルタイプをランダムに選択するステップと、
前記仮想カードペアの各々についての前記1つ以上のスキルを用いた前記仮想カードペアの比較分析を含む前記仮想カードペアを用いた前記仮想カードバトルを行って、差異値を確立するステップと、
前記差異値を用いて、選択された困難度を有する仮想活動を作成するステップであって、前記仮想活動は前記仮想カードバトルのインタラクティブ版である、ステップと、
を含む方法。 - 前記仮想カードペアの各々は選手を表す、請求項12に記載の方法。
- 前記1つ以上のスキルは、前記選手に関連付けられたスポーツに関連する、請求項13に記載の方法。
- 前記仮想活動は、前記スポーツに関連する3次元のスポーツ活動である、請求項14に記載の方法。
- 前記困難度は、対向するプレーヤの数、環境条件、ターゲットエリア又はサイズ、照準安定化、ターゲット距離、及びこれらの組み合わせのうち、任意のものから選択された複数の属性を含む、請求項15に記載の方法。
- 前記困難度は、前記差異値の大きさに従って増やされ又は減らされる、請求項16に記載の方法。
- 前記仮想カードペアはランダムに選択される、請求項17に記載の方法。
- 前記仮想活動のために選択される属性は、前記仮想カードバトルの対象事項に基づいて選択される、請求項18に記載の方法。
- 前記属性は、前記差異値が入る困難度範囲に基づいてさらに選択される、請求項19に記載の方法。
- 第1パーティ仮想カードの選択を受信するステップと、
第2パーティ仮想カードの選択を受信するステップと、
仮想カードバトルのための仮想カードペアを選択するステップであって、前記仮想カードペアは、前記第1パーティ仮想カードのうちの1つと前記第2パーティ仮想カードのうちの1つとを含む、ステップと、
前記仮想カードペアの各々について、1つ以上のスキルを選択するステップと、
前記仮想カードペアの各々についての前記1つ以上のスキルを用いて前記仮想カードペアの比較分析を行って、差異値を確立するステップと、
差異値の範囲を含むテーブルのルックアップを実行するステップであって、各範囲は、前記仮想カードバトルに基づく仮想活動の困難度に関連付けられ、前記ルックアップは、算定された差異値が入る差異値の前記範囲のうちいずれかを決定する、ステップと、
前記仮想活動にプレーヤが如何にして参加するかを定義する複数の選択された仮想活動パラメータの各々について、離散確率密度算定を行うステップと、
乱数スクリプティングを行って、前記複数の選択された仮想活動パラメータの各々について、値を動的に選択するステップと、
前記プレーヤに対して前記仮想活動を実行するステップと、
を含む方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562201004P | 2015-08-04 | 2015-08-04 | |
US62/201,004 | 2015-08-04 | ||
US15/224,427 | 2016-07-29 | ||
US15/224,427 US20170036119A1 (en) | 2015-08-04 | 2016-07-29 | Virtual card play based interactive gaming experiences |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017029731A JP2017029731A (ja) | 2017-02-09 |
JP2017029731A5 JP2017029731A5 (ja) | 2017-07-20 |
JP6235084B2 true JP6235084B2 (ja) | 2017-11-22 |
Family
ID=56842612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016151985A Active JP6235084B2 (ja) | 2015-08-04 | 2016-08-02 | 仮想カードプレーに基づくインタラクティブゲーミング体験 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20170036119A1 (ja) |
EP (1) | EP3127587A1 (ja) |
JP (1) | JP6235084B2 (ja) |
KR (1) | KR101919898B1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9919213B2 (en) | 2016-05-03 | 2018-03-20 | Hothead Games Inc. | Zoom controls for virtual environment user interfaces |
US10004991B2 (en) | 2016-06-28 | 2018-06-26 | Hothead Games Inc. | Systems and methods for customized camera views in virtualized environments |
US10010791B2 (en) | 2016-06-28 | 2018-07-03 | Hothead Games Inc. | Systems and methods for customized camera views and customizable objects in virtualized environments |
US10156970B2 (en) | 2012-02-06 | 2018-12-18 | Hothead Games Inc. | Virtual opening of boxes and packs of cards |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112675539B (zh) * | 2020-12-30 | 2024-05-03 | 成都乐信圣文科技有限责任公司 | 牌类游戏的难度等级判断方法、牌面生成方法及电子设备 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2128634C (en) * | 1994-06-22 | 2005-09-27 | Richard Channing Garfield | Trading card game components and method of play |
US5772512A (en) * | 1996-07-31 | 1998-06-30 | Clutchability, L.L.C. | Electronic football game |
US20020043764A1 (en) * | 2000-01-25 | 2002-04-18 | Christopher Imhof | Educational trading card game and method |
JP3794614B2 (ja) * | 2000-08-17 | 2006-07-05 | コナミ株式会社 | 野球ゲーム玩具 |
JP2002253859A (ja) * | 2001-03-02 | 2002-09-10 | Konami Computer Entertainment Osaka:Kk | ネットゲーム進行プログラム、ネットゲーム進行制御方法及びネットゲーム装置 |
CN1627976A (zh) * | 2002-06-11 | 2005-06-15 | 富士通株式会社 | 网络卡游戏中的卡管理方法以及装置 |
US6964417B2 (en) * | 2003-05-12 | 2005-11-15 | Bodish Brian K | War game and method of play |
US20050184457A1 (en) * | 2004-02-20 | 2005-08-25 | Frieman Shlomo R. | Educational games and methods |
JP3887001B1 (ja) * | 2005-08-31 | 2007-02-28 | 株式会社コナミデジタルエンタテインメント | ゲーム成績評価方法及び装置 |
US8100402B2 (en) * | 2007-09-17 | 2012-01-24 | Emanuel Salomon | Collectable trading card game |
KR20100069730A (ko) * | 2008-12-17 | 2010-06-25 | 송종환 | 캐릭터카드와 연동되는 캐릭터유닛을 포함한 게임기 및 그 운영방법 |
JP5564175B2 (ja) * | 2008-12-26 | 2014-07-30 | 株式会社コナミデジタルエンタテインメント | 対戦ゲームプログラム、ゲーム装置及び対戦ゲーム制御方法 |
US8579688B2 (en) * | 2009-12-16 | 2013-11-12 | Geoff Hall | Video poker game with revealed cards |
JP5135466B1 (ja) * | 2011-12-20 | 2013-02-06 | 株式会社 ディー・エヌ・エー | サーバー装置、プログラム、及びゲームシステム |
JP5563617B2 (ja) * | 2012-04-23 | 2014-07-30 | 株式会社 ディー・エヌ・エー | ゲームシステム |
JP5646537B2 (ja) * | 2012-04-25 | 2014-12-24 | 株式会社コナミデジタルエンタテインメント | ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム |
JP5220937B1 (ja) * | 2012-04-27 | 2013-06-26 | 株式会社 ディー・エヌ・エー | ゲームプログラム、及び、ゲームシステム |
JP5336670B1 (ja) * | 2013-01-16 | 2013-11-06 | 株式会社 ディー・エヌ・エー | 情報処理装置、及び、ゲームプログラム |
JP6580493B2 (ja) * | 2013-01-30 | 2019-09-25 | ラスベガス サンズ コーポレイションLas Vegas Sands Corp. | 2ホイールルーレットゲーム |
US9659458B2 (en) * | 2013-03-12 | 2017-05-23 | Zynga Inc. | Guild-dependent variation of player capabilities in a computer-implemented game |
JP6505366B2 (ja) * | 2013-03-28 | 2019-04-24 | 株式会社Crafts&Meister | ソーシャルネットワークを構築するソーシャルゲームのゲーム制御方法及びサーバ装置 |
JP5547323B1 (ja) * | 2013-05-24 | 2014-07-09 | 株式会社 ディー・エヌ・エー | 複数のゲーム媒体を用いた対戦ゲームを提供するシステム及びこれを用いた方法、プログラム |
JP6184204B2 (ja) * | 2013-06-28 | 2017-08-23 | 株式会社バンダイナムコエンターテインメント | プログラムおよびサーバシステム |
JP6023686B2 (ja) * | 2013-10-09 | 2016-11-09 | 株式会社コナミデジタルエンタテインメント | ゲーム機、それに用いられる制御方法及びコンピュータプログラム |
JP6037997B2 (ja) * | 2013-10-18 | 2016-12-07 | 株式会社コナミデジタルエンタテインメント | ゲーム機、ゲームシステム、それらに用いられる制御方法及びコンピュータプログラム |
JP5793592B2 (ja) * | 2014-02-25 | 2015-10-14 | グリー株式会社 | ゲーム制御方法、サーバ装置及びプログラム |
JPWO2015162788A1 (ja) * | 2014-04-25 | 2017-04-13 | 株式会社タカラトミー | ゲームシステム、及びゲーム装置 |
JP6016854B2 (ja) * | 2014-07-25 | 2016-10-26 | グリー株式会社 | サーバ装置の制御方法、サーバ装置及びプログラム |
JP5911993B1 (ja) * | 2015-09-16 | 2016-04-27 | グリー株式会社 | ゲームプログラム、ゲーム制御方法及び情報処理装置 |
-
2016
- 2016-07-29 US US15/224,427 patent/US20170036119A1/en not_active Abandoned
- 2016-08-02 EP EP16182337.2A patent/EP3127587A1/en not_active Withdrawn
- 2016-08-02 JP JP2016151985A patent/JP6235084B2/ja active Active
- 2016-08-02 KR KR1020160098421A patent/KR101919898B1/ko active IP Right Grant
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10156970B2 (en) | 2012-02-06 | 2018-12-18 | Hothead Games Inc. | Virtual opening of boxes and packs of cards |
US10761699B2 (en) | 2012-02-06 | 2020-09-01 | Hothead Games Inc. | Virtual opening of boxes and packs of cards |
US9919213B2 (en) | 2016-05-03 | 2018-03-20 | Hothead Games Inc. | Zoom controls for virtual environment user interfaces |
US10004991B2 (en) | 2016-06-28 | 2018-06-26 | Hothead Games Inc. | Systems and methods for customized camera views in virtualized environments |
US10010791B2 (en) | 2016-06-28 | 2018-07-03 | Hothead Games Inc. | Systems and methods for customized camera views and customizable objects in virtualized environments |
US10589175B2 (en) | 2016-06-28 | 2020-03-17 | Hothead Games Inc. | Systems and methods for customized camera views in virtualized environments |
US10744412B2 (en) | 2016-06-28 | 2020-08-18 | Hothead Games Inc. | Systems and methods for customized camera views and customizable objects in virtualized environments |
US11077371B2 (en) | 2016-06-28 | 2021-08-03 | Hothead Games Inc. | Systems and methods for customized camera views in virtualized environments |
US11745103B2 (en) | 2016-06-28 | 2023-09-05 | Hothead Games Inc. | Methods for providing customized camera views in virtualized environments based on touch-based user input |
Also Published As
Publication number | Publication date |
---|---|
KR101919898B1 (ko) | 2018-11-19 |
KR20170016801A (ko) | 2017-02-14 |
JP2017029731A (ja) | 2017-02-09 |
EP3127587A1 (en) | 2017-02-08 |
US20170036119A1 (en) | 2017-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6235084B2 (ja) | 仮想カードプレーに基づくインタラクティブゲーミング体験 | |
US11291918B2 (en) | Collaborative diplomacy mechanics | |
CN108211358B (zh) | 信息的显示方法和装置、存储介质、电子装置 | |
US10946284B2 (en) | Systems and methods for capture and use of local elements in gameplay | |
US20140066191A1 (en) | Method and system for activating non-core features by external users in an asynchronous game | |
US11752436B2 (en) | Systems and methods for a network-based video game application | |
US9028311B2 (en) | Target game incorporating strategy elements | |
CN113952723A (zh) | 一种游戏中的交互方法、装置、计算机设备及存储介质 | |
US10918937B2 (en) | Dynamic gameplay session management system | |
US9295919B2 (en) | Smart ping system | |
US20240278127A1 (en) | Game interaction method and apparatus, and electronic device and readable medium | |
US20160339347A1 (en) | Proximity Activated Game Based on Motion | |
CN112791395A (zh) | 一种提供近距离大逃杀游戏的方法以及使用其的服务器 | |
US11458406B2 (en) | Progressive human user detection challenges with rewards | |
CN113509727A (zh) | 一种游戏中道具展示的方法、装置、电子设备和介质 | |
WO2013122078A1 (ja) | ゲームシステム、ゲーム制御方法、プログラム | |
CN113797547B (zh) | 游戏的控制方法、装置和电子设备 | |
JP7379746B1 (ja) | 仮想空間においてキャラクタが他のキャラクタとエンカウントするシステム、方法、及びプログラム | |
KR102545816B1 (ko) | 게임 제공 장치, 아이템의 조합으로 생성된 공격 무기로 플레이하는 게임 제공 방법 및 컴퓨터 프로그램 | |
WO2023231629A1 (zh) | 虚拟对象的显示方法、装置、设备、介质及程序产品 | |
WO2023231557A9 (zh) | 虚拟对象的互动方法、装置、设备、存储介质及程序产品 | |
CN118079367A (zh) | 虚拟角色控制方法、装置、设备及存储介质 | |
CN117732061A (zh) | 游戏中的显示控制方法、装置、终端及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20170227 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170612 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170831 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170926 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171025 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6235084 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |