The development of the game through two Imagine Cup
Hi, Habrozhiteli! I would like to share with you my experience of creating an online game and participating in the Imagine Cup. While still in high school, I had a dream to make an online game on the popular in Russia children's book series “Cats Warriors”. Year after year, step by step, I went to my dream. At first it was a 2D fighting game: all the logic was in a client written on AS2, and the server (in the form of a PHP script) only saved data. Fighting replaced the fake on the designer Eclipse Origins, I Russified it and some mods, fixed a couple of errors and added a dozen new ones, but soon I realized that I had to write myself ... And here I am, a first-year student: JAVA server runs on VPS, he is friends with Clients written on ADOBE AIR, and ~ 3 $ per day from contextual advertising, and Microsoft begins to publish campaign comics. The path of the Wild Cats Online under the cut ...
Cup 2013
When I heard about the Imagine Cup, I had a prototype of the game with the following functionality:
Registration / Authorization
Movement of characters
Several different locations and moving between them
Chat with animated emoticons
Basis for the clan system
Multiple NPC factions that are hostile to each other
Pretty good antimat system and autobahn
NPC chat in general chat
PVP and PVE
A set of experience and leveling characters
The system of couples (marriages)
The role of cats was successfully performed by jaguars from AoE2, and the tiles of nature were taken from the RGM XP set.
Even with such a small content, I had 2,000 subscribers on VK, the average online level is 30 players (about 10,000 accounts in total). We came into the game mainly from computers and Android tablets, especially the advanced ones used Apple's jailbroken devices. ')
But what I was most proud of was the fact that the server did not fall and did not take up more than 70mb of RAM. Although, rather, it was not a game, but a role-based chat with the ability to kill the interlocutor.
After learning about the Cup in just a week, I was very nervous: unsuccessful attempts to add more functionality turned out that my partner and I did not have time to make a presentation and learn the text. All I had to do was a small intro-video to arrange a nice introduction and agree with a representative of the university that we would be given branded T-shirts + curator.
Of course, we failed, not magically, but failed.
A little about the Cup itself
I participated in the St. Petersburg regional final. The event was great: a lot of sponsors did their job - a big room, the press and a lot of snacks. Nokia even installed booths and let everyone touch their Lumia. The only thing is that the Internet has fallen, and I had to raise the local server in an emergency mode. Prior to the Cup, we had a meeting at the Microsoft office, where experienced participants had given us advice, as well as testing equipment at which:
I saw a brave designer showing to a Microsoft employee a layout plan for a Macbook
One of the workers approached us (the participants) and began to ask for a CD with a “program to type texts on a laptop”
Impressions after the first Cup
Especially cool is that the Cup is a launching pad not only for the winners. Each participant received invites to the business school from Microsoft, Microsoft BizSpark, a VIP account on LinguaLeo and quick access to Microsoft DreamSpark; useful acquaintances and booklets of several more accelerators.
After Cup'a 1
Of course, the Cup pushed me to a new round of development:
A blacklist has been added to the game chat.
Improved antimat and autobahn
Added a couple of new locations
Added Event Attack Aliens
Added event notification in the form of prediction
This version of the game is now available to players. After I finished 2D, I began to choose the engine for the 3D version. After several demos, I abandoned AWAY3D in favor of Unity3D and began to implement the core commands. As time went on, the 3D client was slowly picking up the functionality of the 2D version, and then I realized two things: ImagineCup 2014 soon, and there's nothing special to present in the 3D version! Therefore, I hit upon the development of a 3D version, before the first session, of course ...
Cup 2014
As you know, history is cyclical. After learning about Cupe in a week, I quickly began to finish the 3D client, but, of course, I didn’t have time to do anything new, and I had to play with a demo:
And a slightly reworked presentation of that year, but ...
Something about the Cup
Fate loves unexpected turns. This year, Microsoft advertised the Cup not so much, and the St. Petersburg final was held at the Microsoft conference at the Polytech. The lack of advertising played a role: 8 teams were announced, 5 teams appeared, in the end, Wild Cats Online ranked second.
After Cup 2
I understood that the current version of the game is not worthy of second place, and we were just lucky. Therefore, with new enthusiasm, he took up the development of:
Added several different chats (world, location, clan, system)
Game concept
What have I tried to achieve all these years? Why tried to write Dizdok? I strive to make an online game for children under the age of 16, using the seals and the universe based on the popular book series. Of course, the age of players imposes a restriction on the behavior in the game and monetization. If antimat and autobahn helps with the first one, then for better monetization I would like to do the following:
Advertising on the website
Advertising in the game
Character customization
Color chat and new emoticons
If everything is clear with advertising, how do children get money, you ask? I have access to several children's chats on a popular platform with built-in purchases. It turns out that most of the children (especially girls) spend a lot of money just to stand out from the crowd (color nickname, color text, the ability to insert video).
Of course, you need to realize the children's potential for creativity, so in my plans to create a small ecosystem with a single system of accounts.
A game
Game sites
Forum
Player tops
Creativity rating (drawings, stories, crafts)
Hosting images and screenshots
Creating such an ecosystem should increase the number of social connections, and, therefore, loyalty to the game. Of course, in a child's game you cannot do without a powerful character editor and social (not martial) animations. I have already planned to turn off the interface for more convenient filming of videos, because the videos created in the game and walking around the network are not a bad word of mouth!
Competitors
Am I the only one so smart? Of course, there are games that can be considered my competitors. But there are no online games about animals in Runet (except for Pet'sShops in VK). So let's go over foreign competitors:
Feral Heart is a well-known online predator game in narrow circles. Although the game server is active, there have been no major changes for a long time. Invites the player to run a lion / jaguar on the prairie and kill the rabbits. Heir to Impressive Title.
Screenshot
Impressive Titile - the most famous representative of the genre. It was created by a group of enthusiasts, but now the game is closed, and the source code has gone free-floating. Last year, the largest server closed.
Screenshot
Wolf Quest is the only professional game in the list (and the only one made on Unity3D). This is a wolf life simulator at the Minnesota Zoo, developed by his team and Eduweb. Beautiful graphics, small gameplay and even the official server.
Screenshot
Arokai is a game in development. According to the promises of developers should take place Impressive Titile. The game should have beautiful graphics, a lot of customization and a smooth system.
Screenshot
Like the game is. So why do I think the market is free? There may be a million answers, but I will answer briefly: children have poor English. In the meantime, large game studios are engaged in carving their oceans, I will try to take a small lake of children's games ...
A pair of nightly screenshots
Game features
Of course, a lot of this list can be found in some games, but, I hope, to give charm and originality to each feature.
the change of night and day
Focus on children
Forest cats instead of humanoids
The system of character development without levels
Limited inventory
System of thirst and hunger
Hunting small animals
Bots as part of the real world
The lack of quests for stupid killing monsters
A large number of intragame ratings
Children are special gamers, and for more than a year now I have been trying to figure out what they need. I hope that I understand correctly.
Work with players
Working with children will never be easy, the child is like a different kind of person: special problems, special desires ... Children's fandoms are places of congestion of doubtful personalities and boiling holy wars. So that the players like the game as a result, I try to be as open as possible: I lead the group in the VC, post screenshots from the development, arrange open tests, conduct surveys on innovations and, of course, open ideas and suggestions. As I already wrote, now a 2D version of the game is available to players. The order in it is monitored by GMs, recruited from the community, and automatic antimat.
Speaking of the team ...
Probably, many have noticed that the “I” is everywhere in the article. Do I work alone? Of course not. With ideas and events help me girl, friends and the community itself. I purchased models for the environment in Asset Stror, ​​and I downloaded the cat model on the Internet and hired an animator to improve it. The goal of creation is not only a game, but also a Java development experience, so I try to write all the code myself, and not use ready-made components. Sometimes it goes sideways, but the curator from the department, experienced comrades and classmates always come to the rescue. I speak with one of the classmates at Cupe: he is familiar with the inner kitchen of the game and often gives up good advice.
Some technical details
Server game multi-threaded. Several threads per chunk (part of the game card), so as not to lose performance on synchronization and several streams with synchronization to shared resources.
Errors during development
Of course, there were a lot of mistakes in the development process. When I started writing my server, I knew Java badly and vaguely imagined how the server works. It's one thing to make a casual flash-game, and another is to plan a network application. To increase my knowledge, I decided to start by reading the Lineage server. But, of course, I did not succeed. Then I decided to write a simple chat and dance from it, just increasing the functionality. The main mistake was the fact that I started creating a server with a small amount of knowledge, although who knows, would I start if I just began to learn Java? The lack of knowledge turned into the choice of the wrong architecture: blocked sockets and Thread to the client. Later I rewrote the server to non-blocking sockets and reduced the number of Thread to the number of locations. A little experience in GameDev also turned into bugs, sometimes funny. For example, the ability to beat corpses and improper death checks led to flooding the server with bots and allowed players to quickly gain experience (“killing” those already killed).
Jokes minute
Of course, I understand that there is a struggle for gamers. Using my extensive connections, I look for potential players abroad and in other universes.
Seriously, this fandom is very popular in America and Europe.
What's next?
While the players are having fun in the 2D version, I collect offers and develop the 3D version. After adding an acceptable battle system, I plan another open beta test. Of course, I would like to make the game Open Source, but this would entail significant refactoring, and, therefore, time costs. In the near future we will add an editor of characters, a system of dialogues and new types of animals (wolves, bears, deer, boars). And of course, testing nightly assemblies on smartphones and tablets of friends: many people play the current version from mobile devices. (the tests are not very successful on non-top devices) I would like to redo the interface, but I will wait for the new GUI from Unity itself: now there is a lot of other work.
Afterword
I want to thank the organizers of Cup: they give a chance to learn how to present themselves and their projects, a chance to change the world and meet interesting people. And of course, I wish success to those who decide to participate in the Imagine Cup 2015 - it's worth it. I am happy to answer questions and clarify unclear points.