Skip to content

F8 Framework是一个优雅,轻量,符合直觉的基于Unity引擎的游戏框架,组件围绕F8一键启动,框架整体遵循以极少的使用成本开发游戏。

License

Notifications You must be signed in to change notification settings

TippingGame/F8Framework

Repository files navigation

F8Framework

F8 Framework

license license license Unity Version Platform

F8 框架初衷:希望自己点击 F8,就能开始制作游戏,不想多余的事。

F8 Framework original intention: Just click F8 and start making the game, don't want to be redundant.

简介

F8 Framework是一个优雅,轻量,符合直觉的基于Unity引擎的游戏框架,组件围绕F8一键启动,不用繁琐的启动配置最低的心智负担,框架整体遵循以极少的使用成本开发游戏。

支持版本

Unity 2021、2022、2023、6000
构建可支持:Win / Android / iOS / Mac / Linux / WebGL / 微信小游戏(构建文档,Jenkins集成

文档快速预览 - 1分钟

----------可选功能----------

----------核心功能----------

  • 1. 配置表(内置) - 使用Excel作为配置表,兼顾高性能、高适应性。字段类型分为:基础类型、容器类型,可自由组合类型。点击F8生成的 Excel 二进制文件和C#类,点击F7实时读取 Excel 并替换数据,无需频繁导表,可多端运行时读写Excel。
  • 2. 资源加载(内置) - 编辑器下:点击F8自动生成资产索引/AB名称,自动区分不同平台,清理多余AB和文件夹,Editor模式下减少开发周期。运行时:同步/异步加载单个资产,展开文件夹或同一AB下所有资产,自动判断是 Resources / AssetBundle 资产,加载Remote远程资产,获取加载进度,同步打断异步加载。你可以这样加载AssetBundle:单个资产单个AB、指定文件夹名称(文件夹第一层的AB)、设置多个资产为同一AB名(指定任意资产名)
  • 3. 模块中心(内置) - 模块中心可以获取所有模块的实例,延迟加载策略,自由控制生命周期。
  • 4. 日志管理(内置) - 打印日志,写入文件,上报错误。
  • 5. 声音管理(内置) - 声音的播放/暂停/停止/进度控制,音量控制/保存,全局暂停/恢复。Audio分为三大类:背景音乐、人声、特效声
  • 6. 事件管理(内置) - 发送消息事件,事件监听,防止消息死循环,自动释放事件。
  • 7. 时间管理(内置) - 提供Timer、FrameTimer两种计时器,暂停/恢复,自动释放Timer。
  • 8. 补间动画(内置) - 播放/终止动画,自由组合动画,有旋转/位移/缩放/渐变/填充/震动动画,可根据UI的相对布局位移动画。
  • 9. 引用池管理(内置) - 引用池管理,C# 对象,入池/取出/回收/清空。
  • 10. 游戏对象池(内置) - 游戏对象池管理,GameObject 预加载池化,生成/销毁/延迟销毁,生命周期事件监听。
  • 11. 本地化管理(内置) - 本地化 Text / TextMeshPro / Image / RawImage / SpriteRenderer / Renderer / Audio / Timeline 等组件,使用 Excel 作为多语言翻译表。
  • 12. 有限状态机(内置) - 自定义有限状态机 FSMState / FSMSwitch,创建/切换状态/轮询/销毁。
  • 13. 下载管理器(内置) - 支持localhost与http地址文件的下载,可本地写入、监听下载进度、断点续传,支持动态添加、移除、暂停、恢复下载。
  • 14. UI界面管理(内置) - 处理界面加载、打开、关闭、查询、层级控制、自定义动画、自动获取组件索引。UI界面分为三大类:普通UI、模态弹窗、非模态弹窗,内置各种常用组件。
  • 15. 输入系统管理(内置) - 使用同一套代码,通过自定义输入设备,适配多平台,可热切换输入设备,或同时启用多套输入设备。
  • 16. 游戏流程管理(内置) - 自定义流程节点 ProcedureNode,控制游戏流程的,添加/运行/轮询/移除。
  • 17. 本地数据存储(内置) - 本地数据存储/读取。
  • 18. SDK接入管理(内置) - 与原生平台交互,接入多个平台或者渠道SDK,登录/退出/切换/支付/视频广告/退出游戏/原生Toast。
  • 19. 网络连接与通信(内置) - 使用 KCP / TCP / WebSocket 网络通讯协议建立长连接通道,支持Client端和Server端。

----------第三方库(注意冲突)----------

  • Excel.dll:读/写 Excel(已修改缓存地址为Application.persistentDataPath)
  • I18N.CJK.dll,I18N.dll,I18N.MidEast.dll,I18N.Other.dll,I18N.Rare.dll,I18N.West.dll:只为读/写 Excel
  • ICSharpCode.SharpZipLib:压缩/解压缩
  • Mirror(内置):KCP:Reliable UDP
  • Mirror(内置):Telepathy:TCP
  • Mirror(内置):Websockets:Websockets
  • LitJson:序列化/反序列化 JSON(已修改字典Key支持byte,short,int,long,float,double,string 类型,增加Unity常用类型:Type,Vector2,Vector3,Vector4,Quaternion,GameObject,Transform,Color,Color32,Bounds,Rect,RectOffset,LayerMask,Vector2Int,Vector3Int,RangeInt,BoundsInt,修复DateTime精度丢失的问题)

使用步骤

推荐导入方式(可修改源码或更新)

安装git,使用git命令拉取:

git clone https://github.com/TippingGame/F8Framework.git

或者直接下载完整包,放入工程里。

也可以

在 Unity 包管理器中,使用 Git URL 添加 F8 核心包。

  1. 打开 Unity Editor

  2. 点击菜单的 Window 项,再点击 Package Manager 子项

  3. 点击左上角 + 号,选择 Add Package from git URL

  4. 输入 https://github.com/TippingGame/F8Framework.git,请确认导入成功

更新版本号说明,如:1.0.0,第一位代表大版本,第二位代表框架的使用有修改,第三位代表修订版本。(注意:确保更新框架前工程没有报错,更新后点击F8即可)

新手指南

视频教程

社区

上架游戏

脑光(TapTap / WebGL 消除异世界(微信小游戏 / 4399 待定 待定

赞助

(可备注留言你的主页链接)

image

感谢赞助
夜猫子 ¥8.88 浮梦 ¥6.6 C*r ¥20 .*. ¥20 N*o ¥18.8

Introduction

The F8 Framework is an elegant, lightweight, and intuitive game framework based on the Unity engine. Centered around the F8 one-click startup, it eliminates tedious configuration and minimizes cognitive load, adhering to the principle of minimal development overhead for game creation.

Supported Versions

Unity 2021, 2022, 2023, 6000
Build targets: Win / Android / iOS / Mac / Linux / WebGL / WeChat Mini Games(Build Documentation, Jenkins Integration

Quick Overview – 1 Minute

----------Optional Features----------

----------Core Features----------

----------Third-Party Libraries (Watch for Conflicts)----------

  • Excel.dll:Read/write Excel (cache path modified to Application.persistentDataPath).
  • I18N.CJK.dll,I18N.dll,I18N.MidEast.dll,I18N.Other.dll,I18N.Rare.dll,I18N.West.dll:Only for Read/Write Excel
  • ICSharpCode.SharpZipLib:Compression/Decompression
  • Mirror(built in):KCP:Reliable UDP
  • Mirror(built in):Telepathy:TCP
  • Mirror(built in):Websockets:Websockets
  • LitJson:JSON serialization/deserialization (modified to support dictionary keys of byte, short, int, long, float, double, and string types; added support for commonly used Unity types: Type, Vector2, Vector3, Vector4, Quaternion, GameObject, Transform, Color, Color32, Bounds, Rect, RectOffset, LayerMask, Vector2Int, Vector3Int, RangeInt, BoundsInt; fixed the DateTime precision loss issue)

Setup

Recommended (Editable Source/Updates)

Install Git, then clone:

git clone https://github.com/TippingGame/F8Framework.git

Or download the package manually.

Alternative

Add via Unity Package Manager:

  1. Open Unity EditorWindowPackage Manager

  2. Click +Add Package from git URL

  3. Enter: https://github.com/TippingGame/F8Framework.git

Versioning: MAJOR.MINOR.PATCH (e.g., 1.0.0). Ensure no errors before updating, then press F8.

Beginner’s Guide

Tutorials

Community

About

F8 Framework是一个优雅,轻量,符合直觉的基于Unity引擎的游戏框架,组件围绕F8一键启动,框架整体遵循以极少的使用成本开发游戏。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages