ugame(羽game计划)是我的业余游戏开发计划。
代码和demo在以下svn代码库中
svn://www.svnhost.cn/weimingtom_reversi/ugame
我采用细分的方式进行开发。
目前活跃的开发项目是
服务器:d7, p7;
客户端:m11, s16;
s16开发代码尚在酝酿中(暂时尚缺3D方面的代码)。
----------------------------------------
1、ugame daybreak
名字取自高达OO的OP《破晓之钟(DAYBREAK'S BELL)》。
目标是使用C++实现TCP服务器前端。简称d7。
Update Log:
2011-09-07 0.0.2 * 修改日志输出时的乱码bug,创建一些第三方库的测试工程。
2010-11-01 0.0.1
* 完成服务器的MFC UI,加入MFC的CSocket的依赖,
----------------------------------------
2、ugame prophecy
名字取自灼眼的夏娜S的OP。
目标是使用Java实现TCP服务器前端(即daybreak的java版)。简称p7。
Update Log:
2011-12-27 0.0.7
* 初步支持protostuff-runtime(protobuf格式)封包的反序列化
* 初步支持thrift二进制格式封包的反序列化
* 添加用于以上两种封包序列化测试的Lua脚本
* slf4j更新至1.6.4
* 消除SWT界面在强行关闭时出现的异常输出
* 仅发布源码包
2011-11-26 0.0.6
* 简化VariantType
* 移植到yanf4j(包含在Xmemcached中)
* 初步支持protobuf封包的反序列化
* 测试代码支持protobuf封包的简单序列化(lua实现)
* 从此版本开始,重心将转移至封包和协议的解析。
* 只发布源码包。
2011-10-23 0.0.5
* 移植到xnet
* 移植到cindy(给cindy的代码打补丁,但bug未完全解决)
* 计划学习用纯Java NIO写一个网络底层实现(不依赖外部库)
* 计划加入关闭纳格算法的代码
2011-09-07 0.0.4
* 移植到grizzly,抽离并整理rs服务器的底层网络实现。
2011-07-14 0.0.3
* 尝试模拟RTMP协议
* 加入script,protocol和serializer包
* 改用slf4j-log4j12-1.6.1.jar,让slf4j只用log4j实现
* 消除所有log4j的使用,全部改为用slf4j作为界面,间接调用log4j
* 消除对IoSession的依赖,使用独立于NIO实现库的context类传递会话数据
* 移植到netty2和xSocket
* 用ByteBuffer代替IoBuffer解包
2011-05-11 0.0.2 重构了接受包解包的代码,修正接收包的bug,优化图形界面的日志输出。
2010-11-05 0.0.1 加入swt界面的java版。
----------------------------------------
3、ugame metamorphose(jillcode的AS3移植,简称m11,开发中,未稳定)
jillcode:
http://code.google.com/p/jillcode/
一、项目的命名、目标和现状
metamorphose一词取自日本动画《この丑くも美しい世界》
(The Ugly and Beautiful World, 这丑陋而美丽的世界)
的片头曲(OP)的歌名,意为质变。
UGame Metamorphose是UGame Project中的AS3客户端脚本引擎核心工具库。
最开始是作为jillcode的AS3移植为目标,以后可能会更改为jillcode的AS3优化和增强。
目前还没真正移植成功,只是初步测试过简单的Lua表达式。
将不断加入更多可以运行于flash虚拟机的脚本引擎。
二、jill核心hack
加入断点在以下位置
符号切割:Sytax.llex()或者StringBuffer.append()
语义:Sytax.statement()
虚拟机循环:Lua.vmExecute()
三、当前版本
version 0.0.7: 微调scrplayer的代码,计划下一个目标是使用ANTLR开发脚本引擎。
四、更新日志
* 2011-09-07 : version 0.0.7
稍微改善scrplayer的性能(仍然很慢),后续的开发转移至s16。
计划下一个目标是使用ANTLR开发脚本引擎。
支持任意jpg大图片的逐像素解码(间隙问题未解决)
第三方库添加aspngencoder, see http://code.google.com/p/aspngencoder/。
添加jpeg解码器的as3移植版(无注释), 貌似不支持渐进式jpg图片。
* 2011-05-01 : version 0.0.6
添加mkscript的解码功能,完成scrplayer简单功能。
提高mkscript和scrplayer对flash player 9的兼容性。
scrplayer可以运行,但仅检查消息显示和菜单,
而且过渡效果较卡,有待完善。
添加一个反编译获得的JSON库,重构成AS3风格;
重构HotRuby(进行中);
计划移植BeanShell、JRuby、Jython(计划中);
移植mkscript的界面部分(进行中);
重构as3corelib的JPGEncoder(进行中);
加入以前写的Huffman编解码测试代码;
* 2011-03-07 : version 0.0.4:
移除flexunit库,移除TestRunner.mxml。
将来可能把单元测试独立到新的工程。
添加scrplayer,配合mkscript使用的游戏界面,未完成。
* 2011-02-14 : version 0.0.3:
加入mkscript的AS3移植代码(测试版)
mkscript出自坂本千尋(HyperWorks)的一本书的代码
原始代码是用C++实现
http://www.sbcr.jp/products/479731186X.html
另外实现一个简单的二进制上传服务器,
用于flash调试时保存字节数组到文件中
参考自:
http://code.google.com/p/assql/wiki/JavaPolicyFileServer
* 2011-01-23 : version 0.0.2:
没有太大的修改,仅加入 一些第三方库(试验性质)。
修改了m11的少量界面测试代码。
加入flexuint的库文件。
新建3rdparty目录,专门存放第三方脚本引擎核心的AS3移植,加入以下库:
* hotruby(AS3移植)
* as3corelib的json(注释版)
* libspark的haskell(仅测试运行)
注意,所有第三方库只是试验性质,没有太大的改动,
对m11的核心(移植)代码也没有联系。
* 2010-12-21 : version 0.0.1:
加入svn。
仅测试Lua简单的四则运算(无加载库情况下)和简单变量赋值。
----------------------------------------
4、ugame tiara(简称t4,开发中,未稳定)
名字取自叶社的游戏TTT。
目标是实现简单的avata换装功能。
更新日志:
* 2011-02-22:version 0.0.1:
简单实现功能。
----------------------------------------
5、ugame nanami(简称n5,开发中,未稳定)
名字是七海的日文发音缩写
目标是一些单机版简单2D/3D游戏引擎的个人修改版(使用纯C、AS3、Java开发)
ugame twilight开发日志
一、开发目标
开发一个操作方式类似PowerPoint的游戏开发IDE(立绘、地图编辑器)。
二、开发阶段
阶段0:创建工程
阶段1:至少包含两个窗格,有一个窗格用于操作,有一个窗格用于显示。
阶段2:可以合成两张图(一张带透明信息),并显示在窗格中。
阶段3:图片选取(切换不同图层的图片)
...
三、开发分支
0号机(基于Eclipse RCP的twilight)
* Java (JDK 1.6)
* Eclipse SWT/RCP
* Golden T Game Engine (GTGE)
1号机(基于Qt的twilight)
* C++ (MinGW, VC9)
* Qt
2号机(基于Flex的twight)
* ActionScript 3 / Flex
* FlashDevelop
3号机(基于Win32 GDI的twilight)
* C++
* VC6 (without MFC)
* Win32 Platform API / GDI
四、开发进度
------------------------------------------------------------
20111120:
0号机:阶段2(图略)
1号机:阶段0(图略)
2号机:阶段1
3号机:阶段2(图略)