I continue to talk about my startup to create a browser game. Reading the
last three articles, one can see some way from the raw idea, through an attempt to create a prototype, and I hope now to a less solid concept of the game. The truth is that in the field of graphics there are still problems - I can’t find an intelligent designer-artist of computer graphics, but alas I don’t know how to do it myself. But who is ready to close their eyes to this and try my beta version - you are
welcome, you can play here , and to someone my experience can be useful.
Game concept
I'll start with the description, which can be seen on the main page of the game:
The game "Cyberset" is a free browser-based real-time strategy. Getting into this world as a laborer, without property and experience, you have three paths of development: an artisan, a merchant or a knight. Each profession has its own unique advantages. An artisan can set up a daily routine for himself and perform various tasks without your presence. You only need to monitor its characteristics from time to time and manage sales. A merchant can only produce products with your participation, but he can both sell and buy goods by entering into long-term deals. A knight can use a weapon, which gives him a significant advantage to attack and allows you to take money from others. For each profession has its own organization: Shop craftsmen, the Guild of Merchants, the Order of the Knights. Organizations allow you to choose your leader and resist aggressive players together. As a master of artisans or patrician merchants guilds - you can apply to the Order of Knights. Then, for a fee, they can provide you with their protection. And the Master of the Order of the Knights can lead his knights into battle and control the lucrative cities.
Or maybe you want to try to play for two, three, and more characters? And this is possible here. Unlike many other browser games, it's allowed to create clones (you only need to register one more member under a different nickname). And then you can even build your own empire with minimal tracking of each of the characters: the artisan works automatically according to the daily routine, the merchant, having concluded long-term deals, automatically transports goods and gets his profit and it remains only to strengthen his order of knights.
')
But that's not all. Having proposed new items and methods of their production on the forum, you will see them in the game quite soon. Thus, you yourself can improve the detail of the game world, making it more rich and interesting.
Chronology of implementation, which is taken into account since last time
And then I will try to explain why this is so and not otherwise. From the very beginning, the game was conceived as being quite simple by logic, without frills, without graphics, let's say at least that the gameplay would appear. I wanted something akin to chess only as part of an economic and somewhat social strategy. From here there were my first ideas that programmers could even write bots to play a similar game according to formal (read closed mathematical) rules. These first ideas were inspired by the Virtonomics browser game and a bit of the good old Civilization.
But over time, I realized that the desire to have bots for a game is my subconscious feeling of insufficient automation in these and similar games themselves. And since I am a programmer, I wanted to be able to write a bot for the game. But having understood it, and having communicated with potential players of my game - I revised the concept. Bots are secondary - maybe if there are interested people, I will highlight some API, and provide it outside. But the main thing is to give players a little more automation with a fairly simple formal game.
Speaking a little mathematically, any game is a search for a certain state by a game character, in which a certain criterion will be maximized under given constraints. The intellectual component of the game is that the player applies various strategies for finding this maximum, for example, maximizing profits. But whether or not it is intended, modern browser games do not provide an opportunity to deal only with this intellectual component. And often in the game there is a need for “clicking” - i.e. performing quite monotonous, daily activities. Perhaps this is due to the fact that these games are trying to monetize and make a profit, providing the player with the means to relieve him of monotonous actions. In this case, it is quite pitiable, and my attempt to create my own game, this desire, will get rid of such primitive monetization with a loss of the growth of the need for intelligence in the game.
Secondly , I abandoned the turn-based strategy in favor of real time. It’s just awful that everyone in the same Virtonomics game needs to wait a day to recalculate the state of the game. Such an approach is simply unnatural. Some have put forward such an argument for the need for such a long recount of the state of the game. They say this allows the player to make his move and leave, say, to work. But in reality, this is just a good mine for a bad game. The player must play intellectually so much and when he wants. He came to play and it is not the business of the developers to regulate the player with the time frames associated with the synchronization of steps. In addition, for the step-by-step was a number of technical arguments from users (users who think they understand something in programming). I just don’t want to discuss them here and dismiss them as not wealthy - the game can and should be done in real time.
But then how to cope with the desire to turn off and rest from the game? I also played another “Virtonomics” antipode of the “I, Feudal” game. The need for permanent online there is caused by the fear of losing completely, and people really miss sleep for days, weeks and then quit the game because of problems in reality. I also did not need such an antipode. And I think I found that middle ground with a fairly simple idea. (maybe other developers know it, but again, the desire to monitor and similar ideas are buried).
In the “Cyberset” game, the character has characteristics (Health / Energy / Vigor / Intellect), so they change only in the course of the character’s performing actions. As soon as the queue of no more than 10 tasks is over, the character stops changing. Thus, while the player plays and fills the queue of tasks, real-time occurs. Finished playing, stopped the game and I am sure that you will come from work, and the character will be the same. And how to put the execution of tasks at the time while left for work? And here the player's ability to predict comes into play. The easiest way to study the conditions of the game world and set 10 tasks at once, suggesting what will happen to the character. But what if you learn to plan not for a few hours ahead, but a day, a week, so that the character lives autonomously in the game? And it is possible - you make a uniform schedule for an artisan for a day and every 24 minutes (game day) he does the same thing. Trading also occurs automatically and without your presence, if you enter into long-term contracts. Those. then there is a second level of the game for, let's say, advanced players. Immediately I will state that it is quite difficult to make a stable self-balancing work of several characters, but it is theoretically possible.
Third , the natural market. In the last article I described what I mean by the natural market, and that I have not yet seen a single game with this. The main change in the concept is now - I abandoned the idea of ​​a barter market - it is too difficult for the players, and the barter market is possible only with an extremely narrow assortment (for example, in the game “I, Feudal”, where players change only five types of resources). But then the question arose, where did the money supply come from? If it is issued through fictitious demand, then again we will get an artificial market. Then an interesting idea occurred to me. Money must be provided with something. In reality, gold or the state’s obligation to always receive goods for money. But what is really appreciated by players playing browser games? And then I understood - time is money, and vice versa. There was also such a fantastic film, where people earned and paid the time. So, in the game “Cyberset”, everything is exactly like that - money is given out for $ 1 per second spent on the creation of goods (except for the case of automated production by an artisan). And at the end of production, you get the goods to the warehouse and money. It would seem a bit strange. But consider that this is such a new social system, where everyone is allowed to print money depending on the time spent on production. And then the one that does not have a natural market begins - you buy, sell, rob the time of another player who earned more - he is in the top of the best players.
Fourth , the military component. I had long doubted whether to introduce the military component into the game, the polls showed that the opinion was divided - someone thought it would improve the game, someone thought it would worsen. The main news here is to be military operations :) The need for a military / power component is necessary in terms of socializing the team of players. Nothing makes you talk and play together like a feeling of insecurity. In a pure economic game, it is impossible to achieve a feeling of insecurity, all that is possible there is to have the fear go bankrupt. But economists are, as a rule, individuals, working together, by definition, they cannot and must follow the slogan “company of a company is a wolf”. And it is quite another thing when a person succumbs to the strong and is afraid of taking time by force. Here there is a powerful socialization, and various effects of real society. At the moment, the attacks in the game are quite simple. Knights can use weapons, which gives them an advantage. And artisans or merchants can work together to pay for the protection of other knights. Between themselves, knights can fight for control of cities, fighting for their honor and glory, which translates into the amount of money that merchants and artisans want to give to them either voluntarily or through the use of force.
Yes, with the introduction of the military component there is a slight contradiction with what I said at the beginning. “The player must play intellectually so much and when he wants” contradicts “turn off and rest from the game.” After all, when you play in a team, your online is necessary for the possibility of mass battles, and you left at that moment. There is a problem of synchronization of the actions of people who are in different places and at different times. And here arises an argument that I heard against the introduction of hostilities - “you have come and you have already been destroyed.”
In the game "Cyberset" the following solution was found. During the attack, you can lose only money. Health and other characteristics are lost so as to leave a minimum. Therefore, when a player returns to online, he has a chance to cure his character. Those. battles are taken away from him just add. time to recover the character and he loses money. Which by the way, encourages not to keep a lot of cash, but to buy goods for them. And also to look for the best protection for yourself - protecting the order of knights, and is where this protection is.
But who will be controlled by whom power money or money force - the game will show.
Fifth , some little things. Added tips to the game explaining to the player how to get started and how. In fact, the previous prototype did not have this, and I was faced with numerous questions - “what to do in the game?”. I hope with the presence of these minimum tips and explanations in the game, the nature of the questions will change to "How? For what? And how is better? ”, And already on the forum the players themselves (or at first I) will be able to give answers to this.
You can also notice that the game has acquired minimal graphics - the map and the blank for sprites in the style of "there could be your drawing." Therefore, according to the schedule, please do not criticize, I understand that this is necessary, without this, not this, etc. I simply cannot do it myself - there will be an artist, there will be extra funds, there will be donations - we will decide, now there is no technology issue here. As they say every whim for your money.
And the last , the invention of new items. I wrote about this in the last article:
Regular games have closed, pre-calculated logic. In all known strategies there is a technology tree, and one way or another pre-programmed progress of the player’s character development. It only depends on the player whether he will play above average or not. Interest in such games often depends on how well the character development logic is balanced.
In the “Cyberset” game, it seems to me, a revolutionary step forward has been taken - the player himself develops the technological lines. After that, he rather quickly approves his innovations with a moderator (at the moment with me, but I hope someday there will be some trusted players with special rights). After that, the “world is changing” - what was previously difficult to do, it becomes easier or the appearance of new products increases the demand for others. Thus, everything is in the hands of the player - the internal logic of development is improved by the players.
And as the polls showed, this is the strongest side of the game being described. This has not disappeared, but I have withdrawn the interface for introducing new items from the player. Now I propose to describe this on the forum and taking into account all the wishes, I myself will enter your ideas. The mechanism of such inventions was also revised. Now, to create one or another object, one or another level of a certain construction is needed. Items still have different methods of production and require the creation of raw materials, tools and other components. But now they are also tied to the characteristics of the character: to introduce a conditional object with the name of the characteristic, for example, "Health" - and then it remains to invent ways to increase this characteristic. Thus, the production line has become more complete, and allows you to change the characteristics of the character.
The program side of the issue
Here I will not go into details, but just a little praise, but I ask you not to do the same in response :)
Until last summer - I did not look towards the development of technology related to the web. Yes, in fact, that was he rather poorly developed technologically. Now, choosing the languages ​​and technologies for creating the game, I was completely convinced that my choice was quite correct:
1. ASP.NET + C # - there are simply no competitors, all other languages ​​and ways to create web pages are the last century. For a long time I tried to understand why I think so, and found the main argument that other languages ​​do not have two and a half serious tools. Half is a developed text editor with intellectual substitution, search for definitions of variables, functions, automatic formatting, etc. Here you can argue - but others do not satisfy me. More seriously begins with the fact that in other approaches there is no so-called. projects, where for editing and compilation you collect a single project from a pile of files. And the most serious is the absence of a debugger.
2. JavaScript - on the client side, it was nowhere without it. I had to study a little, although the language has significant problems with object ideology and, in fact,
there is no debugger, which is rather poor debugging tools. But again, there are simply no alternatives. But it is good that Visual Studio allows you to include scripts in projects and also provides a text editor.
3. Graphics are supposed using Canvas. Again, I came to the conclusion that pure HTML was not enough, and there were simply no other alternatives for simple graphics.
4. MySQL is the most controversial issue. For me it was an experiment, I work on the program on MS SQL Server. MySQL is clearly inferior to MS SQL. But I found critical moments in only one. MySQL - how the SQL server still evolve and evolve. Sufficiently modest ability to monitor the load, build plans for execution.
But the main thing is not the ability to create tasks that work on a timer. That is why I had to write a game server for playing C #, which periodically launches SQL procedures for execution. (removed, because it turned out that there are so-called events in MySQL, it is not very obvious - but there are).
And a small survey on whether in the right direction I went through all the points outlined in your opinion.