Using game-agnostic static analysis to determine the loading order of game assets

Use static code analysis to determine the approximate loading order of the assets in any game made using the Godot game engine.

Annonsinformation

Sista datum för anmälning: 2022-01-31

Företagsnamn: Macaroni Studios

Mail till kontaktperson: fritjof@macaronistudios.com

Länk till företag: https://docs.google.com/document/d/1o2MPVE-Z_vRl2Yyzp0InPbd7sIRtQqfB/edit?usp=sharing&ouid=100227416191224983857&rtpof=true&sd=true

Utbildningsnivå: Kandidat Magister/Master

Utbildningsområde: Datavetenskap och mjukvaruutveckling Digitala medier och spelteknik

The target project: gotm.io
Our passion project is a website called gotm.io and can be accessed at www.gotm.io. It is a site for game developers to upload their games for others, both game developers and players, to access and play their games. A great focus has been on making the site fast, easy-to-use and mobile friendly, both for developers and players. All games are played directly in the web browser, which is why these things are so important.
All games uploaded to the site have to be made using the game engine Godot. The reason for this is because games exported using Godot become smaller than from most other engines and are generally very well suited for the web. The drawback is of course that not all games can be uploaded to gotm.io, but the advantages are many!
The biggest advantage of Godot is that it is completely open source, meaning that we can modify the engine to add new and unique features. This makes gotm.io into more than just a place to host games. For example, Game developers get automatically working multiplayer without hassles such as port forwarding and all games are automatically compressed on upload which leads to shorter loading times. We have many more exciting features planned, some of which we hope to do together with students.
More info about gotm.io can be found here: https://gotm.io/about

Background
As mentioned in the description, all games on gotm.io runs directly in the browser. They are not loaded until the player clicks the thumbnail to play the game. At that time the game must load as quickly as possible so as not to cause the player to exit before the game even starts.
A way to decrease the loading time is to focus loading on the resources that are actually important, start the game as soon as those are loaded and then let the rest of the assets load in the background.
So which assets should be loaded? That is what this project would try to make a system for.

Goal
Develop a game-agnostic static analysis algorithm for Godot games that can be used to determine which assets should be loaded first.

Tasks
* Look for potential similar projects.
* Set up limitations/boundaries for the conditions that the algorithm can/should work on.
* Implement the system for the Godot game engine.
* Compare loading order obtained from static analysis with actual loading order when running the games.

Requirements and conditions
* Neither computer nor dedicated place can be guaranteed.
* You can work both alone or with a partner.
* Continuous feedback and follow-ups will be done but you must be able to work, make decisions and take responsibility on your own.
* Both you and Macaroni Studios own what is developed and both are free to use, modify and publish it. This means that we will not require a specific version of the project to be shown at school and you are free to do what you want with it afterwards (as long as we maintain rights to use and modify it).

Tillbaka
Har du en fråga? Skriv den här, så återkommer vi så snart som möjligt!
×