1

Topic: Architecture of the client application (article)

History I first Some time ago worked in one game company over which the German supervised. Creation of games was not the main business of this German. It received the main incomes from sale of cosmetics and from delivery of commercial real estate in rent. Presence of the game company was a method to be selected among the familiar businessmen. The game company of the German developed 3 types of games: Flesh-games for mobile phones with support of technology J2ME. Learning games for the portable games console of Nintendo DS. The European publishers, and buyers - parents were customers of these games, whose children had problems with training on mathematics, English or German to languages. Subdividing of games for Nintendo DS let out many games. Though they also did not become AAA-tajtlami, but paid back the development and made small profit. Games for Nintendo Wii platform. In the last command there was I. The command should develop game for little girls on a children's brand. The brand was known enough in Germany (it was the main market) and in a number of other European countries: in France and in Great Britain. From the very beginning the general outline of game was clear only. The small fairy walks on a garden, meets the girlfriends (other fairies), talks to them and invites to a party. Preparation for this party occupies the considerable part of game: the fairy decorates a garden, collects apples, prepares from them a celebratory pie. The party transits cheerfully: the fairy and its girlfriends play musical instruments, and then - dance. It was supposed that game will represent sequence of minigames. Each minigame is devoted a certain subject: to a garden ornament, collection of apples, preparation of a celebratory pie, execution of music and dances. Despite that subjects of minigames were clear, their details were not clear.  in a command was not. First over game worked two programmers and one 3D-modeller. When I joined a command, was not the worked game design (or the person for it answering), platforms on which it would be possible to make game. For the second day after my employment the owner of the company approached to me and asked: "When game will be ready?". By then I had an experience in the game industry and, according to this experience, development of such simple game by a command from 3-4 persons took about one year. So I also told that is required somewhere about one year. The German answered me it: "Such period is not present. Game should be made in 3 months". A few going nuts, I asked: "And why in three months?" On what the German answered me: "I will have a birthday, and it is necessary, that to my birthday game has been made". Further

2

Re: Architecture of the client application (article)

3

Re: Architecture of the client application (article)

Hello, Cyril Lebedev, you wrote: > Some time ago I worked in one game company over which the German supervised. Creation of games was not the main business of this German. It received the main incomes from sale of cosmetics and from delivery of commercial real estate in rent. Presence of the game company was a method to be selected among the familiar businessmen.... > the German answered me it: "Such period is not present. Game should be made in 3 months". A few going nuts, I asked: "And why in three months?" On what the German answered me: "I will have a birthday, and it is necessary, that to my birthday game has been made". What fine character! And I thought, only in most  the domestic companies such it is possible to meet. Well it is fine. At me a question. What for triplex architecture cut more small regarding representation (complexity?), added indirect  in architecture (a nonsense!) Also renamed a business layer? Than it generally helped? In my opinion, complication out of the blue. Not, I understand that so it is possible to look at architecture "more close", but at the same time at it too steadfastly.

4

Re: Architecture of the client application (article)

Hello, neFormal, you wrote: F> what for triplex architecture cut more small regarding representation (complexity?), and from article it is not clear? I tried to explain on examples. If it is not clear, where - in what example? F> added indirect  in architecture (a nonsense!) the architecture is based on some base. Why you consider, what it is impossible so to do or it is not necessary? F> also renamed a business layer? The business layer (at least, at Fowler) contains not only business functions, but also business objects. Here business objects are transferred on data model level. Well and why you consider, what, for example, compilation concerns a business layer? The editor can exist and without it. F> than it generally helped? For example, helped that we create different applications on the same template and  already written libraries.

5

Re: Architecture of the client application (article)

Hello, Cyril Lebedev, you wrote: F>> what for triplex architecture cut more small regarding representation (complexity?), > And from article it is not clear? I tried to explain on examples. If it is not clear, where - in what example? Examples answer a question "that?" Or "as?", but do not answer a question "what for?" F>> added indirect  in architecture (a nonsense!) > the Architecture is based on some base. Why you consider, what it is impossible so to do or it is not necessary? Indirect libraries,  classes do not influence application programming. They can be used at any level. F>> also renamed a business layer? > the Business layer (at least, at Fowler) contains not only business functions, but also business objects. Here business objects are transferred on data model level. In sense, you to the logician supposed in objects which are written to a DB? > Well and why you consider, what, for example, compilation concerns a business layer? The editor can exist and without it. I did not speak about compilation. For me it one or the other: - the utility from "infrastructure". If conversion from one format in another happens imperceptibly at saving -  from a representation layer. If the result is given to the user in charge, for example. The editor can exist even without loading and saving or without adding of additional emitters of particles, or, on the contrary, only through adding... More shortly, it is a lot of extreme measures. And I define business logic, as implementation of the requirements advanced at compilation of the job for a software. Within the limits of an example with the editor  is all operations with a state of the editor (adjustment of emitters, a state of windows, ). F>> than it generally helped? > For example, helped that we create different applications on the same template and  already written libraries. Mm... So nevertheless it do?. _. I simply do not understand... We admit there is at me a three-level architecture. If I pass on described 5-urovnevuju what  I will receive? How to me them to note and estimate?

6

Re: Architecture of the client application (article)

Hello, neFormal, you wrote: F> examples answer a question "that?" Or "as?", but do not answer a question "what for?" At each layer (abstraction layer) the duties, and also - the used templates of designing, the approaches and techniques for detection of classes. F> indirect libraries,  classes do not influence application programming. They can be used at any level. In this case, it was more convenient to us to select  classes in a separate layer because they are used in remaining layers too. Well and indirect libraries from architecture you will not throw out. If in game the unit responsible for simulation physicists you should or use physx, or havok,  bullet is required, or to write him.

