Skip to content

Instantly share code, notes, and snippets.

View chrisfranko's full-sized avatar

Christopher Franko chrisfranko

View GitHub Profile
@chrisfranko
chrisfranko / gist:15ff04fca2cbb5811e241129e4f03f43
Created October 22, 2023 16:58
How to make a hardcore gaming experience
Hardcore is more than just difficulty.
​
Many players are familiar with the concept of a "hardcore game," but they don't always understand how it is embodied in game design and what tools are used to achieve this effect. Let's discuss how a game designer can design a hardcore gaming experience and what patterns and techniques can be utilized. In other words, let's examine the "design pattern for a hardcore gaming experience."
A **design pattern** is a general, frequently used solution to a commonly encountered problem in a given design context.
We will focus solely on the aspects of game design, excluding visual style, plot, music, and other game components.
@chrisfranko
chrisfranko / menta-metadata.json
Created November 26, 2021 21:43
Menta Genesis
{
"image" : "https://pbs.twimg.com/media/E-KV8UXWYAcVqoo?format=jpg",
"image_data" : "",
"external_url" : "https://www.twitter.com/chrisjfranko",
"description" : "The evolution of Christopher Franko",
"name" : "Christopher Franko",
"attributes": [
{
"trait_type": "Release",
"value": "Genesis"
@chrisfranko
chrisfranko / menta-metadata.json
Last active November 26, 2021 21:38
Menta - Genesis Meta Data
{
"image" : "https://pbs.twimg.com/profile_images/1418923793624584206/CTBTrHKy_400x400.jpg",
"image_data" : "",
"external_url" : "https://www.twitter.com/chrisjfranko",
"description" : "Just A Picture of Christopher Franko",
"name" : "Christopher Franko",
"attributes": [
{
"trait_type": "Release",
"value": "Genesis"
sudo apt-get install ipset
ipset create blacklist hash:ip hashsize 4096 &&
iptables -I INPUT -m set --match-set blacklist src -j DROP &&
iptables -I FORWARD -m set --match-set blacklist src -j DROP
ipset add blacklist 103.137.20.5
ipset add blacklist 195.123.222.16
ipset add blacklist 85.206.160.91
ipset add blacklist 167.99.218.34
pragma solidity 0.6.12;
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v3.2.0/contracts/token/ERC20/IERC20.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v3.2.0/contracts/token/ERC20/SafeERC20.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v3.2.0/contracts/math/SafeMath.sol";
import "https://github.com/eggswap/eggswap/blob/master/contracts/uniswapv2/interfaces/IUniswapV2ERC20.sol";
import "https://github.com/eggswap/eggswap/blob/master/contracts/uniswapv2/interfaces/IUniswapV2Pair.sol";
import "https://github.com/eggswap/eggswap/blob/master/contracts/uniswapv2/interfaces/IUniswapV2Factory.sol";
pragma solidity 0.6.12;
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/IERC20.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/SafeERC20.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/math/SafeMath.sol";
import "https://github.com/eggswap/eggswap/blob/master/contracts/uniswapv2/interfaces/IUniswapV2ERC20.sol";
import "https://github.com/eggswap/eggswap/blob/master/contracts/uniswapv2/interfaces/IUniswapV2Pair.sol";
import "https://github.com/eggswap/eggswap/blob/master/contracts/uniswapv2/interfaces/IUniswapV2Factory.sol";
pragma solidity ^0.6.2;
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol";
contract Token is ERC20 {
constructor () public ERC20("Token", "TKN") {
//_mint(msg.sender, 1000000 * (10 ** uint256(decimals())));
}
}
pragma solidity 0.6.12;
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/IERC20.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/math/SafeMath.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol";
interface IChicken {
function burnToMint(address _user, uint256 _amount) external;
}
// This was triggering the synchronous error
// which is strange because i assumed that the math would have already been done before the await triggered
let latest = 3988024;
let day = 1440;
let blocksPerMin = 3;
let blocksPerDay = blocksPerMin * day;
let startBlock = latest + (blocksPerDay * 5);
@chrisfranko
chrisfranko / exp-tokens.json
Last active October 8, 2020 21:33
Expanse Tokens
{
"name": "Basic List",
"timestamp": "2020-09-17T12:00:00+00:00",
"version": {
"major": 1,
"minor": 0,
"patch": 0
},
"keywords": [
"expswap",