Code Monkey home page Code Monkey logo

gamemaker-kitchen's Introduction

TabularElf

πŸ“šπŸ“šπŸ“šπŸ“šπŸ“šπŸ“šπŸ“šπŸ“š πŸ“šπŸ“šπŸ“šπŸ“šπŸ“šπŸ“šπŸ“šπŸ“š πŸ“œπŸ“œπŸ“œπŸ“œπŸ“œπŸ“œπŸ“œπŸ“œ
Lexicon
Localization Library
Collage
Texture Page Builder/Manager
function_execute
Execute Functions/Methods with infinite arguments
Sonus
Advanced Audio System
Canvas
Surface Caching System
Convert ds_grid/map/list to struct/array equivalents and vice versa
Self-explanatory
Slice
Layer Wrapper
Lens
Camera Wrapper
array_2d
Brings back 2D arrays
Architect
Build Script Manager for GameMaker
SimThreads
Green Thread implementation
current_step
Accurrate frame counter
Gravatar-For-GameMaker
Gravatar Integration in GameMaker
Stickers
Vertex buffer-based decal solution for GameMaker 2022 LTS
Multiclient
Launching multiple clients directly from the IDE!

TabularElf's GitHub stats

About me

I'm TabularElf, an experienced programmer who mainly uses GameMaker.
I'm from Australia, and I love cats!

Programming Journey

I began my programming journey back when I was just 12 years old, and I got my very first laptop. Up to that point in my life, I had been using computers prior and always been fascinated in how computers worked, but never really understood them. As well as slightly intrigued in how games worked. I began by learning the basics of batch and visual basics on Windows 7. Mainly making small utilities from swapping your mouse buttons around for left-handed people to hiding entire files and folders. I didn't really expand my skillset up until I started playing games like Half-Life 2, Garry's Mod, Portal and Minecraft. At that point, I really wanted to make my own 2D infinite sandbox game. So I picked up GameMaker 8, which turned out to be slowly my most favourite game engine. It was never truly the fastest, and it lacked a lot of features that other game engines had. But it was really easy to just sit down and make something work. Over the past 10 years, I've been spending my time finetuning my skills in GameMaker, and slowly picking up other programming languages along the way.

Hobbies

  • Photography

  • Video editing

  • Music editing

  • Photo editing

  • Web Development

  • General Programming

  • Streaming

  • Art

I am referred to as

Preferred

  • TabularElf

  • Tab

  • Elf

  • Tabby

  • Tabitha

  • Tabby the Cat

  • Tablets

  • TubularElf

  • Table Elf

  • Duck Tab

  • TaBoolean

  • TabTab

Misc

  • TibularOlf

  • TubularRolf

  • TybularRofl

  • TabularAlf

  • Alf

  • Spectabular

  • Tablerone

  • Tablertwo

  • Tablermorethentwocuzicantcounthigher

  • Ular

  • Lare

  • Bula

  • Abu

  • 2 Spaces

  • Tabarna

  • Tabanana

  • Tarbonara

  • TabarnacularElph

  • TarbacularElf

  • Table Shelf

  • Taboo

  • TabularShelf

  • Tabularity

  • StabularElf

gamemaker-kitchen's People

Contributors

actions-user avatar github-actions[bot] avatar tabularelf avatar zice-o-lantern avatar

Watchers

 avatar

gamemaker-kitchen's Issues

Submit a library!

Title of your submission

Canvas

Description

A surface that you can modify & keep the contents, even when the surface should've had been lost, for GameMaker Studio 2.3+!

Authors

TabularElf

Link to your library

https://github.com/tabularelf/Canvas

Version

1.1.3

Tags

surface, buffer, wrapper

Post

A surface that you can modify & keep the contents, even when the surface should've had been lost, for GameMaker Studio 2.3+!

Join my Discord for any questions! https://discord.gg/ThW5exp6r4

Example on usage:

