Giter Site home page Giter Site logo

jiekezhu / nframe Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ketoo/nframe

0.0 2.0 0.0 6.22 MB

A fast, scalable, distributed game server framework for C++, include actor library, network library,can be used as a real time multiplayer game engine ( MMO RPG ) .

Home Page: http://blog.noahframe.com/

License: Apache License 2.0

C# 87.69% Protocol Buffer 3.57% XSLT 5.60% Batchfile 0.06% Makefile 0.63% C 0.17% C++ 1.89% Smalltalk 0.19% Lua 0.20%

nframe's Introduction

NoahGameFrame

Join the chat at https://gitter.im/ketoo/NoahGameFrame

#####交流QQ群:341159815

What is it?

NF is a lightweight, fast, scalable, distributed plugin framework.Greatly inspired by OGRE and Bigworld.

Features

  • Easy to use interface oriented design minimise the effort
  • Extensible plugin framework makes getting your application running is quick and simple
  • Clean, uncluttered design, stable engine used in several commercial products
  • Using the actor model has very high performance(by Theron)
  • Based on the event-driven and attribute-driver can make business more clearly and easy to maintenance
  • Based on the standard c + + development, cross-platform support
  • With existing c++, c# game client for rapid development
  • Cross-platform

FAQ

FAQ / FAQ

Introduction

English PDF / English PPT

中文简体 PDF / 中文简体 PPT

Architecture

App Architecture:

App Architecture

Server Architecture

Server Architecture

Event Driver:

Event Driver

Get the Sources:

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

or

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

Dependencies

Supported Compilers

  • MSVC >= VS2013 (Tested in Win7/10)

Build and Install

Windows[MSVC >= 2013]

  1. Git pull all source
  2. Run install.bat
  3. Open the solution: NoahFrame.sln
  4. Build the solution
  5. Run _Out/Server/NFDataCfg/Tool/FileProcess.exe to generate configuration files
  6. Run the binary file by _Out/Server/Debug/Run.bat

JAVA Project

WebSite: https://github.com/NFGameTeam/NFrame-java

C# Project

WebSite: https://github.com/ketoo/NFrame

Documents & Tutorial

English

中文简体

License

The NFrame project is currently available under the Apache License.

Tutorial:

// -------------------------------------------------------------------------
//    @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 NFILogicModule
{
public:
    HelloWorld1(NFIPluginManager* p)
    {
        pPluginManager = p;
    }

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

    virtual bool Execute(const float fLasFrametime, const float fStartedTime);

    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( const float fLasFrametime, const float fStartedTime )
{
    // 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;
}

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

  • how to use the synchronous events

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

nframe's People

Contributors

ketoo avatar flyicegood avatar zhangf911 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.