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,测试网站在压力下工 ...
随机推荐
- javascript 对象初探 (四)--- 内建对象之旅之Array
我们不要去纠结神马是内建对象,神马是內建构造器.到后来你们便会发现其实她们都是对象. Array()是一个构建数组的內建构造器函数: var arr = new Array(); 与下面的是等效的: ...
- 判断scrollview是否滚动到了底部
调用函数判断如下:if(getScrollY() + getHeight() >= computeVerticalScrollRange()){ Log.d(TAG," ...
- Android 项目框架
- iOS定时器、延迟执行
1.通用方式(并不是实时调用并且会卡顿): // 一般用于更新一些非界面上的数据 [NSTimer scheduledTimerWithTimeInterval:时间间隔 target:self se ...
- 浅谈TabLayout(ViewPager+Tab联动)
google发布了的Android Support Design库中提供了TabLayout 通过TabLayout+ViewPager实现导航栏效果,点击Tab ,ViewPager跟随变化,滑动V ...
- 深入.net(文件操作)
自己进行数据的“持久化操作”: ----- 数据持久化技术:程序还运行过程中,所有的“中间数据”(加工或处理过程中数据)都存放在内存中,但内存的特点是掉电后数据无法保存,所以需要有种技术能够将存放在内 ...
- 【代码笔记】iOS-带索引的tableView
一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...
- 【转】iOS应用崩溃日志分析
作为一名应用开发者,你是否有过如下经历? 为确保你的应用正确无误,在将其提交到应用商店之前,你必定进行了大量的测试工作.它在你的设备上也运行得很好,但是,上了应用商店后,还是有用户抱怨会闪退 ! ...
- JS实现悬浮移动窗口(悬浮广告)的特效
页面加载完成之后向页面插入窗口,之后向窗口插入关闭按钮,使用setInterval()函数触发moves()函数开始动画 js方法: 复制代码代码如下: <!DOCTYPE HTML PUB ...
- asp.net mvc 应用Bundle(捆绑和微小)压缩技术 启用 BundleConfig 配置web.config
从MVC4开始,我们就发现,项目中对Global.asax进行了优化,将原来在MVC3中使用的代码移到了 [App_Start]文件夹下,而Global.asax只负责初始化.其中的BundleCon ...