NoahGameFrame

本文介绍了NoahGameFrame(NF),它是轻量级、快速且可扩展的分布式插件框架,受OGRE和Bigworld启发。具有易于使用、跨平台等特征,还给出了教程、文档链接。说明了依赖、支持的编译器,以及不同环境下的构建安装方法,还提及相关项目和教程示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://github.com/ketoo/NoahGameFrame

什么是NoahGameFrame?

NoahGameFrame(NF)是一个轻量级,快速,可扩展的分布式插件框架。NF受到OGRE和Bigworld的极大启发。

特征

  • 易于使用,面向界面的设计
  • 一个可扩展的插件框架,使您的应用程序快速,轻松地运行
  • 一种干净,整洁的设计和稳定的发动机,已用于多种商业产品
  • 高性能演员模型(由Theron提供)
  • 事件和属性驱动,使您的业务清晰易懂
  • 基于标准C ++开发,确保跨平台支持
  • 一个现有的C ++和C#游戏客户端,用于快速开发
  • 跨平台支持

教程 - 英语

https://github.com/ketoo/NoahGameFrame/wiki

文件 - 英语

https://github.com/ketoo/NoahGameFrame/wiki/Documentation

Tutorial--中文

教程http//bbs.noahframe.com/forum.php?mod = forumdisplay&fid = 39

常见问题或讨论

常见问题http//blog.noahframe.com/?p = 229

Unity3D客户端

U3D客户端

建筑

应用架构:

应用架构

服务器架构

服务器架构

获取来源:

git clone https://github.com/ketoo/NoahGameFrame.git

要么

svn checkout https://github.com/ketoo/NoahGameFrame

依赖

  • libevent 2.0.22
  • easylogging ++ 9.80
  • mysql ++ 3.2.2
  • 谷歌protobuf 3.6
  • Redis的-CPP-客户端
  • 塞隆6.00.01

如果你不能构建依赖关系,那么请运行以下的CMDS来设置环境:

  • sudo apt-get g ++
  • sudo apt-get cmake
  • sudo apt-get install automake
  • sudo apt-get install zip解压缩

支持的编译器

  • GCC> = 4.8(在Ubuntu 15.04中测试
  • MSVC> = VS2015(在Win7 / 10中测试

构建和安装

MSVC> = 2015

  1. Git拉所有来源
  2. 打开解决方案:NoahFrame.sln,构建FileProcessTool项目
  3. 运行GenerateConfigXML.bat以生成配置文件
  4. 打开解决方案:NoahFrame.sln
  5. 构建解决方案(如果构建失败,请重新构建(不重建))
  6. 通过_Out / rund.bat运行二进制文件

CMake ----请使用管理员(或sudo)来执行以下操作:

  1. Git拉所有来源
  2. 安装cmake [> = 3.1]请选择安装选项:为所有用户添加CMake到系统PATH并重新启动计算机
  3. 安装VS2015或gcc [> = 4.8]
  4. 运行Dependencies / build_dep.sh
  5. 运行install4cmake.batinstall4cmake.sh来构建NF
  6. 通过_Out / rund.bat_Out / rund.sh运行二进制文件

JAVA项目

网站:https: //github.com/NFGameTeam/NFrame-java

C#项目

网站:https: //github.com/ketoo/NFrame

Tutorial:

01-Hello world, add a module

// -------------------------------------------------------------------------
//    @FileName      	:    HelloWorld1.h
//    @Author           :    ketoo
//    @Date             :    2014-05-01 08:51
//    @Module           :   HelloWorld1
//
// -------------------------------------------------------------------------

#ifndef NFC_HELLO_WORLD1_H
#define NFC_HELLO_WORLD1_H

#include "NFComm/NFPluginModule/NFIPluginManager.h"

class HelloWorld1
    : public NFIModule
{
public:
    HelloWorld1(NFIPluginManager* p)
    {
        pPluginManager = p;
    }

    virtual bool Init();
    virtual bool AfterInit();

    virtual bool Execute();

    virtual bool BeforeShut();
    virtual bool Shut();

protected:

};

#endif


#include "HelloWorld1.h"

bool HelloWorld1::Init()
{
    // Use this for initialization
	
    std::cout << "Hello, world1, Init" << std::endl;

    return true;
}

bool HelloWorld1::AfterInit()
{
    // AfterInit is called after Init
	
    std::cout << "Hello, world1, AfterInit" << std::endl;

    return true;
}

bool HelloWorld1::Execute()
{
    // Execute is called once per frame
	
    //std::cout << "Hello, world1, Execute" << std::endl;

    return true;
}

bool HelloWorld1::BeforeShut()
{
    //before final
	
    std::cout << "Hello, world1, BeforeShut" << std::endl;

    return true;
}

bool HelloWorld1::Shut()
{
    //final
	
    std::cout << "Hello, world1, Shut" << std::endl;

    return true;
}

02-Hello world, test data driver

  • how to use the world's most advanced data engine

03-Hello world, test heartbeat and event system

  • how to use the synchronous events

04-Hello actor, test actor model(async event system)

  • how to use the asynchronous events
  • use multiple cpus to get high performance

About The Author


Amazing open source projects:

breeze

gce

  • Auther: nousxiong
  • GitHub: https://github.com/nousxiong/gce
  • Description: The Game Communication Environment (GCE) is an actor model framework for online game development.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值