Skip to content

Performance & Attentiveness

Compare
Choose a tag to compare
@Folleach Folleach released this 01 Jun 21:51
· 90 commits to master since this release

In there release we make

Rewritten the serializer

Now the sterilizer is customizable and faster
You can create arrays, custom types, and fill them with meta information, such as the default value or order

This also fix oldest bug with concurrent access #12

Speed up 3x
For example, here are 10 iterations of loading the "True Values of Life" level, created by @Relayx

Iteration Load time in v0.2 Load time in v0.1
0 00:00:02.8696667 00:00:07.5174898
1 00:00:02.9930163 00:00:08.0052027
2 00:00:03.0599083 00:00:07.5832862
3 00:00:02.4819676 00:00:07.4454944
4 00:00:03.4255331 00:00:07.8295588
5 00:00:02.6024497 00:00:08.4533198
6 00:00:02.4678659 00:00:08.0589526
7 00:00:03.5100131 00:00:08.0354396
8 00:00:02.8045761 00:00:08.6893726
9 00:00:02.8458454 00:00:07.8271247

learn more serializer in docs

Added a bunch of triggers

Thanks @flightlex
He added triggers such as

  • Alpha trigger
  • Animate trigger
  • Collision trigger
  • Color trigger
  • Count trigger
  • PickUp trigger
  • Pulse trigger
  • Rotate trigger
  • and more... I'll get tired of listing every trigger

See its triggers in pull request #21

Added a guidlines in the level

foreach (var guideline in level.Options.Guidelines)
    Console.WriteLine($"{guideline.Color} in {guideline.Timestamp}");

Also thanks @flightlex
See its contribute in #20

Fixed known bugs

For stability, we can say thank @Pawday
His fixes can be found in #17

Stored data...

Saves can now be created from the library from scratch

var manager = GameManager.CreateNew();
manager.Save();

var local = LocalLevels.CreateNew();
local.Save();

Closed by #18

On the way to resources

Now it is possible to open official levels

var resources = new GameResources(@"C:\Program Files\Steam\Apps\GeometryDash\Resources");
var level = await resources.GetLevelAsync(OfficialLevel.Jumper);

On request #3

Icon

Also thanks FaxeL for the library icon