Skip to content

Instantly share code, notes, and snippets.

making a game?

Kyle J. Kemp seiyria

making a game?
View GitHub Profile
View resume.json
"$schema": "",
"basics": {
"name": "Kyle Kemp",
"label": "Principal Software Engineer",
"image": "",
"email": "",
"phone": "9202151371",
"url": "",
"summary": "Foreward: I'm only interested in remote positions. I'm not interested in relocating now or ever. Additionally, my career focus is shifting away from development and into architecture and/or other related high level positions.\n\nI am a highly efficient remote developer, able to integrate with teams quickly and provide immediate value to a team. I frequently focus on efficiency in all aspects of my work: code efficiency, onboarding efficiency (writing / validating documentation for onboarding new developers), and developer efficiency (with CI/CD, code review, etc). I never stop thinking about improving business processes \"just because we've always done it that way\" and I make sure to improve these processes
  1. first you need to re-enable the devtools

  2. then you need to enable developer mode. then open devtools with ctrl+shift+i (might need to restart discord first)

  3. run this in devtools Object.defineProperty((webpackChunkdiscord_app.push([[''],{},e=>{m=[];for(let c in e.c)m.push(e.c[c])}]),m).find(m=>m?.exports?.default?.isDeveloper!==void 0).exports.default,"isDeveloper",{get:()=>true});

  4. go to settings > experiments > type in acc > turn on Desktop Multi Account

View longpress.directive.ts
import { Directive, EventEmitter, HostListener, Input, OnDestroy, Output } from '@angular/core';
import { combineLatest, interval, Observable, Subject } from 'rxjs';
import { filter, first, map, takeUntil } from 'rxjs/operators';
selector: '[appLongPress]'
export class LongPressDirective implements OnDestroy {
@Input() public longPress = 500;
seiyria / cloudSettings
Created June 27, 2020 11:26
Visual Studio Code Settings Sync Gist
View cloudSettings
View soa-loans.js
const Random = require('random-js').Random;
const MAX_PLAYERS = 100000;
const calculateChoices = () => {
const random = new Random();
const ALL_PLAYERS = Array(MAX_PLAYERS).fill(0).map((x, i) => i);
View get-github-issues.js
const octokit = require('@octokit/rest')();
const snake = require('lodash.snakecase');
const fs = require('fs');{
q: 'repo:landoftherair/landoftherair is:open'
.then(res => { => {
View gpm-unfuck.js
// ==UserScript==
// @name get rid of that instant mix and shuffle shit
// @namespace
// @version 0.1
// @description try to take over the world!
// @author seiyria
// @match*
// @grant none
// ==/UserScript==
seiyria / filename
Created July 22, 2017 17:52
eth wallet
View filename
seiyria /
Last active January 8, 2018 04:29
Code Quality and You

update: this post has been moved to my blog

Welcome! Today I'd like to talk about another subject which can't be emphasized enough: Code Quality. This entails a lot of tools and patterns that ultimately come together to make your game more solid and programmer friendly. Even if you're working alone on a project, these tools can save you some precious debugging time by pointing out simple errors, if not more complex ones. I'll be using my current project, c as an example where possible.

A few notes before we get started:

  • Some of the following tools are specific to the JavaScript ecosystem.
  • Some of the following tools are only free for open source projects, so bear in mind that you might be missing out on the awesome!

Style Checking

Some of the easiest tools you can set up for your project are JSHint and JSCS. These tools provide basic st

seiyria /
Last active June 18, 2022 18:00
Common Pitfalls in JS-based Games

update: this post has been moved to my blog

Welcome! You might be reading this out of curiosity, or because you want to improve your programming capabilities to stop people from exploiting your JS games. Given that the first thing I do when I open a new incremental is open the terminal and start messing around with your games, I figured it's about time to write something about what I see and how I break your games. Consequently, I'll describe ways you can protect your games from the basic code manipulations I perform. Some might say "you're just ruining the game for yourself!" while I'm going to turn around and say "I don't care" -- that's not the point of this!

NB: This will only apply to vanilla JS applications, which I see more commonly. Frameworks like AngularJS and such are out of scope for this post. Advanced techniques such as using a debugger, while slightly more on topic, will also be disregarded for now.