用 Python 快速搭建网游服务器

5,776 views
5,482 views

Published on

用 Python 快速搭建网游服务器

Published in: Technology
1 Comment
9 Likes
Statistics
Notes
No Downloads
Views
Total views
5,776
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
70
Comments
1
Likes
9
Embeds 0
No embeds

No notes for slide

用 Python 快速搭建网游服务器

  1. 1. 为什么? 网游金矿,我们没份……
  2. 2. 技术壁垒 <ul><li>C++ </li></ul><ul><li>硬件( GPU 、 multicore ) </li></ul><ul><li>图形学( DirectX 、 OpenGL ) </li></ul><ul><li>人工智能 </li></ul><ul><li>Linux </li></ul><ul><li>网络编程( IOCP 、 epoll 、 kqueue ) </li></ul><ul><li>分布式系统、数据库 </li></ul>
  3. 3. 救世主?银弹? <ul><li>从来就没有什么救世主(欧仁∙鲍狄埃 ) </li></ul><ul><li>没有银弹( Fred Brooks ) </li></ul><ul><li>所以别指望我今天讲的东西能救大家于水深火热之中,我只是来忽悠大家一起做游戏的。 </li></ul>
  4. 4. 用 python 快速搭建网游服务器 赖勇浩 http://laiyonghao.com 2009.5.1
  5. 5. 网游之困 <ul><li>网游是最具技术含量的软件(国内尤是) </li></ul><ul><li>网游市场是快速变化的 </li></ul><ul><li>人力资源昂贵,硬件日益廉价 </li></ul>
  6. 6. 脚本是网游进步的阶梯 <ul><li>脚本降低人才进入网游行业的门槛 </li></ul><ul><li>脚本是市场快速变化的应对之道 </li></ul><ul><li>脚本使降低人力成本成为可能 </li></ul>
  7. 7. PHP 、 Lua 、 Python 之选 <ul><li>PHP 对高性能的网络编程支持有限 </li></ul><ul><li>Lua 缺乏原生的大型应用的编程模式支持 </li></ul><ul><li>Python 简洁、库丰富、框架多、有案例 </li></ul>
  8. 8. Python + Database <ul><li>Python Database API Specification v2.0 -- PEP 249 </li></ul><ul><li>mysql ( MySQLdb ) </li></ul><ul><li>PostgreSQL ( PyGreSQL ) </li></ul><ul><li>Ms SQL Server ( pyodbc ) </li></ul><ul><li>Oracle ( cx_Oracle ) </li></ul><ul><li>Sqlite 、 bsddb </li></ul>
  9. 9. Distributed <ul><li>twisted </li></ul><ul><li>Pyro </li></ul><ul><li>xml-rpc </li></ul>
  10. 10. 用 Python 实现一个 * 伪 * 分布式系统 DB proxy Game logic server Clients Databases
  11. 11. Python 性能优化 <ul><li>优化网络 I/O </li></ul><ul><li>优化数据库操作 </li></ul><ul><li>优化数据结构 </li></ul><ul><li>优化算法 </li></ul><ul><li>优化业务逻辑 </li></ul><ul><li>用 Cython/C/C++ 重写热点模块 </li></ul>
  12. 12. 与客户端的通信协议 <ul><li>一定要 TCP/UDP 吗? </li></ul><ul><li>一定要二进制吗? </li></ul><ul><li>try http </li></ul><ul><li>try plain text/xml/json </li></ul><ul><li>性能?别跟我谈性能,我懒得跟你谈 </li></ul><ul><li>流量? gzip </li></ul>
  13. 13. 客户端的未来之星 <ul><li>flash 、 flash 、 flash </li></ul><ul><li>flex builder 3 </li></ul><ul><li>MXML 、 ActionScript 3 </li></ul><ul><li>AMF ( pyamf 、 amfphp ) </li></ul><ul><li>native socket </li></ul><ul><li>3D </li></ul>
  14. 14. The End http://laiyonghao.com http:// twitter.com/laiyonghao

×