python开发大型游戏_用Python做大型游戏合适吗?
首先来说Python用于大型游戏,分四种情况:客户端,引擎和基本框架层面,毫无希望。
客户端,逻辑层,Python没问题、很擅长,但性能方面不是Lua的对手。
服务器,框架层,特别适用于某些交互不频繁的游戏类型;用在MMO-RPG等类型上有性能问题,但不是不可以。
服务器,逻辑层,没问题。
像猪厂两大游戏客户端引擎,NeoX 和 Messiah,都使用 Python 作为脚本语言。
先来看服务端:
都是纯 Python。因此很多代码可以服务端客户端共用,尤其是数据结构定义,序列化等。用过的才知道前后端用同一种语言有多方便。同一套 Excel 配表,用 Python 写的工具转成 py 文件,然后服务端和客户端都用这个。
同一个类,服务端用,客户端也用,还需要啥数据格式转换啊(滑稽)。
效率方面:
运行效率大部分情况下都不是问题,开发效率却可以提升几个数量级。
静态类型语言 vs 动态类型语言:
这是个有争议的话题。个人看法这是一种 trade-off,牺牲逻辑的严谨性,以及架构,来换取开发效率。这样做当然很多弊端,只是在目前这个阶段,开发效率比什么都重要,真的。
多线程:
客户端逻辑没有必要。游戏项目从来都不是计算密集型的,逻辑本来就够复杂了,多线程会进一步增加复杂度,得不偿失。
Hotfix:
网络游戏正在逐渐成为一种服务,成为每个人的日常娱乐方式。服务的稳定也变得越来越重要,如果隔三差五就得停服修bug,客户端动不动就得整包更新,会严重影响玩家体验。而用 Python 进行热更是语言原生支持的,意味着实现成本很低,风险低,操作也很方便。
最后:
不要想太多,也不要听风就是雨,实践才能出真知!
python开发大型游戏_用Python做大型游戏合适吗?相关推荐
- python开发好吗_用Python开发应用好用吗?
为什么用Python开发桌面应用程序 1)wxWidgets是一个比MFC优雅的库,TortoiseCVS用wxWidges而不用MFC,就是因为wxWidgets好用,而不是为了可以移植. 2)Py ...
- python开发公司网站_用python开发网站
我也不说其它的固定链接的方法,因为那样的教程网上一搜就一大把,我也就只说下我所遇到的问题.固定链接对于搜索引擎很友好,这都是大家知道的,前几天在装好WordPress程序后,想设置下固定链接,结果就遇 ...
- python开发师工资_【Python开发工程师工资|Python开发工程师待遇怎么样】-看准网...
定制个人薪酬报告Python开发工程师工资水平(元/月-税前) ¥10515 职位平均工资 你认为这个数据靠谱吗? 靠谱 1太低 2太高 0 Python开发工程师工资详情 该职位在0-5k薪资范围占 ...
- python开发笔记软件_图解Python编程神器Jupyter Notebook
大家好!在本门课程中我会给大家详细讲解鼎鼎大名的Python编程神器Jupyter Notebook.Jupyter Notebook看似简单,实际上功能非常强大,而且有很多实用的小技巧.遗憾的是,目 ...
- python开发h5页面_使用Python的Tornado框架实现一个Web端图书展示页面
首先,为什么选择Tornado:1.高性能的网络库,这可以和gevent,twisted,libevent等做对. 提供了异步io支持,超时事件处理,在此基础上提供了tcpserver,httpcli ...
- python开发sqlite3完整_让Python更加充分的使用Sqlite3-阿里云开发者社区
我最近在涉及大量数据处理的项目中频繁使用 sqlite3.我最初的尝试根本不涉及任何数据库,所有的数据都将保存在内存中,包括字典查找.迭代和条件等查询.这很好,但可以放入内存的只有那么多,并且将数据从 ...
- python开发流程视频_自学Python的步骤和方法,Python入门全面视频无偿分享,使用Python开发的一些优点...
Python现在非常火,语法简单而且功能强大,很多人都想学习Python,带领大家入门Python学习~ 下面介绍下阿里巴巴推荐的最新Python视频学习资料~ 有五个学习阶段400多集视频,带领大家 ...
- python开发项目管理平台_基于Python的软件项目管理系统.doc
摘要:软件项目管理系统是为了使软件能按照预定的进度和质量顺利完成,而针对开发人员进行管理的系统,目的是使开发人员通力合作,相互配合,以低成本完成目标.系统包括项目开发人员基本信息管理.软件进度查看和软 ...
- python开发注册机_用python 写 Atlantis Word Processor 注册机
[Python] 纯文本查看 复制代码from tkinter import * root=Tk() root.title("Atlantis Word Processor 注册机" ...
- python开发语音录入_基于python实现语音录入识别代码实例
这篇文章主要介绍了如何通过python实现语音录入识别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.介绍 1.第一步录音存入本地 2.调用百度 ...
最新文章
- 不相交轮换的乘积怎么求_谁能告诉我 轮换的乘积 怎么做?具体题目是
- python excel web_使用python在WEB页面上生成EXCEL文件
- Eclipse新建Work set管理工程
- python爬虫 - Urllib库及cookie的使用
- Zend Framework数据库操作(1)
- java 对象数据 搜索,java – 使用反射检索对象的数据类型
- 第16讲:异步爬虫的原理和解析
- 多个Activity关闭问题
- 关于Git使用的一些心得
- .NET 开源项目 Anet 介绍
- Java中的异步等待
- ACM-ICPC北京赛区2017网络同步赛H
- WordPress插件-Wordfence Security v7.4汉化版-可更新
- 用计算机实测技术研究声波和拍内容,大学物理实验
- 十大经典排序算法(动图演示)
- Python日常+笔面试
- adobe air linux centos,Adobe AIR(跨平台应用)
- java web分层和层间数据传递 vo bo po
- python京东抢购手机攻略_Python实现自动上京东抢手机
- 学习笔记整理——vim,vim文件编码,vim配置文件