Home  >  Article  >  Backend Development  >  What is it like to do PHP development in a game company?

What is it like to do PHP development in a game company?

无忌哥哥
无忌哥哥Original
2018-07-12 09:32:1814791browse

Graduation season is about to begin again. Many fresh graduates have already started looking for jobs, and some have already found jobs. As the capital market is undergoing rapid changes, the game industry is an industry that many people aspire to. Back then, I heard that a certain friend of mine was working in a game company with a monthly salary of 10,000 to 20,000 yuan. It was very hard for me to make a side dish of more than 1,000 yuan a month at that time. I'm envious, but I heard that he is a C programmer doing 3D game development, but I don't know C. I only know PHP and other WEB development languages, so I can only hope for a salary. But not long after, web games exploded, and I finally had the opportunity to get into the gaming industry. So for those who are interested in entering the game industry, are there any opportunities for those who only know PHP to enter the game industry? Is the gaming industry a good place to be? What kind of work does the game industry do? Don't be anxious, let me follow you one by one.

Question 1: I only know PHP development, can I enter the game industry?

The answer is yes. There are various technologies used in the game industry, and PHP can also be used to make games. The first game company I joined back then used PHP as its backend for its products. When I got the SVN permission to check out the code after I joined the company, I looked at it and sighed in my mind: It turns out that PHP can still be played like this!

Without further ado, let’s take a look at what PHP is used to do in game companies:

Write server-side logic (PHP performance is not high, and server-side writing is rarely done in PHP nowadays. But some people still use PHP to write, and some H5 games are also written in PHP, and there are even frameworks like swool to improve performance)

Write game interfaces, such as front-end JS and AS3 connection code, web servers Use nginx for load balancing.

Write the game management background.

Write the official website of the game

Game-related system development, such as game official account management backend.

In my experience, writing the data management backend of a game in a game company involves more work. The needs we often encounter are like this:

Our game is about to be launched, but there is no way to see the registration data. I don’t know what the conversion rate and payment data are. Please write it down for me.

Our game needs payment rate reports, registration conversion rate reports, advertising and revenue reports. You can write a function for me to make these reports and show them to me.

Our game needs to send items to players. You can create a background function for me to send items to players.

Our players have complained. We cannot directly use a QQ number as a customer service account. We need a system to manage it. You can write a customer service system for me.

Some of our players are posting messages about people in the chat channel. Please block them and build a chat monitoring system.

We will hold an event next week. The planning needs to know certain data. Please make a report for me. In order to prevent related needs in the future, you can make me an event management module.

We are going to connect to Tencent Games. Please help me write the front-end interface and pass the data to the client. . . . .

There are many teams in the same company, and their technologies are not shared. Each team can do the above requirements. The data that every planning or operation needs to look at is similar, and even operations don’t know what data to look at. Moreover, the server-side development languages ​​and frameworks used by each team are not necessarily the same. This team is a JAVA backend, that team is a C backend, another is Erlang flow, and some are written in Python, the server side Development languages ​​are diverse and not unified. If you want to use the backend written by this team in another team, you will have to make a big bottom-level change.

Because the game is divided into servers, there is another problem: one server has its own backend, and some have one set of backend code. There is data for each server, and there is also need to have data from the background of the whole region server. This background is a platform that aggregates the background data of all servers, which also involves the issue of data communication between the backgrounds... ...PHP programmers will fall into this whirlpool of demand. What's even more frightening is that when you change a company, all the above things may have to be done again, because the architectures written by developers from different companies are all different. no the same.

Let’s talk about what technologies PHPer of game companies should learn to use:

Web server software: nginx, apache

Development language: php, javascript, html, html5, css ,shell

Database: mysql, mongodb

Cache component: memcache, redis

Operating system: linux

Communication protocol: http, socket, xml, json

Having said so much, as a PHPer of a game company, I really hope to have something like this: a unified backend system that can smoothly and conveniently connect to the game, ready to use, and suitable for server-side written in any language. . It can have a unified data report and data definition, which is in line with the usage habits of the game industry. Don't tell me, this thing really does exist. I organized a dozen PHPers and spent a long time writing a set of game management backends specifically designed to address the above issues. In fact, the code has been circulated and used in many companies, but none of them It must be a complete version, or there is no targeted development for versatility.

The above is the detailed content of What is it like to do PHP development in a game company?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn