首先贴出 Github地址
然后博客地址

相比于市面上其他的著名游戏引擎,例如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引擎开源了的更多相关文章

  1. 开源分布式计算引擎 & 开源搜索引擎 Iveely 0.5.0 为大数据而生

    Iveely Computing 产生背景 08年的时候,我开始接触搜索引擎,当时遇到的第一个难题就是大数据实时并发处理,当时实验室的机器我们可以随便用,至少二三十台机器,可以,却没有程序可以将这些机 ...

  2. 强大的模板引擎开源软件NVelocity

    背景知识NVelocity(http://sourceforge.net/projects/nvelocity )是从java编写的Velocity移植的.net版本,是java界超强的模版系统,.n ...

  3. Aviator 表达式求值引擎开源框架

    简介¶ Aviator是一个高性能.轻量级的java语言实现的表达式求值引擎,主要用于各种表达式的动态求值.现在已经有很多开源可用的java表达式求值引擎,为什么还需要Avaitor呢? Aviato ...

  4. .net开源工作流引擎ccflow

    关于济南驰骋信息技术有限公司的.net开源工作流引擎 驰骋工作流引擎,工作流程管理系统:简称ccflow,驰骋一体化解决方案简称ccport. ccflow是济南驰骋信息技术有限公司向社会提供的一款1 ...

  5. 基于camunda开源流程引擎如何实现会签及会签原理解析

    一.背景 市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.由于jbpm.activiti.flowable这几个流程引擎出现的比较早, ...

  6. UWP简单示例(三):快速开发2D游戏引擎

    准备 IDE:VisualStudio 2015 Language:VB.NET/C# 图形API:Win2D MSDN教程:UWP游戏开发 游戏开发涉及哪些技术? 游戏开发是一门复杂的艺术,编码方面 ...

  7. AgileEAS.NET SOA 中间件平台 5.2 发布说明-包含Silverlight及报表系统的开源代码下载

    一.AgileEAS.NET SOA 中间件简介      AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速 ...

  8. C++开源大全

    程序员要站在巨人的肩膀上,C++拥有丰富的开源库,这里包括:标准库.Web应用框架.人工智能.数据库.图片处理.机器学习.日志.代码分析等. 标准库 C++ Standard Library:是一系列 ...

  9. 值得学习的C语言开源项目

    值得学习的C语言开源项目   - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工 ...

随机推荐

  1. javascript 对象初探 (四)--- 内建对象之旅之Array

     我们不要去纠结神马是内建对象,神马是內建构造器.到后来你们便会发现其实她们都是对象. Array()是一个构建数组的內建构造器函数: var arr = new Array(); 与下面的是等效的: ...

  2. 判断scrollview是否滚动到了底部

    调用函数判断如下:if(getScrollY() + getHeight() >=  computeVerticalScrollRange()){        Log.d(TAG," ...

  3. Android 项目框架

  4. iOS定时器、延迟执行

    1.通用方式(并不是实时调用并且会卡顿): // 一般用于更新一些非界面上的数据 [NSTimer scheduledTimerWithTimeInterval:时间间隔 target:self se ...

  5. 浅谈TabLayout(ViewPager+Tab联动)

    google发布了的Android Support Design库中提供了TabLayout 通过TabLayout+ViewPager实现导航栏效果,点击Tab ,ViewPager跟随变化,滑动V ...

  6. 深入.net(文件操作)

    自己进行数据的“持久化操作”: ----- 数据持久化技术:程序还运行过程中,所有的“中间数据”(加工或处理过程中数据)都存放在内存中,但内存的特点是掉电后数据无法保存,所以需要有种技术能够将存放在内 ...

  7. 【代码笔记】iOS-带索引的tableView

    一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...

  8. 【转】iOS应用崩溃日志分析

    作为一名应用开发者,你是否有过如下经历?   为确保你的应用正确无误,在将其提交到应用商店之前,你必定进行了大量的测试工作.它在你的设备上也运行得很好,但是,上了应用商店后,还是有用户抱怨会闪退 ! ...

  9. JS实现悬浮移动窗口(悬浮广告)的特效

    页面加载完成之后向页面插入窗口,之后向窗口插入关闭按钮,使用setInterval()函数触发moves()函数开始动画   js方法: 复制代码代码如下: <!DOCTYPE HTML PUB ...

  10. asp.net mvc 应用Bundle(捆绑和微小)压缩技术 启用 BundleConfig 配置web.config

    从MVC4开始,我们就发现,项目中对Global.asax进行了优化,将原来在MVC3中使用的代码移到了 [App_Start]文件夹下,而Global.asax只负责初始化.其中的BundleCon ...