A fast, scalable, distributed game server engine/framework for C++, include the actor library, network library, can be used as a real time multiplayer game engine ( MMO RPG/MOBA ), which support C#/Lua script/ Unity3d, Cocos2dx and plan to support Unreal.
https://github.com/ketoo/NoahGameFrame/wiki
NoahGameFrame (NF) is a lightweight, fast, scalable, distributed plugin framework. NF is greatly inspired by OGRE and Bigworld.
https://github.com/ketoo/NoahGameFrame/wiki
git clone https://github.com/ketoo/NoahGameFrame.git
or
svn checkout https://github.com/ketoo/NoahGameFrame
https://github.com/ketoo/NoahGameFrame/wiki
https://github.com/ketoo/NoahGameFrame/wiki/How-to-run-the-Helloworld
https://github.com/ketoo/NoahGameFrame/wiki/How-to-debug-with-unity3d
WebSite: https://github.com/ketoo/NFUnitySDK
https://github.com/ketoo/NoahGameFrame/wiki
The NFrame project is currently available under the Apache License.
// -------------------------------------------------------------------------
// @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;
}
Create a Lua Script File, and Must Contain following functions
awake()
init()
ready_execute()
after_init()
before_shut()
shut()
Mostly like this
test_module = {}
register_module(test_module,"test_module");
function test_module.awake()
end
function test_module.init()
end
function test_module.after_init()
end
function test_module.ready_execute()
end
function test_module.before_shut()
end
function test_module.shut()
end
##Step 2
Add your LuaScriptModule Infomation into script_list.lua
ScriptList={
{tbl=nil, tblName="TestModule"},
{tbl=nil, tblName="TestModule2"},
}
load_script_file(ScriptList)
##Hot fix
Add your lua script file name on here script_reload.lua
New Feature in future: Blue Print System
Demo:
breeze
gce
moon