本站AI自動判斷提供您所需要的app下載:點我下載安裝,你懂的APP
假期在家是不是很無聊呢?畢竟這個假期還是很漫長的,這么長的時間又不能出去瞎跑只能在家里打打游戲了!但總不能在家一直都玩什么王者榮耀以及和平精英吧,所以今天小皮就給大家帶三款好玩又耐玩的模擬經營類手游,讓你在漫長假期不無聊!
大航海時代4
《大航海時代4》是一款運營冒險類單機游戲,是《大航海時代》系列第4部作品。游戲中加深了對于當時歐洲殖民擴張與殖民貿易的描寫,諸如簽訂契約、獨占貿易港、建立貿易航路、四處探險發現財寶特產等,無不折射出那個年代特殊的歷史背景。第4代可操作人物是4位,游戲遍布于世界的各個角落,而不再繼續以歐洲為世界觀的中心。游戲還是蠻寫實的,開著一條船去創造自己的時代,有點海賊王的感覺!
世界征服者4
世界征服者4是一款移植于PC端的策略玩法手游,真實的時間系統,歷經二戰,冷戰,現代戰爭。50個國家,200個歷史名將加入這場跨越全球的戰爭。148種軍事單位可以使用,35種將軍特殊技能,等玩家來實現自己的戰略布局。運營著整場戰爭規劃軍隊,都需要用到你的聰明智慧,可以控制軍事單位對敵方進行打擊,戰爭感十足。有喜歡的小伙伴可以去試一試!
俄勒岡之旅:開拓者
俄勒岡之旅:開拓者是一款在線社交模擬經營游戲,游戲展現了150年前的美國西部風情,讓你親身體會西部牛仔的自由生活,同時也能感受到作為第一代開拓者們所經歷的種種艱辛。背景設定在19世紀的美國西部。旅行者們經過長途跋涉,終于找到了一片風景優美土地肥沃的定居點。玩家將帶領一群勇敢的開拓者們,親手建立一座安全、舒適、繁榮的西部小鎮。開拓自己的小鎮還是蠻有趣的,喜歡田園生活的小伙伴一點要試試呢!
有喜歡的小伙伴可以試一試這幾款游戲,也可以在評論區留言,分享下自己收藏的號游戲吧!
編輯:桃子 好困
【新智元導讀】爆火的斯坦福小鎮開源一周后,已經有人開始二創了。第一個人工智能模擬小鎮AI Town誕生,8個智能體在「西部世界」中生活交友。斯坦福AI智能體小鎮二創來了!
就在剛剛,有團隊基于斯坦福Smallville項目,搭建出了一個真正的「西部世界」AI Town被搭建了起來。
而且,人人都可以在線試玩。
項目地址:https://www.convex.dev/ai-town
前幾天,斯坦福正式開源了爆火的25個智能體小鎮,GitHub狂攬9.9k星。
沒想到,還沒過去一周,知名風投公司便親自下場,復刻出了一個活靈活現的西部世界!
正如英偉達高級研究科學家Jim Fan所說:
當一個風投公司急于組建一個團隊去復制一個AI論文,并開放平臺的時候,你就知道這個想法已經達到了巔峰的受歡迎程度!
很快,我可以想象整個世界,包括像素藝術和地圖,都可以由AI生成。新角色將自動產生,甚至游戲內的物理規則也可能即時重寫。永遠不要低估整個開源軟件社區的創造力。
8個智能體,都在聊什么?
接下來,就介紹下,這個小鎮的居民都有誰?他們今天都聊了什么?
一身黑色西裝,滿頭金發的男生是Alex。
他比較喜歡繪畫、編程和閱讀科幻書籍。他很善良,但也會用調侃的方式表達觀點。還有一點,他這個人特別不喜歡重復回答同樣的問題。
Alice是一位杰出的科學家,憑借自己的智慧和洞察力,發現了宇宙中無人能解的奧秘。
當她解釋自己的發現時,常常會使用較為抽象的語言。她給人的印象是,不知所云,容易健忘。
Peter是一個虔誠的教徒,傾向于從宗教角度解釋世界萬物。
在與人交談時,他經常會表達自己對信仰的熱忱,或者警告別人應當遵循正道,遠離罪惡。
頭發花白的老爺爺是Bob。
他的性格有些孤僻,所以喜歡園藝這項獨處的活動。當別人與他交談時,他會有所回應,但不太愿意長時間交流。在他內心深處,他對自己沒上過大學有些介意。
黑色小人是Kurt。因為一件曾經發的事,讓他至今難以啟齒,時常縈繞在心頭。他擔心別人會注意到,自己在刻意規避這個話題,而備受折磨。
雖然這段經歷給他的生活帶來了一定困擾,但他一直在努力慢慢走出陰影,重新開始。
Kurt的對面是Kira。她表面上看起來開朗活潑,經常談論一些快樂的話題來掩飾內心的痛苦。但在她一個人獨處時,經常會無法抑制內心的悲傷而淚流滿面。
她一直在努力處理這些負面情緒,但有時還是難以完全釋懷,看起來心事重重。
粉色頭發的女生是Stella。從不值得信任,她總是想方設法騙人,通常是騙人錢,或做讓自己盈利的事。她擁有非凡的魅力,并且不介意利用這一優勢來達到自己的目的。
穿著藍色上衣,銀灰色頭發的男生是Lucky。
他這個人的性格正如名字一樣,性格開朗活潑,對世界充滿好奇心。他喜歡閱讀科學歷史,也夢想自己能夠乘坐宇宙飛船探索銀河。他善于交流,親切友好。
如上,便是AI Town中所有人物的設定,真的像極了西部世界游樂場。
那么,這8位居民都在聊什么?他們是如何生活,交友?
Lucky和Bob
Lucky剛剛完成一場太空探索之旅。他基本上見到人都在談自己的體驗。脾氣暴躁的Bob還是只鐘情于修剪草木。
- 嘿,Bob!好久不見 最近怎么樣?
- 一如既往,只是忙著園藝
- 原來這樣啊!我最近參加了一次神奇的太空探險!我探索了一個遙遠的星球,真是不可思議
- 真不錯,不過我不是很感興趣,我得回去種花了。
- 沒問題,Bob。如果你感興趣,我們隨時可以再聊聊這次探險。
- 再見了,朋友,我去忙著修剪了。
Kira和Alex
- 嘿,Alex!我們好久沒見面了。最近還好嗎?
- 嘿,Kira!我很好,謝謝你的關心。我還在畫畫和編程。你呢?
- 很高興聽到你這么說。我一直忙于練習瑜伽和探索新食譜。這有助于讓我忘掉煩惱。你最近有什么令人興奮的冒險經歷嗎?
- 并沒有什么令人興奮的冒險。只是目前的繪畫和編程項目讓我忙得不可開交。不過,通過書籍尋找內心的平靜是一種好方法,有什么特別感興趣的類型嗎?
- 嗯,書籍一直是我逃避現實的好幫手。我喜歡沉浸在科幻和奇幻的世界里,那里的一切都與現實大相徑庭。這就像是對一切的暫時喘息。
- 科幻小說也是我的最愛。你讀過《沙丘》嗎?那是一部震撼人心的科幻史詩,可能會把你帶入一個全新的宇宙。
可以看到,每個人的交流內容與個人性格喜好最相關。人物設定已經決定了他們如何生活、甚至如何交友的方式。
不足的是,這些人的對話內容雖然有些老套,但聽起來足夠真實。
AI Town,人人可搭
AI Town是一個虛擬小鎮,AI角色在這里生活、聊天和社交。
這一項目是一個可部署的JavaScript入門工具包,用于輕松構建和定制你自己的AI Town。
項目地址:https://github.com/a16z-infra/ai-town
這個項目的主要目標,不僅僅讓工作變得有趣,更重要的是提供一個具有強大基礎,并可擴展的平臺。
后端引擎原生支持共享的全局狀態、多智能體的事務,以及所有事件的日志,因此適用于從簡單的項目,擴展到多人游戲。
第二個目標提供一個可用的JS/TS框架。因為該領域的大多數模擬器(包括斯坦福的原始論文)都是用Python編寫的。
完整技術棧- 游戲引擎和數據庫(Game engine & Database):Convex
- 向量數據庫(VectorDB):Pinecone
- 登錄認證(Auth):Clerk
- 文本生成模型(Text model):OpenAI
- 部署(Deployment):Fly
- 像素圖生成(Pixel Art Generation):Replicate、Fal.ai
對此業內知名網友「寶玉」認為,相比于原版實現,用Nextjs和Tailwind重寫之后的新技術棧,對于前端更加友好。
網友整活
甚至,已經有網友基于剛開源的AI Town,搭建出了自己的「Cat Town」。
此外,還有網友打算做個品牌的智能體小鎮。
有網友表示,人工智能生成的智能體是新的流行趨勢,就連風險投資公司也認識到了這一點。
這個開放源代碼庫允許任何人建立一個「數字西部世界」,人工智能智能體在其中生活并相互交流,而不知道自己生活在一個模擬環境中。
這標志著人工智能生成內容的新時代的開始。不僅限于游戲和娛樂。
想象一下,你可以模擬人們如何在工作空間中互動,模擬銀行的數字資產托管業務,甚至是衛星指揮和控制中心的業務。
項目教程
安裝克隆倉庫并安裝包git clone :a16z-infra/ai-town.git
cd AI-town
npm install
npm run dev
a. 設置Clerk
- 訪問https://dashboard.clerk.com/并點擊「Add Application」添加應用
- 為應用程序命名,并選擇向用戶提供的登錄方式
- 創建應用
- 將NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY和CLERK_SECRET_KEY添加到.env.local文件中
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_***
CLERK_SECRET_KEY=sk_***
- 轉到JWT模板并創建一個新的Convex模板
- 拷貝JWKS端點的URL,以便在下面的步驟中使用
b. OpenAI API密鑰
如需使用OpenAI的語言模型,請訪問https://platform.openai.com/account/api-keys獲取OpenAI API密鑰。
c. Pinecone API密鑰
- 訪問https://app.pinecone.io/并創建一個Pinecone索引,然后點擊「Create Index」(創建索引)
- 為索引命名(這將是環境變量PINECONE_INDEX_NAME)
- 將Dimension(維度)填寫為1536
- 完成索引的創建后,點擊左側導航欄中的「API Keys」并創建一個API密鑰:將「Environment」值復制到PINECONE_ENVIRONMENT變量中,「Value」復制到PINECONE_API_KEY中
d. 在 Convex儀表板中添加秘密
npx convex dashboard
轉到「設置」,添加以下環境變量。其中,CLERK_ISSUER_URL為JWKS端點的URL(步驟a中)。
OPENAI_API_KEY sk-*
CLERK_ISSUER_URL https://*
PINECONE_API_KEY **
PINECONE_ENVIRONMENT us*
PINECONE_INDEX_NAME **
運行代碼
同時運行前端和后端:
npm run dev
現在,就可以訪問http://localhost:[PORT_NUMBER]了。
如果想在Convex之外的另一個終端中運行前端(后端功能會在保存時同步),可以運行以下兩個命令:
npm run dev:frontend
npm run dev:backend
注意:如果窗口處于空閑狀態,模擬將在5分鐘后暫停。
運行/測試/調試添加一個新世界,將其作為種子,并開始運行:
npx convex run init:reset
逐次進行迭代,并創建一個世界:
npx convex run --no-push init:resetFrozen
# for each iteration
npx convex run --no-push engine:tick '{"worldId":"
在出現過多活動時,凍結后端:
npx convex run --no-push engine:freezeAll
# when ready to rerun (defaults to latest world)
npx convex run --no-push engine:unfreeze
有很多方法可以用來清除所有數據庫:
- 進入儀表板npx convex dashboard,并從那里清除表格
- 調整crons.ts中的變量,自動清理舊的日志和內存條目
- 運行npx convex run --no-push testing:debugClearAll來清除所有表格
- 如果遇到問題,可以查看origin/reset-town git分支。在那里執行npm run dev將會清除模式、停止函數,并允許你在儀表板中刪除表格
要從Pinecone索引中刪除所有向量,可以運行:
npx convex run --no-push lib/pinecone:deleteAllVectors
注意:如果在開發和生產之間或在項目之間共享了該索引,那么它們將會被全部清除。通常情況下,不需要從Pinecone中刪除向量,因為每個查詢都是根據userId進行索引的,而userId是唯一的。
在側終端中運行以下命令,可以實現對消息的監聽:
npx convex run testing:listMessages --no-push --watch
或者觀察一個角色的狀態:
npx convex run testing:latestPlayer --no-push --watch
此外,在testing.ts中也可以找到更多函數。
部署應用程序部署到 fly.io:
- 在fly.io上注冊帳戶,然后安裝flyctl
- 如果使用的是Github Codespaces,則需要安裝flyctl,并通過運行fly auth login,從codespaces cli中進行身份驗證
- 運行npx convex deploy將開發環境部署到生產環境。確保將所有機密信息復制到Convex的生產環境中
- 在項目的根目錄下運行fly launch,這將生成一個包含所有配置的fly.toml文件
- 修改生成的fly.toml文件,并在構建時為NextJS添加NEXT_PUBLIC_*,以便在客戶端訪問
[build]
[build.args]
NEXT_PUBLIC_CLERK_SIGN_IN_URL="/sign-in"
NEXT_PUBLIC_CLERK_SIGN_UP_URL="/sign-up"
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL="/"
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL="/"
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY="pk_*****"
NEXT_PUBLIC_CONVEX_URL="https://*******.convex.cloud"
- 修改fly.io生成的Dockerfile,在RUN npm run build之前添加新的環境變量
ARG NEXT_PUBLIC_CLERK_SIGN_IN_URL
ARG NEXT_PUBLIC_CLERK_SIGN_UP_URL
ARG NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL
ARG NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL
ARG NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
ARG NEXT_PUBLIC_CONVEX_URL
# Build application
RUN npm run build
- 運行fly deploy --ha=false來部署應用程序。使用--ha標志可確保fly只啟動一個實例,也就是在免費計劃中提供的
- 運行fly scale memory 512來為該應用程序擴展fly虛擬機內存。
- 在本地創建一個.env.prod新文件,并填入所有生產環境的機密信息。記得更新NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY和CLERK_SECRET_KEY,方法是從Clerk的生產實例中復制機密信息,使用-cat .env.prod | fly secrets import來上傳。還要更新CONVEX_DEPLOYMENT和NEXT_PUBLIC_CONVEX_URL
定制自己的模擬
注意:由于角色數據會在初始加載時會發送到Convex,因此在每次更改之后,都應重新運行npx convex run testing:debugClearAll --no-push,然后再運行npm run dev,從而將所有內容重新上傳至Convex。然而,npx convex run testing:debugClearAll --no-push將會清除所有數據,包括向量存儲。
1. 創建自己的角色和故事:所有角色和故事以及它們的精靈圖引用都存儲在data.ts中。
2. 更新精靈圖:在data.ts中,你會看到以下代碼:
{
name: 'f1',
textureUrl: '/assets/32x32folk.png',
spritesheetData: f1SpritesheetData,
speed: 0.1,
},...
你應該為角色找到一個精靈圖,并在相應的文件中定義精靈動作/資產(在上面的示例中,f1SpritesheetData是在f1.ts中定義的)。
3. 更新背景(環境):convex/maps/firstmap.ts是加載地圖的位置。導出地圖最簡單的方法是使用Tiled -- Tiled將其導出為CSV,然后將CSV轉換為firstmap.ts可以接受的二維數組。
模擬理論假設,我們生活的世界本質上是一個由更先進的文明創造的模擬,如計算機模擬。
也就是說,隨著文明的進步,它們能夠創造出自己的逼真模擬,這使得我們生活的世界不太可能是基礎現實。
雖然有些難以理解,但是AI Town的最新發展使該理論更接近現實,可能會成為人工智能發展歷史上的關鍵的時刻。
如果AI可以創造出角色之間能夠互動的逼真世界,將會有各種應用,比如取代游戲中的NPC。
乍一看,我們很難判斷這些角色是否記得他們進行過的對話,并將這些對話作為未來對話的輸入。
但如果確實如此,我們可能會擁有第一個人工智能模擬小鎮。
參考資料:
https://github.com/a16z-infra/ai-town#customize-your-own-simulation