A. python開發過哪些知名網站和游戲
谷歌:Google App Engine、http://code.Google.com、Google earth、谷歌爬蟲、Google廣告等項目都在大量使用Python開發
CIA:美國中情局網站就是用Python開發的
NASA:美國航天局(NASA)大量使用Python進行數據分析和運算。美國宇航局從1994年起把python作為主要開發語言。
YouTube:世界上最大的視頻網站YouTube就是Python開發的
Dropbox:美國最大的在線雲存儲網站,全部用Python實現,每天網站處理10億個文件的上傳和下載。
Instagram:美國最大的圖片分享社交網站,每天超過3千萬張照片被分享,全部用Python開發
Facebook:大量的基礎庫均通過Python實現的
Redhat:世界上最流行的Linux發新版本中的yum包管理工具就是用Python開發的
豆瓣:公司幾乎所有的業務均是通過Python開發的
知乎:國內最大的問答社區,通過Python開發(Quora)
春雨醫生:國內知名的在線醫療網站是用Python開發的
除上面之外,還有搜狐、金山、騰訊、盛大、網易、網路、阿里、淘寶、土豆、新浪、果殼等公司都在使用Python完成各種各樣的任務。
B. 游戲開發中常用哪種腳本語言
隨著《魔獸世界》(以下簡稱wow)在世界范圍內流行,腳本漸漸被人們所熟知。由於wow強大的自定義界面系統,Lua這一腳本語言一舉成名。
其實早在Lua腳本語言被大眾所熟知以前,游戲業內人士就已經開始使用腳本來開發游戲了。我們熟悉的很多國內的網路游戲大都運用了腳本開發,比如網游的長青樹「夢幻西遊和《大話西遊2就大量應用了腳本技術。特別是《大話西遊2》,其實現基於Lua腳本游戲開發的時間要遠早於《魔獸世界》。在腳本技術上,國內與國外其實是站在同一起跑線上的,並不存在什麼差距,這也為國內游戲產業趕超國外游戲產業提供了強有力的技術保證。
在單機游戲時代,腳本這個詞幾乎很少出現,那麼,為什麼在網路游戲時代它卻成了業界的寵兒呢?原因是多方面的。
單機游戲時代,無論游戲主機還是PC機,它們的性能都非常低下,從而需要具有較高執行效率的編譯型語言對機器的性能進行「壓榨」。隨著科技發展和硬體性能的不斷提升,腳本逐漸被開發者所接受並利用,但這並不是腳本流行起來的決定性因素,真正的原因還在於游戲市場有這方面的需求。
網路游戲時代的市場競爭激烈、變化莫測,如果延用單機時代一年半載才出一個新版本的開發方式,必然會被游戲行業激烈的市場競爭所淘汰。正是這種游戲市場需求旺盛和開發工具效率底下之間的矛盾,促使腳本語言迅速地發展起來。腳本的興起使得傳統編譯型語言(asngC/C )的性能優勢在硬體功效大幅攀升的今天已經不復存在。
除了市場和硬體這兩個因素之外,還有一點我們不能忽略。那就是用C/C 進行游戲開發的高成本和高項目風險。隨著java/.net逐漸流行,學習C/C 編程語言的人越來越少,而網路游戲市場的需求卻越來越龐大,在程序人才大量匱乏的情況下,造成了c,C 人才的高成本。即便是有能力僱傭大量C/C 程序員的公司,在開發游戲的過程中,也不能無視C/C 的高級特性和高度靈活性帶來的高項目風險。C/C 是易學難精的編程語言,在開發大型項目的時候由於程序員的水平參差不齊,所以極易造成溝通不暢。不僅如此,c,C 濫用的高級特性也容易引入大量bug。正是由於這些原因,游戲公司開始在游戲中使用腳本,希望通過腳本來解決這些高成本、高風險的問題。
二.腳本的現狀
腳本不僅解決了c/C 無法解決的開發效率難題,還降低了開發的成本和風險。因此腳本技術在游戲業內蓬勃發展起來,並且已經成為游戲業中不可或缺的一環。縱觀當前腳本技術現狀,形勢一片大好,不僅語言百家爭鳴,而且書籍種類也越來越多;不僅在游戲業界開花結果,在web等其它應用領域也大放異彩。
首先,我們來看看目前比較流行的腳本:Python、Lua、ruby和Erlang。Python和Lua是網路游戲開發的中堅力量;ruby憑借 rubyonrails的web開發框架的強勁力量,其在游戲業的發展前途亦不可小視;Erlang在高並發性上的原生優勢吸引了無數追求高性能網游伺服器的開發人員的目光。
其次,我們來看看書籍方面。大家都知道,文字對語言的普及起到了催化劑的作用,甚至可以看作是語言的有機組成部分。Python經過基金會的多年經營而得到NASA、Google重用的原因,就是由於其相關書籍種類比較豐富;Ruby隨著RoR的流行,這兩年行情看好,書籍也出版得越來越多了;Erlang是典型的少眾語言,但隨著多核時代的來臨和高並發網路應用的需求,Erlang有著光明的發展前景,現在<<ProgrammingErlang>>等書也已經在策劃出版了;反觀Lua,雖然目前越來越流行,但由於它晦澀的介面設計和缺乏大型應用的支持,使得相關書籍寥寥無幾。
最後,我們把焦點重新聚集到游戲開發行業中,其實不難發現,除了前文提到的《魔獸世界》和網易經典「西遊系列」使用了腳本外,現在大多數比較流行的程序也都使用了腳本,如騰訊的QQgame))和搜狐的《天龍八部》等。不僅如此,現今的游戲引擎也都提供了腳本介面,無論是商業的unreal引擎還是開源的 OGRE,無一例外。
三.腳本的優勢
腳本之所以能夠在游戲業中找到自己的一席之地,是因為網路游戲市場需要一個快速開發方案來避免C/C 開發帶來的項目高成本和高風險。那麼,腳本相對於C/C 這類編譯型語言到底有什麼優勢呢?
I易於學習,代碼可維護性強
腳本的語法通常都非常簡單,也沒有太多高階的特性,學習的門檻較C/C 低得多,比如Python可能只需要花一個下午即可學會。這使得游戲開發公司可以招聘完全沒有腳本、編程經驗的新手,通過低成本的培訓,他們便能迅速地走上工作崗位。除易於學習外,腳本代碼也有較強的可維護陛(盡管寫出沒有人看得懂的Lua代碼也非難事)。因為腳本沒有很多高階特性(如c 里的模板元編程就是高階特性),所以腳本程序員就有更多的精力去架構、模式、重用和測試等工作,從而提高了代碼的可維護性。相應地,正因為沒有那麼多讓人困惑的高階特性,也使得腳本代碼「簡潔」不少。
2.降低開發成本
如上所言,由於腳本易於學習,游戲開發公司可以大量起用新手,這正是降低成本的有效手段。那麼如何來確保新手所寫代碼的質量呢?眾所周知,新手無論用什麼語言寫程序肯定會出現bug,但用C/C 和Python做比較,可以看出,一個新手用C/c 編寫出的程序所出現的bug肯定會比用Python編寫出現的bug要多。由於c程序需要編譯,而腳本程序(大部分)都可以直接解釋執行,所以在排除 bug方面腳本也佔有一定的優勢,這也使腳本在降低成本的同時能夠更好地保證代碼質量。
3.形成人才壁壘
軟體開發行業是一個頗為動盪的行業,無數的程序員都在跳槽和謀劃跳槽的狀態中生活,使用腳本開發形成人才壁壘是游戲業減少人才流動的有效手段。因為現在腳本除了在游戲業中非常流行外,並沒有在其它行業形成廣泛應用(雖然在web開發方面也有燎原之勢,但終究不如在游戲業中的地位高)。這就使得游戲程序員很少會考慮非游戲行業的職位,但其它行業的程序員卻可能會因為腳本的易學習性而轉投游戲業。腳本除了能有效形成行業間的人才壁壘外,也能有效地形成企業間的人才壁壘。由於現有的腳本種類繁多,不同公司往往有不同的選擇,甚至有些公司使用自己開發的腳本語言,所以程序員從公司A跳槽到公司B可能要學習使用另一種腳本,這就提高了跳槽的成本,從而減少了人才的流動。
四.腳本的發展趨勢
依照目前趨勢來看,腳本語言一定會更加的普及,而且會逐漸滲透到其它行業中。隨著網路游戲從業人員數量的增長,腳本程序員也一直增加,而且Web2、0熱潮引起的網路需求,也促成了一批批新腳本程序員的誕生。網路游戲市場就像一個正在滾動的雪球,推動著腳本的普及。
隨著腳本在游戲業中越來越流行,市場對生產效率的需要也會相應提高。腳本雖然在一定程度上緩解了生產效率與生產工具之間的矛盾,但仍然不夠完善。由於市場競爭日趨激烈,而網路游戲在很多功能上的實現又都相差無幾,如網路、資料庫、圖形甚至部分邏輯,這必然會引起網路游戲生產的組裝化一一大量中間件相互組合形成新的網路游戲。從目前來看,Bigwofld、PhysX和Unreal等都是比較流行的網路游戲中間件。腳本語言則是粘合各個中間件的良好膠水語言,所以隨著網路游戲的生產組裝化,腳本將有更大的發展空間。
那麼,當腳本發展到如日中天的時候,可能取代C/C 這些編譯型語言嗎?筆者認為不會。腳本語言和編譯型語言在生產效率和執行效率上各擅勝場,網路游戲既需要能快速應變的腳本,也需要能快速執行以提供更絢麗游戲效果的編譯型語言。未來,它們之間一定會保持長久的和諧互補關系,相輔相成。
五.結語
綜上所述,網路游戲時代是上帝賜予腳本語言發展的絕好時機,腳本語言很快將迎來光芒四射的時代。腳本語言擁有編譯型語言無可比擬的生產效率優勢,所以它們將互補互助並肩奮戰在游戲的最前線。
C. python能開發游戲嗎
用Python開發游戲完全沒有問題,游戲裡面要用到一些全局變數、載入資源、創建開始界面、開始游
戲,舞台層滑鼠點擊事件的監聽器是startGame函數,也就是我們點擊開始界面就開始游戲。
首先打開命令行,使用PyPI下載Pygame包(輸入命令pip install pygame)
使用Python開發游戲步驟:
1、打開python編輯器(vs,IDLE,或其他),再引入包定義一些需要用到的數據
2、先使用pygame包創建一個游戲窗口,然後使用循環將窗口展示出來
3、現在定義一個可操控的小球類Player,draw()方法可以使它展示在屏幕上,update()方法讓小球跟隨滑鼠移動
4、類似的,定義不可操控的小球類Ball,使用random包使它隨機移動
5、再對Player小球進行碰撞檢測,遇到大球就被吃掉,游戲自動退出,遇到小球就吃掉小球,並且增大自己體積,並加入到Player小球
的update()方法中
6、類定義完畢了,再創建對象,將多個Ball類對象加入列表
7、調用各個對象的draw()方法與update()方法
8、最後一步控制幀率,使用pygame.time.Clock().tick(60)將幀率控制在60幀
python開發游戲的庫平台pygame,pygame是python的一個跨平台模塊,專門為設計電子游戲而開發,建立在SDL基礎上,允許開發
者快速的開發出自己的游戲而又不被低級語言束縛,這個庫的安裝和簡單使用,實驗環境win10,python版本為python3.6。
D. 怎麼自己架設wow私服伺服器
1. 先安裝mysql,mysqlcc,ODBC然後重起。
重起後看看右下的系統托盤里有沒有個紅綠燈的圖標,沒有的話運行c:mysqlinwinmysqladmin.exe
開始架伺服器:
運行mysqlcc,新建伺服器:
name:python
host:localhost
user:root
password:空
2. 確定後雙擊「python」,右鍵點擊DataBases,新建資料庫取名wow。
右擊User Administration,新建用戶。名字隨便,Hose:localhost,密碼自己記好。
選上All Privileges,右邊在Global Privileges和wow上打對勾,應用。
再把系統自動添加的@localhost用戶的All P....和Glo...,wow上也打上對勾應用。
3. 不關程序,到控制面板,管理工具,服務:mysql。
停止服務,在參數空白行里輸入
safe_MySQLd -O key_buffer=16M -O table_cache=128 -O sort_buffer=4M -O record_buffer=1M -O max_allowed_packet=30M
啟用服務。
4. 回到mysqlcc,右鍵點擊/Databases/wow,開啟新窗口。
點擊新開窗口上面的SQL按鈕,再選擇菜單里的文件打開...
打開25M的python.sql(載入需要好長時間)然後點擊按鈕欄里的「!」按鈕。
看執行成果,沒有X的就是成功了,有錯誤的話刪掉wow資料庫,從「3.」處重新開始。
5. 啟用python伺服器,但停止wow庫。把7M的python.sql和N個1K的.sql文件拷貝到c:mysqlin
運行c:mysqlinmysql.exe
在命令行里輸入. python.sql
. commands.sql
依此類推...
6. 載入完畢後啟動wow庫,運行wowpython0.89,輸入:
host 127.0.0.1(或者你的外網IP或者區域網IP)
lanhost *.*.*.*(你的區域網IP)
db localhost (你剛才「2.」建立的用戶名) (你輸入的密碼) wow
start
出現伺服器開始運行的提示後就可以運行游戲了。
注意事項:只是想單機玩的host地址隨便,lanhost用開始菜單/運行/cmd/ipconfig看到內網地址。
想區域網玩的host,lanhost都用內網IP。想架外網伺服器的就要知道自己的外網實際IP了。
7. 自己玩或者區域網內玩游戲,進游戲登陸界面後按「~」打開控制台,輸入「realmlist (你在「6.」所輸入的內網IP)」使用wow表account項裡面的GM賬號登陸游戲。
E. 如何架設魔獸世界私服
備工具:1:裝有windows98/2000/xp/2003系統、內存至少256M的電腦一台
2:魔獸伺服器端一個
3: mysql4.0.2(不要用最新的5.0,有問題)
mysql-control-center0.9.4
MyODBC-standard-3.51
(上面3個都是架設伺服器用的資料庫端和資料庫管理端:mysql4.0.2是資料庫主程序,mysql-control center0.9.4是資料庫管理界面程序,MyODBC是MySQL與Windows數據服務的連接驅動)
當然還有wow eta3客戶端和3734(就是0.8.0)補丁
需要的資料庫有:
25M的python.sql
7M的python.sql
幾個1k左右的commands.sql,creatures_mov.sql,gmlogin.sql, c_text.sql,sh.sql,trainers.sql
1. 先安裝mysql,mysqlcc,ODBC然後重起。
重起後看看右下的系統托盤里有沒有個紅綠燈的圖標,沒有的話運行c:\\mysql\\bin\\winmysqladmin.exe
開始架伺服器:
運行 mysqlcc ,新建伺服器:
nameytho
host:localhost
user:root
pa word:空
2. 確定後雙擊「 ytho 」,右鍵點擊 DataBase ,新建資料庫取名 wow 。
右擊User Administration,新建用戶。名字隨便,Hose:localhost,密碼自己記好。
選上All rivileges,右邊在Global rivileges和wow上打對勾,應用。
再把系統自動添加的@localhost用戶的All ....和Glo...,wow上也打上對勾應用。
3. 不關程序,到控制面板,管理工具,服務:mysql。
停止服務,在參數空白行里輸入
safe_MySQLd -O key_buffer=16M -O table_cache=128 -O ort_buffer=4M -O record_buffer=1M -O max_allowed_packet=30M
啟用服務。
4. 回到mysqlcc,右鍵點擊/Databases/wow,開啟新窗口。
點擊新開窗口上面的SQL按鈕,再選擇菜單里的文件\\打開...
打開25M的python.sql(載入需要好長時間)然後點擊按鈕欄里的「!」按鈕。
看執行成果,沒有X的就是成功了,有錯誤的話刪掉wow資料庫,從「3.」處重新開始。
5. 打開控制面板\\管理工具\\ODBC數據源(不同的操作系統名字可能不同)
選擇:系統D ,添加,MySQL ODBC3.51 Driver。
Date ource ame:(2.里建立的用戶名)
Host/Server ame(or IP):localhost
DataBase ame:wow
User:(2.里建立的用戶名)
Pa word:(2.里建立的密碼)
6. 啟用python伺服器,但停止wow庫。把7M的python.sql和N個1K的.sql文件拷貝到c:\\mysql\\bin\\
運行c:\\mysql\\bin\\mysql.exe
在命令行里輸入. ython.sql gt;准備工具:1:裝有windows98/2000/xp/2003系統、內存至少256M的電腦一台
2:魔獸伺服器端一個
3: mysql4.0.2(不要用最新的5.0,有問題)
mysql-control-center0.9.4
MyODBC-standard-3.51
(上面3個都是架設伺服器用的資料庫端和資料庫管理端:mysql4.0.2是資料庫主程序,mysql-control center0.9.4是資料庫管理界面程序,MyODBC是MySQL與Windows數據服務的連接驅動)
當然還有wow eta3客戶端和3734(就是0.8.0)補丁
需要的資料庫有:
25M的python.sql
7M的python.sql
幾個1k左右的commands.sql,creatures_mov.sql,gmlogin.sql, c_text.sql,sh.sql,trainers.sql
1. 先安裝mysql,mysqlcc,ODBC然後重起。
重起後看看右下的系統托盤里有沒有個紅綠燈的圖標,沒有的話運行c:\\mysql\\bin\\winmysqladmin.exe
開始架伺服器:
運行 mysqlcc ,新建伺服器:
nameytho
host:localhost
user:root
pa word:空
2. 確定後雙擊「 ytho 」,右鍵點擊 DataBase ,新建資料庫取名 wow 。
右擊User Administration,新建用戶。名字隨便,Hose:localhost,密碼自己記好。
選上All rivileges,右邊在Global rivileges和wow上打對勾,應用。
再把系統自動添加的@localhost用戶的All ....和Glo...,wow上也打上對勾應用。
3. 不關程序,到控制面板,管理工具,服務:mysql。
停止服務,在參數空白行里輸入
safe_MySQLd -O key_buffer=16M -O table_cache=128 -O ort_buffer=4M -O record_buffer=1M -O max_allowed_packet=30M
\\. commands.sql
依此類推...
7. 載入完畢後啟動wow庫,運行wowpython0.89,輸入:
host 127.0.0.1(或者你的外網IP或者區域網IP)
lanhost *.*.*.*(你的區域網IP)
d localhost (你剛才「2.」建立的用戶名) (你輸入的密碼) wow
start
出現伺服器開始運行的提示後就可以運行游戲了。
注意事項:只是想單機玩的host地址隨便,lanhost用開始菜單/運行/cmd/ipconfig看到內網地址。
想區域網玩的host,lanhost都用內網IP。想架外網伺服器的就要知道自己的外網實際IP了。
8. 自己玩或者區域網內玩游戲,進游戲登陸界面後按「~」打開控制台,輸入「realmlist (你在「7.」所輸入的內網IP)」使用wow表account項裡面的GM賬號登陸游戲。
OK!架設完畢
F. 現在學習Python有前途嗎
有的。目前python是最受歡迎的編程語言,也是最合適人工智慧的編程語言,應用廣泛,市場前景十分光明。根據職友集顯示,python工程師全國平均薪資15190元,北京python招聘崗位有14400個,上海有7859個,深圳有6158個。人才需求非常大,所以說現在學python當然是有前途的。
G. Python和Lua是什麼
Python
Python(英語發音:/ˈpaɪθən/), 是一種面向對象、解釋型計算機程序設計語言,由Guido van Rossum於1989年底發明,第一個公開發行版發行於1991年,Python 源代碼同樣遵循 GPL(GNU General Public License)協議。Python語法簡潔而清晰,具有豐富和強大的類庫。它常被昵稱為膠水語言,能夠把用其他語言製作的各種模塊(尤其是C/C++)很輕松地聯結在一起。常見的一種應用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然後對其中有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而後封裝為Python可以調用的擴展類庫。需要注意的是在您使用擴展類庫時可能需要考慮平台問題,某些可能不提供跨平台的實現。
Lua
Lua 是一個小巧的腳本語言。是巴西里約熱內盧天主教大學(Pontifical Catholic University of Rio de Janeiro)里的一個研究小組,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所組成並於1993年開發。 其設計目的是為了嵌入應用程序中,從而為應用程序提供靈活的擴展和定製功能。Lua由標准C編寫而成,幾乎在所有操作系統和平台上都可以編譯,運行。Lua並沒有提供強大的庫,這是由它的定位決定的。所以Lua不適合作為開發獨立應用程序的語言。Lua 有一個同時進行的JIT項目,提供在特定平台上的即時編譯功能。
H. 想使用Python做游戲伺服器端開發,需要具備哪些技術
你自己說的太含糊了。游戲服務端。僅這兩個詞只是能說明你要求的伺服器並發量要大,此外可能會有一個游戲引擎。具體的你用的是什麼游戲類型。需要什麼樣的引擎。以及是否是網網游戲,或者是FLASH做的RPG游戲都沒有說。所以很難給出一個具體的框架與協議。
不過簡單的說,python做游戲伺服器足夠,以前有人用python做過魔獸世界的游戲伺服器,做過EVE的客戶端。
通常來講,會使用一個內存資料庫,一組關系型資料庫。還有幾套應用系統,比如交易系統,副本系統,對話系統,用戶管理系統,支付系統系統。都是相互獨立的,與游戲引擎關系不大。
要用的技術挺復雜的。主要是網路,安全,進程管理,C語言介面,資料庫,圖像處理,分布式管理等。
I. python做的游戲有哪些
比較大型的,使用Python的游戲有兩個,一個是《EVE》,還有一個是《文明》。另外GitHub上有很多開源的小游戲,下面給大家介紹一下:
1. Github上面有個項目Free Python Games,裡面集合了不少的Python開發的小游戲,能玩,也適合新手用來練練手,另外 PyGame 這個網站裡面裡面集合了很多Python開發的小游戲。
2. Python版本的 Flapy Bird 簡化版,但是感覺更加難玩了。當然你也可以嘗試用Python開發原版的 Flapy Bird,涵蓋了顏色圖像等:Flappy Block - 1.0。
相關推薦:《Python教程》
3. 小時候經常在手機上玩的一個游戲,也是一款經典的街機游戲,這款游戲進化之後其實就是一個打乒乓的小游戲,這里同樣有一個進化版本,圖形設計的更加好看:Ping Pong。
4. 以前初高中在學校很無聊的時候跟同桌或者前後桌玩的游戲,你還記得么?
5. 同樣一款小時候在小霸王上玩的游戲:Junk Jungle。
6. 除此之外,一款比較有名基於Pyhton的戰爭的游戲:Home - TaleWorlds Entertainment。
7. 一款看起來非常有趣的3D游戲:Galcon。