Skip to content

Instantly share code, notes, and snippets.

View tiagosr's full-sized avatar
🖤
saudades, @Vamoss 😢

Tiago Rezende tiagosr

🖤
saudades, @Vamoss 😢
View GitHub Profile
@raysan5
raysan5 / custom_game_engines_small_study.md
Last active July 1, 2025 07:13
A small state-of-the-art study on custom engines

CUSTOM GAME ENGINES: A Small Study

a_plague_tale

WARNING: Article moved to separate repo to allow users contributions: https://github.com/raysan5/custom_game_engines

A couple of weeks ago I played (and finished) A Plague Tale, a game by Asobo Studio. I was really captivated by the game, not only by the beautiful graphics but also by the story and the locations in the game. I decided to investigate a bit about the game tech and I was surprised to see it was developed with a custom engine by a relatively small studio. I know there are some companies using custom engines but it's very difficult to find a detailed market study with that kind of information curated and updated. So this article.

Nowadays lots of companies choose engines like [Unreal](https:

@gbaman
gbaman / HowToOTG.md
Last active June 15, 2025 19:39
Simple guide for setting up OTG modes on the Raspberry Pi Zero

Raspberry Pi Zero OTG Mode

Simple guide for setting up OTG modes on the Raspberry Pi Zero - By Andrew Mulholland (gbaman).

The Raspberry Pi Zero (and model A and A+) support USB On The Go, given the processor is connected directly to the USB port, unlike on the B, B+ or Pi 2 B, which goes via a USB hub.
Because of this, if setup to, the Pi can act as a USB slave instead, providing virtual serial (a terminal), virtual ethernet, virtual mass storage device (pendrive) or even other virtual devices like HID, MIDI, or act as a virtual webcam!
It is important to note that, although the model A and A+ can support being a USB slave, they are missing the ID pin (is tied to ground internally) so are unable to dynamically switch between USB master/slave mode. As such, they default to USB master mode. There is no easy way to change this right now.
It is also important to note, that a USB to UART serial adapter is not needed for any of these guides, as may be documented elsewhere across the int

@tiagosr
tiagosr / TemplateSublimeProjectForUnityAndOmniSharp.sublime-project
Last active August 29, 2015 14:19
Template Sublime Text project file for Unity with OmniSharp-Sublime, including filter patterns
{
"folders":
[
{
"follow_symlinks": true,
"path": ".",
"folder_exclude_patterns": ["Library", "ProjectSettings", "Temp"],
"file_exclude_patterns": ["*.meta", "*.dll", "*.obj", "*.o", "*.a", "*.lib", ".DS_Store", "*.sublime-workspace"],
}
],
const highp float EPSILON = .01;
const highp float AMBIENT_OCCLUSION_SAMPLE_DISTANCE = .05;
const highp float SHADOW_SAMPLE_DISTANCE = .25;
int MATERIAL_ID = 0;
mediump float ITERATION_COUNT = 0.;
highp float sample_and_update_material_id(highp vec3 position)
{
highp float sphere_1 = length(position - vec3(-3., 0., 0.)) - 3.5;
@aras-p
aras-p / preprocessor_fun.h
Last active July 1, 2025 20:12
Things to commit just before leaving your job
// Just before switching jobs:
// Add one of these.
// Preferably into the same commit where you do a large merge.
//
// This started as a tweet with a joke of "C++ pro-tip: #define private public",
// and then it quickly escalated into more and more evil suggestions.
// I've tried to capture interesting suggestions here.
//
// Contributors: @r2d2rigo, @joeldevahl, @msinilo, @_Humus_,
// @YuriyODonnell, @rygorous, @cmuratori, @mike_acton, @grumpygiant,
@bzgeb
bzgeb / TriggerContainerEditor.cs
Created September 28, 2012 14:52
Example Drag & Drop area in a custom inspector for the Unity editor
using UnityEngine;
using System.Collections;
using UnityEditor;
[CustomEditor (typeof(TriggerContainer))]
public class TriggerContainerEditor : Editor
{
private SerializedObject obj;
@darktable
darktable / SavWav.cs
Created April 6, 2012 05:01
Unity3D: script to save an AudioClip as a .wav file.
// Copyright (c) 2012 Calvin Rien
// http://the.darktable.com
//
// This software is provided 'as-is', without any express or implied warranty. In
// no event will the authors be held liable for any damages arising from the use
// of this software.
//
// Permission is granted to anyone to use this software for any purpose,
// including commercial applications, and to alter it and redistribute it freely,
// subject to the following restrictions:
@mcroydon
mcroydon / nntpd.js
Created February 2, 2011 05:45
A minimal NNTP implementation in node.js
var net = require('net');
var END = '\r\n';
var groups = ['nodejs.test'];
var articles = {
'<[email protected]>' : {body : 'An article.'},
'<[email protected]>' : {body : 'Another article.'},
};