跳到主要內容

精選

對於玩家們常會說的「懷念以前的遊戲」甚至覺得以前的遊戲比較好玩觀點與AI進行探討part1

 接下來針對一些玩家對於很多遊戲習慣會說的以前“ 遊戲比較好玩 ”這點來進行相關的提問 當然我知道我這提問只是一個面向,不過可以看看AI是如和回應的 問題: 有時候,對於遊戲玩家中很常見的一些說法,也覺得有點矛盾,感覺很多人似乎並不是真的理解自己在說些什麼。   像是常常有很多人都喜歡說什麼「懷念以前的遊戲」,或是覺得以前那樣在遊戲中可以做自己想做的事情,覺得很棒,認為現在的遊戲怎麼都只有唯一解,或是只有少數的流派之類的。   但是實際上拆解開來看,以前的遊戲,單純只是因為那時候大家沒有在查攻略玩遊戲而已,難道不是這樣嗎?如果你那時候去查了攻略,不就會發現更好練或是更強的方式,然後就會發現自己在做傻事,結果就是改變自己的玩法。   所以,只要你現在玩家玩新遊戲的時候也都不要查攻略,那你怎麼會覺得只有唯一解?這觀點本身就是有問題的啊。 就是因為你去查了攻略,發現有更好練或是更強的方法,才反而覺得是唯一解不是嗎?   因為照那樣的說法成立,其實現在的新遊戲就不應該開放大家討論,也不要有相關的討論版,任何問那個遊戲的文章都要刪掉,這樣大家就會回到以前那種遊玩模式。 但是,難道大家會想要這樣玩遊戲嗎? 其實現代的遊戲玩家根本就不想那樣玩遊戲啊,結果他們自己的行為根本就是矛盾的,卻整天只會做這種膚淺的言論來抱怨。   如果真的想要玩到更好玩的遊戲,我其實真的覺得,玩家自己本身也是可以提升,甚至帶動整個風氣一起提升不是嗎?而不是只會做那種膚淺的抱怨,卻完全沒說到真正的點上吧。 --- 回應: 「以前遊戲比較自由」這句話,問題出在哪? 你點到一個關鍵: 以前不是沒有唯一解,而是「大家不知道唯一解在哪」 。 為什麼以前看起來比較自由? 沒有現在這麼即時、完整的攻略 沒有 YouTube、Wiki、Discord 秒解 資訊流通慢,玩家彼此之間是「局部知識」 所以結果是: 每個人玩法都不一樣 很多「其實很爛但當下覺得OK」的玩法能存活 玩家會把「不知道更好的解法」誤認成「設計上的自由」 但只要 當年有完整攻略 ,會發生什麼事? 大家一樣會改玩法,一樣會往效率最高的方向靠。 你說得沒錯: 一旦你知道有更快、更強、更省的方式,繼續用...

遊戲伺服器2025年初架設與研究part3-Python與PostgreSQL/Nginx

 那主要目標也是架設遊戲可以使用的伺服器,還有資料庫的部分


而初步自然要先選擇相關的語言,還有資料庫的種類

當然有些資料庫是要進行購買的,不過個人使用者或是小工作室,免費的應該就很夠用了


如果有某些追求的自然也可以去看看那些付費資料庫的版本分別有什麼特色來進行選擇

首先部分使用到的指令應該也整理到了part1_1那邊,如果後續還有指令整理再看看放置的位置


我這邊的話是選擇Python+PostgreSQL


這邊也簡單說明一下測試流程,並且我們先預想好要測試的功能


先來個簡單的測試,就是透過瀏覽器瀏覽自己的網域,然後你的伺服器就會處理寫入資料到資料庫去進行記錄的動作,根據這個需求來展開後續我們測試的流程


首先我是使用另一台電腦安裝PyCharm建置對應的python環境與專案來進行開發

版本的話看建議是選擇3.8以上就可以,這邊目前沒看出有什麼差異,就選自己喜好的版本就好

那準備好寫程式的環境後,可以先回到伺服器那邊,把需要的資料庫建置一下

這邊就是可以查一下SQL的語法

首先在PostgreSQL底下建立新的使用者,建議不要使用預設的那個user,那個user權限太高,測試的時候也是可以暫時使用,記得之後要替換就好


然後在你想放置資料庫的位置Creat一個table,當然欄位可以自己定義


CREATE TABLE test(

    id SERIAL PRIMARY KEY,

    test_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP

);

假設這樣建立一個叫做test的表格,然後有主key,欄位則是有記錄寫入的時間

接下來記得先前的Nginx需要做反向代理的動作,然後Flask需要轉發請求的部分

所以這兩個都要記得安裝

那這邊為了反向代理,所以必須編輯Nginx的設定檔案

當然這邊要注意可能需要先停用default,然後建立一個新的

sudo nano /etc/nginx/sites-available/你想要的設定檔名稱

透過nano文字編輯器編輯內容


server {

    listen 80;

    server_name yourdomain.com;

    return 301 https://$host$request_uri;  # 導向 HTTPS

}


server {

    listen 443 ssl;

    server_name yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;

    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

    location / {

      proxy_pass http://127.0.0.1:5000;  # Flask 預設在這個 port

        proxy_set_header Host $host;

        proxy_set_header X-Real-IP $remote_addr;

    }

}

預設應該編輯成這樣就可以了,詳細可以根據需求調整
sudo ln -s /etc/nginx/sites-available/設定檔名稱 /etc/nginx/sites-enabled/

透過這個指令連結新的設定檔

接下來打sudo nginx -t

可以測試,如果先前的語法有錯,這邊會直接測試error

接下來就重新讀取sudo systemctl reload nginx

這樣新的設定就會生效了


接下來回到PyCharm新增一個.py的程式碼檔案

例如main.py也可以,以下是詳細的程式碼範例內容


from flask import Flask

import psycopg2

from datetime import datetime


app = Flask(__name__)


# 連線參數請依實際修改

def get_db_connection():

    return psycopg2.connect(

        dbname="yourdbname",

        user="yourdbuser",

        password="yourdbpass",

        host="localhost"

    )


@app.route('/')

def log_visit():

    conn = get_db_connection()

    cur = conn.cursor()

    # 寫入目前時間

    cur.execute("INSERT INTO test (test_time) VALUES (%s)", (datetime.now(),))

    conn.commit()

    cur.close()

    conn.close()

   return "Visit time recorded!"

if __name__ == '__main__':

    app.run()




接下來把python檔案存檔之後透過遠端傳到伺服器內指定的資料夾

這邊通常應該先放在先前建立虛擬環境的資料夾底下就可以了

接下來就在對應的路徑底下python3 yourfile.py輸入你的py檔案名稱,就可以運作這個測試用的伺服器了

然後可以隨意到任何瀏覽器輸入你自己的網域名稱,就可以看到有資料被寫入資料庫了


這次就先分享到這裡,今天已經讓我們瀏覽器瀏覽網域時順利的觸發了對應的事件,去寫入資料庫。


如果還有疑問也可以直接發問,或是有什麼想指正的歡迎~







留言