Skip to content

Commit

Permalink
Readme update
Browse files Browse the repository at this point in the history
  • Loading branch information
RChehowski committed Nov 20, 2018
1 parent 245f667 commit c68c4b3
Showing 1 changed file with 20 additions and 20 deletions.
40 changes: 20 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ Vizor Infraworld
================

[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Maintainability](https://api.codeclimate.com/v1/badges/d8740022fdc1bbc8277b/maintainability)](https://codeclimate.com/github/vizor-games/InfraworldRuntime/maintainability)

Welcome to the Infraworld source code!

Expand All @@ -12,11 +13,10 @@ Infraworld is a solution that enables [Unreal Engine 4](https://www.unrealengine

Infraworld is a fast, robust and cross platform.
It fits any stage of development: either prototyping or production. Saving a tons of your team's time, you need to write your gRPC wrappers by hand no more.
A special converter utility will do it for you, producing high quality, debuggable and multi-threaded code, gaining lowest possible overhead to your game logic thread.
You may also work with either generated or shipped with gRPC C++ classes in your own way, since the Infraworld Runtime adds all required headers and wires all required libraries automatically.
[A special converter utility](https://github.com/vizor-games/infraworld-cornerstone) will do it for you, producing high quality, debuggable and multi-threaded code, gaining lowest possible overhead to your game logic thread.
You may also work with either generated or shipped with gRPC C functions and C++ classes in your own way, since the Infraworld Runtime adds all required headers and wires all required libraries.

This repo contains source code of an Unreal Engine 4 plugin, that enables code, generated by the [Cornerstone converter](https://github.com/vizor-games/infraworld-cornerstone) to work.
Also, you may want to use a [Protobuild utility](https://github.com/vizor-games/infraworld-protobuild) to automate cross-language gRPC wrapper generation.
Also, you may want to use a [protobuild](https://github.com/vizor-games/infraworld-protobuild) utility to automate cross-language gRPC wrapper generation.


Getting started
Expand All @@ -25,27 +25,27 @@ Getting started
##### Building gRPC support

At the first step, you need to build gRPC runtime libraries.
Just run `Setup.sh` for Linux, `Setup.bat` for Windows or `Setup.command` for macOS. It uses gRPC branch `v1.3.x`.
Just run `Setup.sh` for Linux, `Setup.bat` for Windows or `Setup.command` for macOS (please don't use `Setup.sh` on macOS, because these build pipelines are completely different!). OR you may want to use our sweet [pre-compiled binaries](releases) to avoid manual building and save our planet from carbon emission disaster! The runtime uses gRPC branch `v1.15.x`.

* For Windows, we recommend you to use [chocolatey](https://chocolatey.org) to install packages into your system.
**Note** that you do need all these programs in your system's `PATH` ([See how to edit PATH on Windows](https://www.computerhope.com/issues/ch000549.htm)):
* [Git VCS](https://git-scm.com/download/win)
* Visual Studio 2015 with VC++ tools v140 installed
* [Visual Studio 2017](https://visualstudio.microsoft.com/downloads/) with VC++ tools v141 installed
* [CMake](https://cmake.org) is used to generate a Visual Studio solution from the `CMakeLists.txt` provided with gRPC
* [Strawberry perl 64bit version](http://strawberryperl.com)
* [Strawberry perl](http://strawberryperl.com) 64bit version
* [NASM](https://www.nasm.us)
* [Golang](https://golang.org/doc/install)
* For any distribution of Linux and for macOS systems you need:
* git
* automake
* autoconf
* libtool
* automake, autoconf and libtool
* make
* strip
* clang and clang++
* go

**Note** that you may need to edit `VSVARSALL`, `DEVENV_PATH` and `CMAKE_FOLDER` variables in the bat file, because these paths may not be portable.
* [Unreal Engine 4.20 installed](https://github.com/EpicGames/UnrealEngine/tree/4.20), additionally you need to `export UE_ROOT=/path/to/root/ue4/directory`, because you need UE4 to build GRPC for linux.
* For macOS:
* git
* xCode 10.0+
* go

**Note** that required programs for Linux and MacOS systems are being checked in run-time.

Expand All @@ -55,29 +55,29 @@ The build process requires an access to the Internet.

##### Installing the plugin
Just copy the resulting folder into the your project’s Plugins folder (create it if you don’t have one).
Then after that project is being opened, a dialog box, telling that the plugin is need to be compiled should appear.
Then, after that project is being opened, a dialog box, telling that the plugin is need to be compiled should appear.

Confirm the dialog by clicking `Yes`.


##### Building and the converter
Please look into the [Connerstone documentation](https://github.com/vizor-games/infraworld-cornerstone) for details.
Please take a look at the [Connerstone documentation](https://github.com/vizor-games/infraworld-cornerstone) for details.

##### Using generated code.
Please look into the [example project](InfraworldExample) for tutorial.
Please take a look at the [example project](https://drive.google.com/open?id=13EZzP_9033vBC7VzJf9LFrygg42LHaOW) for tutorial.

Running the example project
===========================

You should copy [built plugin's folder](InfraworldRuntime) into [InfraworldExample's Plugins folder](InfraworldExample/Plugins).
Then just open InfraworldExample.uproject. Server's code is in [InfraworldExample/Server](InfraworldExample/Server) folder.
You are required to install dependencies using pip and requirements.txt file.
You should copy built plugin's folder into `InfraworldExample/Plugins` folder.
Then just open `InfraworldExample.uproject`. Server code is in `InfraworldExample/Server` folder.
You are required to install dependencies using `pip` and `requirements.txt` file.

Debugging
=========

Since the plugin itself is an open source software, you may want to debug it or add some extra functionality.
Since it is distributed as an Unreal Engine plugin, you can add it into your own game or into an [example project](InfraworldExample),
Since it is distributed as an Unreal Engine plugin, you can add it into your own game
and then generate either Visual Studio, or XCode or CMake solution.

Contribution
Expand Down

0 comments on commit c68c4b3

Please sign in to comment.