Yolo

In YOLO(You Only Live Once), seizing opportunities and embracing the moments as they come,

The YOLO (You Only Live Once) game truly embodies the philosophy of seizing opportunities and embracing the moments as they come, encouraging players to take calculated risks in pursuit of rewarding experiences. At its core, YOLO is a spin-the-wheel game where players place plays, and the size of their segment on the wheel is proportional to their play relative to the total pot. This design not only makes the gameplay intuitive but also thrilling, as each player can see their chances grow as plays are placed.

Game Mechanics

In YOLO, the playing process lasts for about 60 seconds, during which players can make their wagers but cannot change them once placed. The wheel is divided into as many segments as there are plays, with each segment uniquely colored and representing a different player. The size of each segment is dynamically updated with new plays placed and reflects the proportion of the player’s play against the total pool.

Players can hover over any segment of the wheel to view details about the play placed by any player, including their name, the amount, and their proportional stake in the game. Once the playing period closes, the wheel spins and eventually slows to a stop. The segment at which the arrow points determines the winner.

Strategic Insights

One clear strategic element in YOLO is the advantage of playing late. Players who play later can observe the current stakes and adjust their plays accordingly to maximize their chances or strategically disrupt the game. This tactic can often lead to dramatic shifts in the game’s dynamics in the final moments.

Early playing, while seemingly at a disadvantage, holds the benefit of setting the pace and psychological gameplay. Early plays might influence subsequent players’ strategies, potentially causing conservative or more aggressive playing behavior.

Fairness and Result Computation

YOLO’s fairness is ensured through a transparent mechanism combining server and client seeds with a calculated total of playing shares. Here’s a breakdown of how results are computed:

  • Drand Seed: Generated from Drand. Drand (pronounced "dee-rand") is a distributed randomness beacon daemon written in Golang. Servers running drand can be linked with each other to produce collective, publicly verifiable, unbiased, unpredictable random values at fixed intervals using bilinear pairings and threshold cryptography.

  • Client Seeds: Generated independently by two participating players, adding an extra layer of randomness and security.

  • Total Playing Shares: Represent the sum of all plays in a specific sequence based on the order of plays placed.

Result Determination Function

We use HMAC (Hash-Based Message Authentication Code) to ensure that the game result is unpredictable yet verifiable. The generateHMAC function combines the seeds and uses SHA-512 hashing to produce a hexadecimal string, from which the winning play is determined.

func getResult(seed string, cSeed1 string, cSeed2 string, total int64) int64 {
	hash := generateHMAC([]byte(seed), []byte(fmt.Sprintf("%s:%s", cSeed1, cSeed2)))
	result, _ := strconv.ParseInt(hash, 16, 64)
	hit := (result % total) + 1
	return hit
}
func generateHMAC(key, data []byte) string {
	h := hmac.New(sha512.New, key)
	h.Write(data)
	hmacValue := h.Sum(nil)
	return hex.EncodeToString(hmacValue)
}

YOLO is not just a game of chance but also a game of strategy and psychology, embodying the very essence of the phrase "You Only Live Once." With its provably fair system and engaging gameplay, YOLO offers a unique platform for players to test their luck and strategic thinking in a dynamic and competitive environment.

Last updated