7

Re: Architecture of the client application (article)

Hello, neFormal, you wrote: F> I did not speak about compilation. F> for me it one or the other: F> - the utility from "infrastructure". If conversion from one format in another happens imperceptibly at saving F> -  from a representation layer. If the result is given to the user in charge, for example. The compiler should have access to data model since it transforms this data to other format. Hence, it should be allocated either above data model, or flush with it. But compiler layout at data model level too is somehow illogical, because the data model can manage and without it. On the other hand, the compiler should not be at interoperability layer with the user or at editing level since it does not depend in any way on it. Therefore the compiler also is allocated at level of services. F> the editor can exist even without loading and saving or without adding of additional emitters of particles, or, on the contrary, only through adding... More shortly, it is a lot of extreme measures. Without loading and saving the editor is necessary to nobody. F> and I define business logic, as implementation of the requirements advanced at compilation of the job for a software. This abstract rule. From my point of view, the editor is responsible for change of data model by the user. I.e. the data can change and by means of the exterior program. But the editor allows to make it to the user. And level of services allows to render to the user (to the person or the indirect program) services on the basis of data model without depositing in it of changes. F> mm... So nevertheless it do?. _. F> I simply do not understand... We admit there is at me a three-level architecture. If I pass on described 5-urovnevuju what  I will receive? How to me them to note and estimate? I do not suggest to pass to five-level architecture in any situation. I only wrote that by development of client applications (preferentially, editors) the five-level architecture can be used. What advantages? At each level the templates of designing and the approaches to detection of classes are used.

8

Re: Architecture of the client application (article)

Hello, Cyril Lebedev, you wrote: > the Compiler should have access to data model since it transforms this data to other format. It is level of representation > On the other hand, the compiler should not be at interoperability layer with the user or at editing level since it does not depend in any way on it. Therefore the compiler also is allocated at level of services. And it on anybody should not depend. This data view. Pure f-tsija conversions. F>> the editor can exist even without loading and saving or without adding of additional emitters of particles, or, on the contrary, only through adding... More shortly, it is a lot of extreme measures. > Without loading and saving the editor is necessary to nobody. Too courageous announcement. Because such editors are. And they can transfer a state on a network. Or even only to make a screenshot of the fortune. > This abstract rule. From my point of view, the editor is responsible for change of data model by the user. I.e. the data can change and by means of the exterior program. But the editor allows to make it to the user. And level of services allows to render to the user (to the person or the indirect program) services on the basis of data model without depositing in it of changes. In my opinion, in such circuit  on a network it becomes impossible. F>> mm... So nevertheless it do?. _. F>> I simply do not understand... We admit there is at me a three-level architecture. If I pass on described 5-urovnevuju what  I will receive? How to me them to note and estimate? > I do not suggest to pass to five-level architecture in any situation. I only wrote that by development of client applications (preferentially, editors) the five-level architecture can be used. What advantages? At each level the templates of designing and the approaches to detection of classes are used. Clearly, clearly.

9

Re: Architecture of the client application (article)

Hello, neFormal, you wrote: >> the Compiler should have access to data model since it transforms this data to other format. F> it is representation level What criteria for acceptance of such decision? >> On the other hand, the compiler should not be at interoperability layer with the user or at editing level since it does not depend in any way on it. Therefore the compiler also is allocated at level of services. F> and it on anybody should not depend. This data view. Pure f-tsija conversions. The compiler uses data model. Therefore it depends on it. >> without loading and saving the editor is necessary to nobody. F> too courageous announcement. Because such editors are. And they can transfer a state on a network. Or even only to make a screenshot of the fortune. If to understand loading and saving, as data reading from a local file or data writing in a local file, yes. But the data can be stored both on the server, and in a DB. It is important, that the user had possibility to save operation that then to use it somewhere or that could fulfill it not for one edit session. >> This abstract rule. From my point of view, the editor is responsible for change of data model by the user. I.e. the data can change and by means of the exterior program. But the editor allows to make it to the user. And level of services allows to render to the user (to the person or the indirect program) services on the basis of data model without depositing in it of changes. F> in my opinion, in such circuit  on a network it becomes impossible. Why? Look an example about the editor of particles. There there were communications with the server.

10

Re: Architecture of the client application (article)

Hello, Cyril Lebedev, you wrote: >>> the Compiler should have access to data model since it transforms this data to other format. F>> it is level of representation > What criteria for acceptance of such decision? As a matter of fact the behavior anything especially does not differ from  pages for the web application. Therefore I consider their similar. >>> This abstract rule. From my point of view, the editor is responsible for change of data model by the user. I.e. the data can change and by means of the exterior program. But the editor allows to make it to the user. And level of services allows to render to the user (to the person or the indirect program) services on the basis of data model without depositing in it of changes. F>> in my opinion, in such circuit  on a network it becomes impossible. > Why? Look an example about the editor of particles. There there were communications with the server. I about  - simultaneous editing of one essence. Though can and it is real. Simply phrase "on the basis of data model without depositing in it of changes" confuses services a little.

11

Re: Architecture of the client application (article)

Hello, neFormal, you wrote: >> What criteria for acceptance of such decision? F> as a matter of fact the behavior anything especially does not differ from  pages for the web application. F> therefore I consider their similar. It not criterion, and your estimations: "does not differ" and "I consider similar". The criterion is on the basis of what such estimations become.

12

Re: Architecture of the client application (article)

Hello, Cyril Lebedev, you wrote: > Further In a subject: https://vimeo.com/131633177