Good day, users habrabra. In response to the initiative to develop the
REFLECT game, I wanted to express a few thoughts about what is happening at the moment, as the developers themselves said that they advocate healthy criticism.
I learned about the project at lunch on Sunday, when the 1st day of development was already over, and the 2nd one started. Having looked at the current version, I did not immediately understand what the idea of ​​the game was, so I had to return to the main page and get a grasp of what was planned to do.
I will explain. At that time, the result was a square, with a rectangle revolving around it, controlled by a mouse, and wasd moving a square (player) around the territory with a background.
')
Looking into the list of developers, I was surprised that such a serious team had gathered. I thought that the development of such a game, judging by the current result, was a difficult task, and I went to look at the sources in github.
And here I want to go to the essence of my message. This is well described
here (stop writing classes).
In the source, I saw a huge number of files, folders. Everything is divided into classes, most of which took a few lines. For such an early degree of readiness of the game there were already a lot of them, because of this, it was problematic to deal with the current implementation.
In my opinion, the developers were fascinated by decomposition and created classes in incredible quantities. In general - these are good skills (within reasonable limits). But I am convinced that the approach used for developing the game in the shortest possible time “just for fun” is not suitable.
It seems to me that it would be more correct and, perhaps, more interesting to approach as soon as possible to make a working demo of the project - rough sketches. Then it will be immediately clear what needs to be implemented, and where problems may arise. And only after that you can do some refactoring and go into details.
Not to be unfounded, that evening, inspired by the idea of ​​the developers, I decided to go my own way in the development. And somewhere in 3 hours, distracted by household chores and their children, we managed to implement such a
thing .
I want to draw attention to the fact that in some places there are frank save-pastes. And this was done partly on purpose, since all of this would have been refactored in half an hour, but during development I didn’t bother with beauty, and the process was really “for fun” for me. In addition, I did not bother with the background, did not do the main menu of the game and the like.
I sincerely regret that I did not have time to finish the reduction of life when the projectile hit the “body” and the reflection from the shield.
As a result, I will make a small summary - do not complicate your life, do not produce the essence at the very beginning of development and bring the project to the state of minimum playability as soon as possible.