Beyond held the 7th study session "Game development's [Great feeling] - 'Game API development' that can be used in social game development"!
table of contents
My name is Ito and I am an infrastructure engineer and a member of the web marketing team.
We held our first study session in 2017!
Notice: [7th] Beyond study session will be held! | Beyond Co., Ltd.
This time, we rented the venue from Aiming Co., Ltd. , which is well known for Sword and Magic Logres
As always, I would like to introduce a little bit of the contents!
First, here is a list of this session.
<tr>Company name Speaker name Session title
Clover Lab Co., Ltd. | Mr. Hatanaka | API development with Go and where to use it |
Beyond Co., Ltd. | Bandai | API development using Phalcon |
Aiming Co., Ltd. | Mr. Uemori | Rails-API Way in Aiming |
API development with Go and where to use it
Session by Mr. Hatanaka of Clover Lab.
To be honest, the part you explained this time is actually up on Github lol
Click here for this time's materials.
API development with Go and where to use it
It seems that all of Wonder Crown's backend is written in the Go language.
Wonder Crown ~Seven Continents and Forgotten Islands~
Social game development is shifting from small-scale development to large-scale development.
This is where the Go language comes in handy.
- static tidying language
- simple
- multi-platform
There are other reasons as well, but they are as follows.
static tidying language
The Go language is a static clean-up language with fixed types, making
it ideal for large-scale development where many people can use it.
simple
The Go language is simple, so it's easy to learn and
the code will be similar no matter who writes it.
multi-platform
creating an environment where you can see the same thing
whether it's Windows, Mac, or Linux This is a time when Windows fans and Mac fans can become friends.
Even though I'm explaining it, there are original materials, so please take a look there! !
API development with Go and where to use it
It was a very easy-to-understand presentation because the execution results were displayed on the terminal on the spot
API development using Phalcon
Session by Bandai from our company Beyond.
This was an introduction to Phalcon, an extremely fast framework for PHP.
First, he introduced a list of typical PHP frameworks and their speed, but
here are the top three.
- High Performance PHP Framework - Phalcon Framework
- Fast PHP framework | Ice framework
- Tipsy, an MVW PHP micro framework
Laravel and fuelphp which are (or should be) commonly used, are at the bottom in terms of speed, and
there was a saying that ``those who use Laravel are spoiled'' Sorry, Laravel users.
The installation method is different from other frameworks;
you can install it using yum rather than from github.
We will use a method of loading php from a so-called shared library file.
Since it is made of C binary, it is extremely fast.
ORM also has fast internal processing, but it seems to be a little weak at interacting with the DB, but
it seems to have speed that makes up for it.
It has a multi-module configuration,
making it possible to separate the front end and back end, for example, or easily separate the source code for each API version.
Although each installation is different, it has a directory structure similar to other MVC frameworks, and
there seems to be no learning costs associated with transferring from other frameworks.
He also said that if you can get an extremely fast framework by spending the learning cost, it's worth the cost.
So everyone, let's switch to Phalcon!
Phalcon articles are gradually coming up on our blog, so please take a look!
Phalcon | Beyond Co., Ltd.
Rails-API Way in Aiming
The last session was by Mr. Uemori from Aiming.
This is a story about "Aiming's style".
Aiming apparently decides the language for each project.
It seems that almost all the client side is developed using Unity.
By the way, the blockbuster game Logres Ancient Goddess is cocos-2dx, and
that's because Unity started making it when it was barely 2D compatible.
Also, parts that require real-time performance often use C++ or C#, and
it seems that the Web API part often uses Ruby (Rails) or Python.
By the way, logging is done in Python.
Aiming seems to often use RPC rather than REST API.
This is because there are not many benefits to being resource-oriented, and the communication from client to WebAPI is wrapped and abstracted, so the
endpoint side is not used consciously.
Define the protocol
The communication protocol between the WebAPI and the real-time server/client was created in-house, and
each environment (client side, real-time server side, API server side) had to implement it independently. I'm preventing it.
If you were to create your own, you would need to share various things. .
Not only development, but also document generation and test client generation have become easier, which is a nice touch! That's why.
Using Rails
It seems that Rails itself is largely an ecosystem, and even if it is difficult to implement,
it will be easier if you use existing gems or refer to it.
has a well-written architecture and a wealth of best practices, so
it's easy to deal with a variety of issues.
However, the performance may be inferior, so I guess that's a trade-off.
summary
It's obvious, but I was reminded once again that different companies develop products using different methods.
By looking at the various methods of various companies, you can choose which ones are better to incorporate and which ones are not.
We sometimes have students come to our study sessions, so I wonder how they feel about them.
I mean, Aiming's office is really clean. . .
See you in the 8th episode!