当前位置:网站首页>Gameframework - Preface
Gameframework - Preface
2022-07-21 17:02:00 【baixiaofei567】
Preface
When I was a sophomore, I saw the recommendation of group friends to learn this framework , I also read some blogs of Yanyu , But at that time, I didn't have the ability to learn this framework . Until now, I have found a satisfactory internship , The basic knowledge is also relatively complete . So I hope I can learn gf The framework improves the idea of some game development and grasps the realization of some functions .
Game Framework brief introduction
Game Framework It's based on Unity Game framework of engine , It mainly encapsulates the common modules in the process of game development , Standardize the development process to a great extent 、 Speed up development and ensure product quality .
Apply to Unity 5.3、Unity 5.4、Unity 5.5、Unity 5.6、Unity 2017.、Unity 2018.、Unity 2019.、Unity 2020. All versions
In the latest Game Framework In the version , Contains the following 19 A built-in module , In the future, we will also develop more extension modules for developers .
- Global configuration (Config) - Store some global read-only game configurations , Such as the player's initial speed 、 Initial game volume, etc .
- Data nodes (Data Node) - Save any type of data in the form of tree structure , Used to manage various data when the game is running .
- Data sheet (Data Table) - Game data can be tabulated ( Such as Microsoft Excel) After configuration in the form of , Use this module to use these data tables . The format of the data table can be customized .
- The debugger (Debugger) - When the game is Unity Run in the editor or as Development Publish runtime as , The debugger window appears , Easy to view runtime logs 、 Debugging information, etc . Users can also easily register their functions on the debugger window and use .
- download (Download) - Provide the function of downloading files , Support breakpoint renewal , You can specify that several downloaders are allowed to download at the same time . This module will be actively called when updating resources .
- Entity (Entity) - We'll be in the game scene , All objects created dynamically are defined as entities . This module provides the function of managing entities and entity groups , Such as displaying and hiding entities 、 Hook entity ( Such as hanging weapons 、 mount , Or grab another entity ) etc. . The entity can not be destroyed immediately after use , So as to wait for the next reuse .
- event (Event) - Game logic monitoring 、 The mechanism of throwing events .Game Framework Many modules in will throw built-in events after completing the operation , Monitoring these events will greatly decouple the game logic . Users can also define their own game logic events .
- file system (File System) - Fragmented file systems are managed centrally using the concept of virtual disks , Optimize the memory allocation caused by resource loading , You can even locally fragment load resources , These will greatly improve the performance of resource loading .
- Finite state machine (FSM) - Provide creation 、 The function of using and destroying finite state machines , Some game logic suitable for finite state machine mechanism , Using this module will be a good choice .
- localization (Localization) - Provide localization capabilities , That is what we usually call multilingualism .Game Framework In terms of localization , Not only support text localization , It also supports localization of arbitrary resources , For example, the release of fireworks effects in the game can also make several multilingual versions , Make the Chinese version is “ Happy New Year ” Special effects of words , In the English version “Happy New Year” Special effects of words .
- The Internet (Network) - Provide use Socket The function of long connection , At present, we support TCP agreement , Compatible with IPv4 and IPv6 Two versions . Users can establish multiple connections and communicate with multiple servers at the same time , For example, in addition to connecting to a regular game server , You can also connect to the voice chat server . If you want to access ProtoBuf Such protocol library , As long as derived from Packet Class and implement your own message package class .
- Object pool (Object Pool) - Provide the function of object cache pool , Avoid frequent creation and destruction of various game objects , Improve game performance . except Game Framework Itself uses the object pool , Users can also easily create and manage their own object pools .
- technological process (Procedure) - It is a finite state machine that runs through the whole life cycle of the game . Through the process , Decoupling different game states will be a very good habit . For online games , You may need to check the resource flow 、 Update resource process 、 Check the server list process 、 Select the server process 、 Login server process 、 Create processes such as role processes , And for stand-alone games , You may need to switch between the game selection menu process and the actual game playing process . If you want to add a process , As long as derived from ProcedureBase Class and implement your own process class .
- resources (Resource) - In order to ensure the player's experience , We don't recommend loading resources synchronously , because Game Framework It uses a complete set of asynchronous loading resource system , Therefore, only the interface for loading resources asynchronously is provided . Regardless of simple data sheets 、 Localized Dictionary , Or complex entities 、 scene 、 Interface , We will all use asynchronous loading . meanwhile ,Game Framework Provides a default memory management policy ( Of course , You can also define your own memory management strategy ). Most of the time , In the use of GameObject In the process of , You don't even have to do it yourself Instantiate Or is it Destroy operation .
- scene (Scene) - Provide the function of scene management , Multiple scenes can be loaded at the same time , You can also uninstall any scene at any time , Thus, it is easy to realize the partial loading of the scene .
- To configure (Setting) - Store player data in the form of key value pairs , Yes UnityEngine.PlayerPrefs encapsulate , You can also store these data directly on disk .
- voice (Sound) - Provide the function of managing sounds and sound groups , Users can customize the volume of a sound 、 yes 2D The sound is still 3D voice , Even bind directly to an entity and follow the entity to move .
- Interface (UI) - Provide functions of management interface and interface group , Such as display and hide interface 、 Activate the interface 、 Change the interface level, etc . Whether it's Unity Built in uGUI Or other types of UI plug-in unit ( Such as NGUI), As long as derived from UIFormLogic Class and implement your own interface class . The interface can not be destroyed immediately after use , So as to wait for the next reuse .
- Web request (Web Request) - Provide the function of using short connection , It can be used Get perhaps Post Method sends a request to the server and gets the response data , You can specify how many... Are allowed Web The requester makes simultaneous requests .
Download address
边栏推荐
猜你喜欢
随机推荐
相关性分析及SPSS软件操作
Go语言 错误处理
Scala wordcount case
行人重识别reid
Two hackers gained 2million illegal profits five days after they were released from prison: arrested
Beisen prospectus: the advantages of the track are prominent, and integration + medium and large customers are plus points
Correlation analysis and SPSS software operation
【解决方案】VC6.0不能断点调试
盛邦安全冲刺科创板:奇安信是其第一大客户(5587 万);其三年收入 4.6 亿、净利润 9504 万,研发投入 7846 万
干货分享丨2022上半年软考高项都考了哪些知识点?
[guaranteed research] - sort out and share the problems existing in the previous school reexamination interview
STM32 serial port screen learning
4.76 million. Targeted procurement of Bank of Hebei: F5 load balancing (10 sets)
Ce PIP utilise une petite copie, doit avoir tout!
100 page slide illustration "data exit safety assessment measures" and revision comparison (download attached)
16个你要注意的SQL注入测试点
cannot convert parameter 1 from 'class A' to 'class A'
懒的做核酸、制作(伪造健康码)网页:被拘 5 日
入门软件测试小知识点
项目经理如何做好“老板”项目