Game development path through two Imagine Cups

Hello, habrozhiteli! I would like to share with you my experience in creating an online game and participating in the Imagine Cup. Even in high school, I got a dream about making an online game based on the children's series of books “Cats Warriors”, popular in Russia. 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 in AS2, and the server (in the form of a PHP script) only saved data. Fighting was replaced by a fake on the constructor of Eclipse Origins, I Russified it and some mods, fixed a couple of errors and added about a dozen new ones, but soon realized that I needed to write myself ... And here I am, a first-year student: the JAVA server is spinning on the VPS, it is friends with customers written in ADOBE AIR, and ~ 3 $ from contextual advertising is dripping a day, and Microsoft begins to publish campaign comics. Wild Cats Way Online under the cut ...



Cup 2013


When I heard about the Imagine Cup, I had a prototype game with the following functionality:
  • Registration / Authorization
  • Character movement
  • Several different locations and moving between them
  • Chat with animated emoticons
  • The basis for the clan system
  • Several NPC fractions that are at odds with each other
  • Pretty good anti-mat and autobahn system
  • NPC chatting
  • PVP and PVE
  • Set of experience and leveling characters
  • The system of couples (marriages)

The role of cats was successfully performed by jaguars from AoE2, and nature tiles were taken from the RGM XP set.

Even with such a small amount of content, I had 2,000 VK subscribers, the average online at 30 players (a total of about 10,000 accounts). We entered the game mainly from computers and Android-tablets, especially the advanced ones used jailbroken devices from Apple.

But what I was most proud of was that the server did not crash and did not take up more than 70mb RAM. Although, rather, it was not a game, but a role-playing chat with the ability to kill the interlocutor.

Having learned about Cup in just a week, I was very nervous: unsuccessful attempts to add more functionality turned out to be that my partner and I did not manage to make a presentation and learn the text. All I managed to do is a short intro video to arrange a beautiful introduction and agree with a representative of the university that we will be allocated branded T-shirts + a curator.

Of course, we failed, not enchantingly, but failed.

A little about Cup itself


I participated in the St. Petersburg regional finals. The event was great: many sponsors did their job - a large room, members of the press and plenty of snacks. Nokia even set up stands and let everyone touch their Lumia. The only thing is that the Internet has fallen, and I had to raise the local server in emergency mode. Until the Cup, we had a meeting in the Microsoft office, where experienced participants gave us advice, as well as testing equipment on which:

  • I saw a brave designer that showed a Microsoft employee a layout plan for a Macbook
  • One of the workers approached us (the participants) and began to ask for a disk with “a program to type texts on a laptop”

Impressions after the first Cup'a


It’s especially cool that Cup is a launching pad not only for winners. Each participant received an invitation to a business school from Microsoft, Microsoft BizSpark, a VIP account at LinguaLeo and a quick admission to Microsoft DreamSpark; useful acquaintances and booklets of several more accelerators.

After Cup'a 1


Of course, Cup pushed me to a new round of development:
  1. Blacklist has been added to game chat
  2. Improved antimat and autobahn
  3. Added a couple of new locations
  4. Alien Attack Event added
  5. Added event alert in prediction form

This version of the game is now available to players. After I finished with 2D, I started choosing the engine for the 3D version. After several demos, I abandoned AWAY3D in favor of Unity3D and started to implement the basic commands. As time went on, the 3D client was slowly getting the functionality of the 2D version, and then I realized two things: soon ImagineCup 2014, and there is nothing special to present in the 3D version! Therefore, I started working on the development of the 3D version, until the first session of course ...

Cup 2014


As you know, history is cyclical. After learning about Cupe again in a week, I began to hastily finish the 3D client, but, of course, I did not have time to do anything new, and I had to make a demo video:



And a slightly redone presentation of that year, but ...

A little about the Cup itself


Fate loves unexpected twists. This year Microsoft did not advertise the Cup so much, and the St. Petersburg final was held as part of the Microsoft conference at the Polytechnic. The lack of advertising played a role: 8 teams were announced, 5 teams appeared, as a result - Wild Cats Online took the second place.

After Cup 2


I understood that the current version of the game is not worthy of the second place, and we were just lucky. Therefore, with new enthusiasm took up the development:


Game concept


What have I been trying to achieve all these years? Why did you try to write DisDoc? I aim to make an online game for children under 16 using seals and a universe based on a popular series of books.
Of course, the age of the players imposes a restriction on the behavior in the game and monetization. If antimat and autobahn help with the first, then for better monetization I would like to do the following:
  • Advertising on the website
  • In-game advertising
  • Character customization
  • Color chat and new smiles

