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,测试网站在压力下工 ...
随机推荐
- 用div和css样式控制页面布局
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- jQuery Sidebar 侧边栏
在线实例 左边栏 右边栏 使用方法 <div class="txt"> <p class="btn"> ...
- 赞!带进度条的 jQuery 文件拖放上传插件
jQuery File Uploader 是一个 jQuery 文件拖放上传插件,包括 Ajax 上传和进度条效果.作者编写这个插件的想法是要保持它非常简单,不像其他的插件,很多的标记,并提供一些 H ...
- Smint – 用于单页网站制作的 jQuery 导航菜单插件
Smint 是一款用于实现单页风格网站的 jQuery 导航插件,包含两部分:固定在页面顶部的精美导航条和能够在你点击的时候自动滚动到对应内容的菜单按钮.Smint 使用非常简单,只有一个参数用于设置 ...
- [js开源组件开发]network异步请求ajax的扩展
network异步请求ajax的扩展 在日常的应用中,你可能直接调用$.ajax是会有些问题的,比如说用户的重复点击,比如说我只希望它成功提交一次后就不能再提交,比如说我希望有个正在提交的loadin ...
- 【Leafletjs】7.结合echart图表展示信息
1.popup中添加图表信息 //定义marker var marker = L.marker(val.location).addTo(map); var content = '<div sty ...
- DirectX标准规定 DirectX和OpenGL的不同
DirectX标准规定 DirectX使用左手坐标系. X轴正向指向右,Y轴正向指向上,Z轴正向垂直纸面向内. 编写Direct3D应用程序时,通常只使用4×4的矩阵和1×4的行向量,相乘时行向量在前 ...
- Android开发实战(十八):Android Studio 优秀插件:GsonFormat
Android Studio 优秀插件系列: Android Studio 优秀插件(一):GsonFormat Android Studio 优秀插件(二): Parcelable Code Gen ...
- Android 手机卫士--xutils说明与下载方法使用
xUtils简介 xUtils 包含了很多实用的android工具. xUtils 最初源于Afinal框架,进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持(10种谓词) ...
- 约瑟夫环问题分析-C语言经典面试题
好久没有看有关算法的问题了,今天废了不少劲,再感叹一句:要想学好算法就要常练习,没什么捷径可走.废话不多说,如下: 问题描述:有m个人,围成一个环,编号为 0.1.2.3...m-1,从第一个人开始循 ...