// Create Event
surf = new Canvas(512, 512);
surf.Start();
var width = surf.GetWidth();
var height = surf.GetHeight();
draw_rectangle_colour(32, 32, width, height, c_red, c_green, c_blue, c_yellow, false);
surf.Finish();

// Draw Event
draw_surface(surf.GetSurfaceID(), 0, 0);

Submit a library!

Title of your submission

Scribble

Description

Efficient multi-effects L10n text renderer

Authors

Juju Adams

Link to your library

https://github.com/JujuAdams/scribble/

Version

8.0.1 Beta

Tags

i18n, text, dialogue

Post

Scribble is a comprehensive text rendering library designed to replace GameMaker’s native draw_text() functions without adding unnecessary complexity.

Submit a library!

Title of your submission

Collage

Description

Texture page manager

Authors

TabularElf

Link to your library

https://github.com/tabularelf/collage

Version

v0.1.1

Tags

texture-page, texture, page, builder

Post

Collage is a Texture Page Builder and image manager, built from the ground up to mimic GameMaker’s texture page packing, while offer a lot of flexibility.

Submit a library!

Title of your submission

ArrayClass

Description

Better arrays/ds_lists for GameMaker

Authors

Evoleo

Link to your library

https://github.com/GameMakerDiscord/ArrayClass

Version

2.0.0

Tags

arrays

Post

Better arrays/ds_lists for GameMaker Studio 2.3

ArrayClass is a library that improves the developing experience and reduces frustration when working with arrays.

It's main focus is not performance, but rather handiness for developer

Submit a library!

Title of your submission

NiceSlice

Description

An extended nine-slice library

Authors

WangleLine

Link to your library

https://github.com/WangleLine/NiceSlice

Version

1.1.0

Tags

sprites, rendering, drawing, nine-slice,

Post

In version 2.3.2, Gamemaker introduced a feature called nine-slice,
which allows the user to easily create visual elements that scale to various sizes without distortion.

This is done by scaling, tiling, or otherwise transforming only the connecting pieces of a sprite element, but keeping corners unchanged.

Alt text

However, Gamemaker's native nine-slice feature does not allow the user to change the internal scale of a nine-sliced sprite,
which is bad news for anyone trying to, say, render scaled-up pixelart UI elements.

This library fixes that.

Submit a library!

Title of your submission

Emu

Description

UI in GameMaker

Authors

DragoniteSpam

Link to your library

https://dragonite.itch.io/emu

Version

1.1.0

Tags

ui, gamemaker

Post

Ever wanted to be able to use common UI elements such as text input, checkboxes, radio buttons, dialog boxes or even tab groups in GameMaker? Look no further!

Example

Submit a library!

Title of your submission

Lock And Key

Description

String and file encryption

Authors

Alub

Link to your library

https://github.com/AlubJ/Lock-And-Key

Version

1.0.0

Tags

encryption

Post

String and file encryption in GameMaker

Credits:
With help from JujuAdams

Functions:

file_save_encrypted(string, file)

Returns:

Successful: Outputted file

Un-successful: -1

file_open_encrypted(file)

Returns: String

Submit a library!

Title of your submission

Lexicon

Description

Localization System for GameMaker Studio 2.3.1+

Authors

TabularElf

Link to your library

https://github.com/tabularelf/lexicon

Version

v2.0.4

Tags

localization, translation, csv, json

Post

Lexicon v2.0.4

Lexicon is a localization system focused around on simplifying implementation of adding translation to your GameMaker Studio 2.3+ project, all the while allowing specific sections to be replaced on the fly!
It supports the following:

For more information, check out the wiki! https://github.com/tabularelf/lexicon/wiki/

Library Submission

Title of your submission

gmlogging Suite

Description

A collection of scripts to make logging, debugging, and reporting errors in GameMaker Studio 2 a nicer experience

Authors

meseta

Link to your library

https://github.com/meseta/gmlogging-suite

Version

0.9.4

Tags

error handling, error reporting, sentry.io, exceptions, debugging, logging

Post

What is it?

gmlogging-suite Is a collection of scripts to make logging, debugging, and reporting errors in GameMaker Studio 2 a nicer experience.

