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。