教學文章

棋牌遊戲|棋牌遊戲與電子幾率遊戲的積分控制

棋牌遊戲與電子幾率類遊戲系統的積分控制算法分析

棋牌遊戲與電子幾率類遊戲系統的積分控制算法分析

casino-p0099.jpg

本人程序猿一枚,由於疫情原因閒來無事,下載幾個棋牌遊戲玩玩。遊戲過程中產生好奇。遊戲中對於玩家的積分的輸贏控制是如何控制的呢?下面讓我們以開發者的角度來分析下程序算法。

注**:由於小編體驗的是幾款捕魚和電子遊戲,所以對此類遊戲進行分析,另外此文純屬個人觀點,不代表任何遊戲公司任何產品就是本文中提到的算法開發而成!**

圖片來源為網絡下載如有侵權聯繫刪除

話不多說,直接進入主題,首先每款遊戲必然有一個服務端程序,服務端程序會有一個初始配置,配置內容至少包括:庫存值,幾率參數,抽水率。

配置作用如下:

  • 庫存值:記錄所有玩家在遊戲過程中消耗的積分總和。
  • 幾率參數:是玩家勝率的百分比,此參數應該是一組數值,根據當前庫存值設定不同的勝率百分比
  • 抽水率:玩家每局遊戲抽取一定比例積分不累計在庫存值中

下面說下具體的邏輯:

以捕魚遊戲為例:玩家每發射一發炮彈為1000積分,如果抽水率設置為10%,那麼庫存值+900積分,如果此炮打下一條10000分的魚,庫存值-10000積分。

圖片來源網絡如有侵權聯繫刪除

幾率參數可以這樣設置:

  • 如果庫存值小於等於0:玩家勝率為:0%
  • 如果庫存值大於0且小於10萬:玩家勝率為15%
  • 如果庫存值大於10萬且小於50萬:玩家勝率為25%
  • 以此類推,可在實際運營中根據玩家情況動態調整。

以上配置+邏輯構成了一款遊戲的基礎算法模型,可以在無人工干預的情況下保證遊戲是盈利的,並且可以根據盈利情況動態決定玩家勝率以增加娛樂性。這些是針對遊戲的程序,那麼每個玩家的輸贏情況能否影響遊戲的勝率呢?答案是一定的,下面繼續分析下有關玩家的哪些因素來控制遊戲勝率!

遊戲開發離不開資料庫的設計,我們先來分析下資料庫用戶表的設計(僅針對遊戲幾率的欄位設計):

  • 玩家輸贏總數(記錄此玩家從註冊開始所有遊戲積分的輸贏總和)
  • 每款遊戲的輸贏總數(不是必須)

最基礎的開發,起碼要記錄每個玩家的輸贏總數。後台還有有一張配置表,欄位設計為:

  • 進入調控池的值
  • 釋放調控池的值
  • 進入調控池後玩家勝率減掉多少百分比
  • 進入嘉獎池的值
  • 釋放嘉獎池的值
  • 進入嘉獎池後玩家勝率增加多少百分比

這樣在遊戲邏輯中,玩家輸贏控制的基本流程如下:

  1. 讀取當前庫存值。取出當前庫存值玩家的勝率是多少。
  2. 讀取用戶表中玩家輸贏總數
  3. 讀取後台配置表參數
  4. 根據玩家輸贏總數判斷玩家是否應該進入調控或進入嘉獎池。
  5. 如果玩家不構成調控並且不構成嘉獎即返回步驟1中的玩家勝率
  6. 如果玩家進入了調控池或嘉獎池,即將步驟1中的勝率加上或減去玩家當前狀態的值後返回此數值

以上內容既包含了遊戲當前盈利情況也包含了用戶當前盈利情況的控制。這樣就不會造成讓少數玩家輸贏落差太大的情況,也能保證遊戲的持續盈利。那麼這樣設計是否就可以滿足一款遊戲的運營呢?小編認為這還遠遠不夠。如果想增加遊戲的娛樂性,讓遊戲對玩家更有粘性。應該在玩家平時遊戲時儘可能多的記錄玩家習慣。(也就是要加入當下流行的大數據概念)。

那麼都要記錄玩家的哪些習慣呢?小編把暫時能想到的說下:玩家每次充值金額。每次提款金額。每次進入一款遊戲攜帶多少積分,達到多少積分後會退出遊戲,積分清零退出遊戲與贏多少積分退出遊戲的比例等等。可以根據這些值動態調整勝率。

例如一個玩家每次進入一款遊戲不贏10萬分是不會退出遊戲的,否則就是輸沒了退出。這樣就可以適當讓用戶贏一些。但控制在10萬分以下來回拉鋸幾次!

以上這些內容應該足夠開發一款遊戲的思路,小編當前只能考慮到這些,歡迎大牛們補充!

注意:重點來了,小編在頭條上看到不少因為玩此類遊戲而受到損失的條友。希望大家看完此文後能有所深思。每款遊戲都是有程序控制幾率的,不存在真正意義上的隨機機制。所謂的隨機也是在一定幾率範圍內產生隨機數。在編程行業被稱為偽隨機數!

典型的幾率控制類遊戲

所以不要在痴迷於此,玩家是不會得到任何便宜的!