Top Secret tech
(aka how to make a play-by-email videogame)
Browser/App

Editor

Server + AWS

Core technologies
| Browser | App | Server | Editor | AWS | |
| Git/GitHub | ✔ | ✔ | ✔ | ✔ | ✔ |
| Typescript | ✔ | ✔ | ✔ | ✔ | |
| React | ✔ | ✔ | ✔ | ||
| NPM | ✔ | ✔ | ✔ | ✔ | |
| Grunt | ✔ | ✔ | ✔ | ✔ | |
| Mocha | ✔ | ✔ | ✔ | ||
| Electron | ✔ | ||||
| Node JS | ✔ | ||||
| Cloudformation | ✔ |
Cloudformation?
- Create/delete 'stacks'
- Declarative
- JSON templates
- Use with AWS CLI/Console
Example - S3 bucket
// cfntemplate.json
{
"Description": "S3 bucket",
"Resources": {
"S3Bucket": {
"Type" : "AWS::S3::Bucket",
"Properties" : {
"BucketName" : "my-s3-bucket"
}
}
}
}
aws cloudformation create-stack --stack-name bucket --template-body file://cfntemplate.jsonaws cloudformation delete-stack --stack-name bucketAWS resources
- Server
- Auto Scaling Group
- Elastic Load Balancer
- CloudWatch
- Security Groups/IAM Profiles
- Database
- DynamoDB
- Game data
- S3
Real template examples
Gotchas:
- Think about security groups and roles
- Stack creation is slow so test everything locally/using SSH
- CloudWatch agent doesn't work on Ubuntu
- Healthchecks
- Some documentation is missing
Deploying game code
- Local python script
- Checkout code and game content
- Zip
- Upload to S3
- EC2 User Data
- Install dependencies
- Download game data from S3
- Run game
TLDR
Cloudformation:
- Removes human error in infrastructure creation
- Allows 'stack' replication
- Declarative - handles order dependencies
- Parameterisable
Top Secret tech
By virtualdtor
Top Secret tech
The technology behind Top Secret, a video game about the Snowden leaks.
- 680