Find out more in the wiki

Features

Sentry.io Integration

Sentry.io Is a online service (with free tier!) that receives error messages and bug reports. The gmlogging-suite has Sentry.io integration, which means it can be configured to submit bug reports to your Sentry.io account automatically, so you don't have to rely on players sending screenshots or copy/pasting error messages.

It's as simple as (replace the URL below with your project's DSN from Sentry.io):

sentry = new Sentry("https://############################(at)#######.sentry.io/#######");
exception_unhandled_handler(sentry.exception_handler);

This will cause any runtime errors to be sent to your Sentry.io account (by default, the user will see a confirmation dialogue asking whether they want to send you the error logs).

Structured Logging

The gmlogging-suite includes a logging object, which makes it easier to logs variables, and track what's going on.

Previously you might have written:

show_debug_message("Attacked at X: " + string(x) + " Y: " + string(y) + " Health: " + string(health));

You can now write (assuming you instantiated logger earlier):

logger.info("Attacked", {x: x, y: y, health: health})

Your output console will look something like this:

2021-11-04 21:06:26  [info  ][logger] Attacked              x=13.35  y=53.39 health:50

The logging object can log this to file, or switch to JSON logging mode, or also work with the Sentry instance, to buffer these log messages temporarily so that in the case of an crash, some contextual information will be sent alongside the bug report to helpy ou debug.

New Exceptions

gmlogging-suite also includes an experimental new Exception object that makes it easier to use try/catch. It allows you to catch specific exceptions, so you don't accidentally catch runtime errors that hide your bugs.

In the following example, assume do_something() is a lengthy function in which there is one particular point where it needs to raise an exception, that depending on the context in which it is run, should be caught.

With gmlogging-suite's new exception handling code, it becomes possible to check that you threw a specific Exception, and avoid accidentally catching exceptions that come from runtime errors.

do_something = function() {
  ... lots of code here ...
  throw GeneralException("Could not do a thing");
}

try {
	do_something();
}
catch (_err) {
	if (exception_is(_err, GeneralException)) { // checks if we threw an GeneralException
		logger.info("Ignoring error");
	}
	else { // otherwise it must have been that normal GM runtime error
		exception_rethrow(_err); // rethrow the exception
	}
}

Submit a library!

Title of your submission

Scribble

Description

Efficient multi-effects L10n text renderer

Authors

Juju Adams

Link to your library

https://github.com/JujuAdams/scribble/

Version

8.0.2

Tags

i18n, text, dialogue

Post

Scribble is a comprehensive text rendering library designed to replace GameMaker's native draw_text() functions without adding unnecessary complexity.

Submit a library!

Title of your submission

Luminous Chicken

Description

3D Lighting Shaders for GameMaker

Authors

Dragonite

Link to your library

https://dragonite.itch.io/chickens

Version

1.0.0

Tags

lighting, 3D

Post

There are three basic 3D light types: directional lights, point lights, and spot lights. These can be implemented using shaders. Here's a set of shaders (and a demo project) to do just that!

Because fog is also something one often wishes to make use of in addition to lighting, this also includes fog.

Submit a library!

Title of your submission

ds_to_struct_array

Description

Converts data structures (ds_map, ds_list, ds_grid) to structs/arrays!

Authors

TabularElf

Link to your library

https://gist.github.com/tabularelf/547b62efbcb0beaa8e6478afae8e693f

Version

1.0.0

Tags

data structure, ds, struct, array, conversion

Post

This is a set of scripts that allow you to convert ds_maps, ds_lists and ds_grids into structs/arrays and vice versa.
Addtionally, ds_maps and ds_lists will automatically convert ds_map/ds_list children into structs/arrays, and vice versa.
You can disable this by assigning the optional argument [convert_children] to false when calling the function.

Note: This does not convert any data structures that are stored within or as ds_grids and vice versa.
Also to access a cell from an array2D of a ds_grid, you will do the following.
grid[cell_x][cell_y]

:)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.