If everything is clear with advertising, then where do the children get the money from, you ask? I have access to several children's chats on a popular platform with in-app purchases. It turns out that most children (especially girls) spend large amounts, just to stand out from the crowd (color nickname, color text, the ability to embed a video).

Of course, you need to realize the children's potential for creativity, so my plan is to create a small ecosystem with a single account system.

  • The game
  • Game sites
  • Forum
  • Player Tops
  • Rating of creativity (drawings, stories, crafts)
  • Image and screenshot hosting


The creation of such an ecosystem should increase the number of social ties, and, therefore, loyalty to the game.
Of course, in a children's game you can not do without a powerful character editor and social (non-combat) animations. I already planned the ability to disable the interface for more convenient filming, because videos created in the game and walking on the network are a good 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 an online game about predators widely known 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 prairies and kill the rabbits. Heir to the Impressive Title.
Screenshot

Impressive Titile is the most famous representative of the genre. Created by a group of enthusiasts, but now the game is closed, and the source code has gone into free swimming. The largest server closed last year.
Screenshot

Wolf Quest is the only professional game on the list (and the only one made on Unity3D). This is a wolf life simulator at the Minnesota Zoo, developed by his team and company Eduweb. Beautiful graphics, small gameplay and even the official server.
Screenshot

Arokai is a game in development. According to the promises of developers, the Impressive Titile should take the place. The game should have beautiful graphics, a lot of customization and a levelless system.
Screenshot


It seems like a game. 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 sharing their oceans, I will try to take a small lake of children's games ...

A couple of night 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
  • Child focus
  • Forest cats instead of humanoids
  • Character development system without levels
  • Limited inventory
  • The system of thirst and hunger
  • Small animal hunting
  • Bots as part of the real world
  • The lack of quests for the blunt murder of monsters
  • A large number of in-game ratings

Children are special gamers, and I have been trying for years to understand what they need. I hope that I understand correctly.

Work with players


Working with children will never be easy, a child is like a different kind of person: special problems, special desires ... Children's fandoms are places of gathering of dubious personalities and boiling holy wars. So that in the end the game will appeal to the players, I try to be as open as possible: I lead a group in VK, publish screenshots from the development, arrange open tests, conduct polls about innovations, and, of course, I am open to ideas and suggestions. As I already wrote, now the 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 noticed that the article has a “me” everywhere. Do I work alone? Of course not. With ideas and Events, a girl, friends and the community itself help me. 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 experience in Java development, 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 my classmates on Cupe: he is familiar with the game’s internal cuisine and often gives good advice.

Some technical details


The game server is multithreaded. Several threads per chunk (part of the game card), so as not to lose performance on synchronization and several threads with synchronizations to shared resources.


Errors during development


Of course, during the development there were many errors. When I started writing my server, I knew Java poorly and had a vague idea of ​​how the server was built. It's one thing to make a casual flash game, and another 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 precisely that I started creating a server with a small amount of knowledge, although who knows, would I start if I just started learning Java? The lack of knowledge turned into a choice of the wrong architecture: blocked sockets and Thread on the client. Later, I rewrote the server on non-blocking sockets and reduced the number of Thread to the number of locations.
A little experience at GameDev also turned into bugs, sometimes funny. For example, the ability to beat corpses and improper death checking led to flooding the server with bots and allowed players to quickly gain experience ("killing" already killed).

Jokes a minute


Of course, I understand that there is a struggle for gamers. Using my extensive connections, I am looking for potential players abroad and in other universes.



Seriously, this fandom is very popular in America and Europe.

What's next?


While players are having fun in the 2D version, I collect suggestions and develop a 3D version. After adding an acceptable battle system, I’m planning another open beta test. Of course, I would like to make an Open Source game, but this will entail significant refactoring, and, therefore, time-consuming. In the near future, the addition of a character editor, a dialogue system and new types of animals (wolves, bears, deers, hogs). And of course, testing nightly assemblies on smartphones and tablets of friends: many play the current version from mobile devices. (the tests are not very successful on non-top devices yet) I would like to remake the interface, but I will wait for the new GUI from Unity itself: now it is full of other work.

Afterword


I want to express my gratitude to the organizers of the 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 will be happy to answer questions and explain unclear points.



Footnotes



Links to Assets purchased for the game


Also popular now: