Skip to content

KeeVeeGames/KeeVeeGames

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 

Repository files navigation

Hi there 👋

Donate Twitter Follow

I am Nikita Musatov (also known as MusNik and KeeVee Games), a full-time professional GameMaker developer and technical artist located in Armenia. I do videogames, assets for GML programmers, open-source libraries/examples, and contract freelance work! Worked on Norland, Voidigo, RetroMania Wrestling, ScreenPlay, Cookie Swirl World, Numbos and other projects.

GIF

Contributions: ElectronicArts⁠/⁠ShaderToHuman, YoYoGames⁠/⁠GameMaker-Runtime, YoYoGames⁠/⁠GameMaker⁠-⁠HTML5, YellowAfterlife⁠/⁠GMEdit, painfully⁠-⁠learned⁠-⁠lessons, tex⁠-⁠pack, buffer⁠-⁠zlib, GMBenchmark.

Notable repos:

Name Description
OKColor.gml

OKColor is a color management library for GameMaker written in pure GML that implements the new "industry standard" OKLab/OKLCH perceptual color models, that give better results than standard RGB/HSV. It's simple to use with only one OKColor class and a bunch of methods providing setting the color, models conversion, mixing and getting the color for rendering.

Example

Shady.gml

GameMaker shader preprocessor for code reuse! Import, inline and generate shader variants.

#pragma shady: import(shader_name)
#pragma shady: import(shader_name.identifier_name)

#pragma shady: inline(shader_name.MACRO_NAME)

#pragma shady: variant(shader_name, [KEYWORD_NAME1], [KEYWORD_NAME2], ...)
DuplicateSequence.gml

Create a deep copy of Sequence and modify its properties in-game without changing the original resource! Useful for using sequences as templates for graphics elements and UI with changeable placholders.

var seq_new = sequence_duplicate(seq_orig);
seq_new.tracks[0].keyframes[0].channels[0].text = "Hello World";
// this will not change the original sequence property!
DeepCopy.gml

Base class for custom exceptions replicating a structure of system exceptions and adding better support of try-catch and exception_unhandled_handler for these custom exceptions.

The class is generating all the necessary exception fields and populates data for script, line and stacktrace ones. Makes output on error windows nicer and more meaningful on handled exceptions. Also adds better support for YYC.

DeepCopy.gml

Deep clone class instances, anonymous structs and arrays nested in any order!

var thing = new Class();
thing.something = { first : [0, 1, 2], second : [3, 4, 5] };

// will return a new Class instance with the identical values but new references
var new_thing = deep_copy(thing);
ArrayList.gml

The most complete list class for GameMaker Studio 2.3+. GC-friendly, [] accessor, 50+ functions (add, remove, insert, contains, find, sort, shuffle, reverse, copy, clone, etc.) and reference as array.

list = new ArrayList();

list.add("howdy", "ho", "world", "!").remove_at(1); // method chaining is also supported
list.array[0] = "hello";
foreach.gml

foreach() loop implementation on GameMaker Studio 2.3+ for arrays, ds_lists, ds_maps, ds_stacks, ds_queues, ds_priorities and structs. Syntax is pretty neat and straightforward:

foreach(collection as (item) {
    // do things with item
});

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors