Game Engine/GUI Design and Implementation-sequence, engine gui
I wrote "Design and Implementation of Embedded gui ftk" a few years ago, and I stopped updating without writing a few articles. At that time, I studied the GUI of MicroWindows, X Window, DirectFB, GTK + and Android, and wrote the embedded gui ftk. I thought I was familiar with the GUI, however, it is hard to write. In addition, with the rapid development of hardware, I feel that the practical value of FTK is not great, and my energy has switched to the Development of CANTK, so I have not written any more.
Over the past few years, I have implemented two more guis. One is CANTK, which is implemented based on the CANVAS element of html5. it is already open-source for the GUI of mobile devices. The other is WTK, which was recently completed. It is also implemented based on the HTML5 CANVAS Element and is mainly used for PC software development, currently, JQueryUI has been replaced by WTK in GameBuilder/AppBuilder, which will be open-source soon.
After implementing a few complete GUI systems, things that were previously hard to find become cheerful. For example, if I used to implement a text-and-text control and tree-like control in FTK, I felt that the complexity was beyond my capability. Therefore, FTK did not have such a control. It takes only two days to implement a text-and-text control in CANTK, and one day to implement a tree control in WTK. There is no skill in writing a program. It's just that practice is perfect. If you write more and practice more, new ideas will naturally come out.
Some may not believe it. I will write a GUI later! It is CANTK-NATIVE, based on OpenGL C language development. CANTK + GameBuilder/AppBuilder is a powerful tool for developing HTML5 applications and games. I like it very much. I will use them as long as they have interfaces, because their development efficiency is very high. However, there are still some performance gaps between HTML5 apps and NATIVE apps, so I decided to develop a GUI CANTK-NATIVE that is faster than the NATIVE GUI. In this way, the operation efficiency of CANTK-NATIVE and the development efficiency of GameBuilder/AppBuilder will be a perfect combination.
Why do we need to write "Design and Implementation of game engines/guis:
Some may ask, it is clearly the design and implementation of the game engine/GUI, but the previous section only mentioned the GUI and did not mention the game engine. In fact, CANTK is not just a GUI system. It integrates the physical engine, sound processing, skeleton animation, and particle system. It is a complete 2D game engine. Although some code is open source code by a third party, I also spent some time researching it. Many of them are doing very well and I hope to write my learning experience. Therefore, we named the question "Design and Implementation of game engines/guis".