Medusa引擎开源了

相比于市面上其他的著名游戏引擎,例如Unity,cocos2dx,Unreal,Medusa游戏引擎目前还非常的简陋,目前实现的功能还集中在2D部分,3D的虽然已经预留的接口空间,但因为引擎相对定位于移动平台,而移动平台目前一大部分还是2D,所以3D部分目前还只是个框架。因为我自己的游戏是2D的,所以3D的部分也只是理论上架构了,但也还没有着手实现,但渲染显示3D模型倒是早就可以了。一般业内常用的defered shading框架还没有实现。
目前开源的版本应该说是0.1比较合适,主要是开源出来供学习讨论使用,并不推荐自己用来开发商业游戏。虽然我自己是用它来开发自己的游戏,一边做自己的游戏,一边升级引擎。预计在我自己的游戏的IOS和Android版本都上线之后,发布引擎的1.0版本。游戏引擎若是没有相关的编辑器和完善的工作流,那顶多也只能算是个玩具,无奈编辑器的开发工作量实在太大,所以目前也只是预留了编辑器的接口。我自己开发独立游戏,用的都是一些第3方的编辑器来使用。后续有精力了,也可以由本引擎自举做一些编辑器。各位目前可以更加关注引擎的本身。另外也因为我自己在eat dogfood的原因,所以引擎可能也会更着力在接口和功能都尽量简便。
支持的平台
- Win32
- IOS
- Android(在移植中)
已经实现的功能主要有(其他太基础的功能就不一一列举了):
- 2D自动渲染排序批次
- 自动相对UI布局,支持数据绑定,可以根据设备分辨率自动调整布局适配
- 行为Actions
- Spine骨骼动画支持
- Tield Map瓦片地图
- BMF,TTF字体和排版
- 音频引擎,Ogg
- "Lua"脚本绑定支持
- mpack资源打包格式,支持diff,merge,defrag,支持压缩加密,支持多packge按优先级读取
- FileId(Name-Order)平台自动检测统一资源管理
- 自定义的数据序列化协议(Siren),用C#语言本身做描述语言,直接运行C#项目生成极小C++解析代码,支持嵌入式生成
- MedusaCore 游戏无关的C++库,提供一些很有用方便的C++轮子,例如string format,C# like delegate and event
首先要感谢cocos2dx引擎,在我开始做移动平台游戏的时候(几年前),最开始用的就是cocos2dx,因为开源,所以可以快速的通过源码学习一些相应的技术。Medusa引擎的一些部分组件的灵感都来源于cocos2dx,例如Actions部分,Scene和layer的管理。但每次做游戏发现都需要对cocos2dx做一番升级改造,而且都得做一些扩展来跟自己的研发工作流工具匹配。同时,自己也在学习图形渲染,游戏引擎等游戏开发的相关部分,所以就萌生了自己写一款游戏引擎的想法,一边重复造一些轮子来学习,一边实验各种架构和效果,渐渐的到今日,发现可以发布0.1版本了,因为已经可以跑在Win32和IOS平台上了。虽然肯定还有许多坑和bug,但早开源出来回馈,也能早发现修复,也能得到更多的指点。
另外unity,unreal,gkEngine,KlayGE等引擎都让我受益良多,他们都是非常游戏的游戏引擎,是我学习的对象。
有想一起讨论可以:
fjz13@live.cn
QQ群:273882050
也可以直接在github提issue
Medusa引擎开源了的更多相关文章
- 开源分布式计算引擎 & 开源搜索引擎 Iveely 0.5.0 为大数据而生
Iveely Computing 产生背景 08年的时候,我开始接触搜索引擎,当时遇到的第一个难题就是大数据实时并发处理,当时实验室的机器我们可以随便用,至少二三十台机器,可以,却没有程序可以将这些机 ...
- 强大的模板引擎开源软件NVelocity
背景知识NVelocity(http://sourceforge.net/projects/nvelocity )是从java编写的Velocity移植的.net版本,是java界超强的模版系统,.n ...
- Aviator 表达式求值引擎开源框架
简介¶ Aviator是一个高性能.轻量级的java语言实现的表达式求值引擎,主要用于各种表达式的动态求值.现在已经有很多开源可用的java表达式求值引擎,为什么还需要Avaitor呢? Aviato ...
- .net开源工作流引擎ccflow
关于济南驰骋信息技术有限公司的.net开源工作流引擎 驰骋工作流引擎,工作流程管理系统:简称ccflow,驰骋一体化解决方案简称ccport. ccflow是济南驰骋信息技术有限公司向社会提供的一款1 ...
- 基于camunda开源流程引擎如何实现会签及会签原理解析
一.背景 市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.由于jbpm.activiti.flowable这几个流程引擎出现的比较早, ...
- UWP简单示例(三):快速开发2D游戏引擎
准备 IDE:VisualStudio 2015 Language:VB.NET/C# 图形API:Win2D MSDN教程:UWP游戏开发 游戏开发涉及哪些技术? 游戏开发是一门复杂的艺术,编码方面 ...
- AgileEAS.NET SOA 中间件平台 5.2 发布说明-包含Silverlight及报表系统的开源代码下载
一.AgileEAS.NET SOA 中间件简介 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速 ...
- C++开源大全
程序员要站在巨人的肩膀上,C++拥有丰富的开源库,这里包括:标准库.Web应用框架.人工智能.数据库.图片处理.机器学习.日志.代码分析等. 标准库 C++ Standard Library:是一系列 ...
- 值得学习的C语言开源项目
值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工 ...
随机推荐
- 【GOF23设计模式】备忘录模式
来源:http://www.bjsxt.com/ 一.[GOF23设计模式]_备忘录模式.多点备忘.事务操作.回滚数据底层架构 package com.test.memento; /** * 源发器类 ...
- 8种效果实例-jQuery anoSlide 焦点图轮播
anoslide是一款可调节效果至任意宽度大小,支持图文混合内容显示的图片轮播插件. 在线实例 单个 多个 动画延迟 自动播放 显示分页 显示标题 延迟加载 自适应高度 使用方法 <div cl ...
- JSON.stringify()、JSON.parse()和eval(string)
1.JSON.stringify()用于从一个对象解析出字符串,eg: var obj = {"name":"奔跑的蜗牛","age":&q ...
- sizzle源码分析 (2)ID 类 tag querySelectorAll 快速匹配
不是所有的选择器都需要去分词,生成相应的匹配函数,这样流程比较复杂,当浏览器具备原生的方法去匹配元素是,没有理由不优先匹配,下面看看进入Sizzle后,它是怎么优先匹配这些元素的: function ...
- 关于web软件信息安全问题资料的整理(四)
整理出了几点解决方案 1.修护漏洞.对于防护的一方来看,如果先于攻击一方发现Web系统中存在的漏洞,尽早修复它们,就可以防患于未然,获得最低的防护成本.漏洞的修复方式并不是一定要依靠修改网页代码才可以 ...
- jsom sharepoint 2010 循环获取多个list的item值
<script type="text/javascript"> // <![CDATA[ var chongdianbaId; var elm = documen ...
- OS X EI Capitan 系统 安装cocoapod
没有废话直接上步骤 (哪一步卡住了 多试几次 可能是网络不好的缘故) 1. 首先安装 home-brew 以下方法转自:http://www.cnblogs.com/lzrabbit/p/4 ...
- 2016春招Android开发实习生(网易传媒)笔试
一.单选题 1.下列不属于网络层协议的为 TCP IP IPX ICMP 2.关于activity的状态恢复,错误的是 onSaveInstanceState中,activity会自动收集恢复view ...
- UI入门指引
1. iOS学习路线: C语言:数据类型.流程控制.函数.指针.字符串.结构体.枚举.预处理: OC:面向对象.内存管理.分类.协议.Block.KVC/KVO.Foundation框架: iOS基础 ...
- mysql GROUP BY 与 ORDER BY 查询不是最新记录
转载:http://blog.csdn.net/qvbfndcwy/article/details/7200910 鉴于项目的需要,就从网上找到该文章,文章分析得很详细也很易懂,在android里,( ...