From compiler, game engine to game console - this is how I make independent games

introduction

  Developing and producing games by myself has been a dream since childhood. Especially after being exposed to the World Editor of Warcraft 3 for a long time, I also have a special interest in game engines and development tools. After I came into contact with programming when I was a student, the extension of my dream began to spread. I was not satisfied with using various programming languages ​​​​for development. I began to maintain a programming language project I liked, Yuescript, for writing game business logic. Because I was studying graphics and rewriting it as a practice project Cocos2d-x has the Dora SSR game engine. After working, because of my love for game consoles, I began to cooperate with partners to develop a free and open programmable game console device - Jixiang Machine, realizing the ultimate Digital Freedom of my gaming dream.

The fun and challenges of game scripting languages

Programming language playground!

  The learning process of various new programming languages ​​is full of fun, and you will also feel different programming concepts and programming ideas when you come into contact with different language tools. In order to learn to make games, I also developed my own programming preference for scripting complex and changeable gameplay, that is, using a programming language that is as concise and expressive as possible to write business logic that is easy to change. The Yuescript language open source project that can be translated into Lua language for execution is my product to meet this need. Later, as I encountered more game development scenarios using my own Dora SSR game engine, I introduced Teal (a language that adds static type checking capabilities to the Lua language) and Typescript (to further enhance the code editor) for the Dora SSR open source game engine. languages ​​for prompts and code inspections), TSX and XML (languages ​​that provide descriptive code for componentized development), and more. Each scripting language can take advantage of specific game development scenarios and can be seamlessly interoperable by translating to the same Lua language that is used in the final run. Not only based on the extension of the Lua language, the Dora SSR game engine project is also trying to use the WASM virtual machine to support more diverse languages ​​​​that can be used for game script programming, such as Rust and C++ and Go that are ready to be supported, taking into account performance and engine. Runtime scalability.

The road to innovation in game engines

Make games anytime, anywhere, on any device!

  When it comes to game engines, everyone always thinks of high-performance and high-quality graphics rendering to build complex game scenes. In fact, as an independent game developer or a game production enthusiast, not everyone is qualified to pursue the production ability of 3A games (they may lack the ability to make money). I think many 2D games or games with 2D mixed with 3D effects can also express very creative and unique game works. Moreover, it is best that the terminals that can run the games you create are unrestricted. Furthermore, perhaps the terminals and operating systems that can be used to develop games can also be unrestricted. Therefore, the Dora SSR open source game engine project goal is to provide game development enthusiasts with a convenient and easy-to-use environment and even a game development IDE on as many devices as possible.

  Game development has always been a daily part of my personal life. Even if I only have fragmented time and random equipment that can be used for game development and running, I would like to use it when I have time to write two lines of game code in fragments, or debug a game function and turn it into a game. A more casual and comfortable leisure and entertainment activity.

  So I also tried to build a Web IDE server for game development on Dora SSR that is built-in when the game engine is running. It can be accessed through a Web browser through other devices that are convenient for input, and can be directly used on any terminal device. Experience writing, running and debugging game program code directly. At the same time, users can get visual prompt services in the code editor and use other visual tools for game development and resource management. At present, Dora SSR has the ability to develop games on Windows, macOS, iOS, Android, and multiple Linux distributions through hard work.

Moving towards the dream of a free and open game console

Open source? Both software and hardware are required!

  At this point, I feel that the pursuit of free and open experience in game development capabilities is far from over. As an old player who likes all kinds of handheld consoles, I feel deeply dissatisfied after experiencing many commercial products of domestic open source handheld consoles. Playing games with handheld game consoles is still focusing on hardware parameters and appearance design to provide a differentiated experience. The handheld console I look forward to is not just about the experience of playing games, but also a handheld game console that can be used to freely develop, run and even A device for publishing homebrew games. Many handheld console manufacturers have their own business models and closed loops for making profits, so they will not allow hardware devices to gain too much programmable customization capabilities. So I worked with partners who were also passionate about hardware to research and build a completely free and open handheld device. And try to provide the ability to modularize and replace the computing core, peripherals and appearance of the machine (so that technology is no longer based on shell replacement). So there was another project called "Lucky Machine".

Lucky machine + Dora SSR game engine

Not only handheld consoles and mobile programming devices, "Jixiang Machine" is also a peripheral development board that provides GPIO + SPI + I2C interfaces

Return to the original intention of game creation

The open source independent game project "Lingshu Romance" being developed by the community

  So after struggling for a long time, is our game finally finished? The answer is of course that I did it, but not completely. In 2020, on the eve of the big generative AI model becoming completely popular, we imagined such a game story about future AI. In the future, people's material needs have been fully satisfied, and the only purpose of life is to play games. Entertainment, and by collecting interactive data that reflects human creativity and wisdom during the game process and uses it as training material for AI. The value of life is all distributed and assessed by the future bank (data bank) by evaluating the quality and value of the intelligent data created by people in game activities. The AI ​​trained by the final data will help people complete all material production, from the upbringing of individual human beings to social governance. The plot of the game will explore what kind of stories humans will have under such a setting background. In the end, the values ​​output by the game are that people should be born to be the subject of changing the world, rather than being transformed objects that can only adapt to the current situation. It also echoes what my partners and I have been pursuing in reality. If we don’t want to be defined by everything we are born with, we can redefine everything through our own initiative.

  If you are interested in the programming languages, game engines, game consoles or open source independent game projects we are working on, you are welcome to Star our warehouse or join our Q group to chat. The current projects are still in the stage of gradual improvement, but several projects will integrate and verify each other and iterate. By following us, you can also see in time how our projects are done and the current progress.

project address

Game development and handheld communication Q group: 512620381

Fellow chicken "open sourced" deepin-IDE and finally achieved bootstrapping! Good guy, Tencent has really turned Switch into a "thinking learning machine" Tencent Cloud's April 8 failure review and situation explanation RustDesk remote desktop startup reconstruction Web client WeChat's open source terminal database based on SQLite WCDB ushered in a major upgrade TIOBE April list: PHP fell to an all-time low, Fabrice Bellard, the father of FFmpeg, released the audio compression tool TSAC , Google released a large code model, CodeGemma , is it going to kill you? It’s so good that it’s open source - open source picture & poster editor tool
{{o.name}}
{{m.name}}

Guess you like

Origin my.oschina.net/u/4925410/blog/11049342