All Projects → 200WordRPG → 200wordrpg.github.io

200WordRPG / 200wordrpg.github.io

Licence: other
Homepage for the 200 Word RPG Challenge

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects
SCSS
7915 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to 200wordrpg.github.io

Narrows
Online storytelling system
Stars: ✭ 109 (+251.61%)
Mutual labels:  rpg, writing
rpnow
The Do-It-Yourself Roleplay Chat Solution
Stars: ✭ 22 (-29.03%)
Mutual labels:  rpg, writing
PSHTMLTable
PowerShell module to spice up ad hoc notifications and reports
Stars: ✭ 34 (+9.68%)
Mutual labels:  table
games-wabot
Games-wabot is RPG Bot Whatsapp. Now support Multi-device!!, check branch multi-device
Stars: ✭ 165 (+432.26%)
Mutual labels:  rpg
blog
an Octopress blog by Jake Zimmerman
Stars: ✭ 12 (-61.29%)
Mutual labels:  writing
E-Table
基于ElementUI table组件修改,数据化表格结构,添加实用功能,快速生成表格
Stars: ✭ 65 (+109.68%)
Mutual labels:  table
tufte-pandoc-jekyll
A Jekyll theme for using Tufte CSS with Jekyll + Pandoc
Stars: ✭ 56 (+80.65%)
Mutual labels:  writing
TacticTurnBased
Prototipo inicial de un juego tactico. Este proyecto solo alberga unos pocos assets con licencia free y el core de un sistema de combate tactico por turnos.
Stars: ✭ 28 (-9.68%)
Mutual labels:  rpg
ant-table-extensions
Export, Search extensions to Ant Design's Table component.
Stars: ✭ 43 (+38.71%)
Mutual labels:  table
ctablex
Featureable, flexible and powerful react table.
Stars: ✭ 17 (-45.16%)
Mutual labels:  table
streamlit-aggrid
Implementation of Ag-Grid component for Streamlit
Stars: ✭ 465 (+1400%)
Mutual labels:  table
engine
Online 4X Grand Strategy RPG Engine
Stars: ✭ 19 (-38.71%)
Mutual labels:  rpg
sticky-react-table
A sticky positioned table built for React
Stars: ✭ 14 (-54.84%)
Mutual labels:  table
pg global temp tables
Oracle-style global temporary tables for PostgreSQL
Stars: ✭ 16 (-48.39%)
Mutual labels:  table
html-table-extractor
extract data from html table
Stars: ✭ 74 (+138.71%)
Mutual labels:  table
vscode-ibmi-languages
Syntax highlighting for IBM i languages such as RPG, CL, DDS, MI, and RPGLE fixed/free.
Stars: ✭ 28 (-9.68%)
Mutual labels:  rpg
vue-table-for
Easily build a table for your records
Stars: ✭ 33 (+6.45%)
Mutual labels:  table
Tech-Writing-Linktree
✨ tech writer portfolio in the style of linktree ✨
Stars: ✭ 26 (-16.13%)
Mutual labels:  writing
PolyDiceGenerator
A customizable Polyhedral Dice Generator for OpenSCAD.
Stars: ✭ 63 (+103.23%)
Mutual labels:  rpg
data-mapping-component
A React Component which focus on Data-Mapping & Table-Field-Mapping.(基于React的数据/表字段映射组件)
Stars: ✭ 115 (+270.97%)
Mutual labels:  table

Website README

The 200 Word RPG challenge is a light game design challenge that runs every year. The goal is simple: Design a role-playing game using 200 words or less.

Every year the challenge grows larger and the entries more numerous. This post will detail some of the tools and techniques used to organize and display over 1000 entries across several years of challenges.

Tool and Services

Workflow

  1. Each entry is submitted through a Google Form, which saves all submissions in a Spreadsheet.
  2. I check the wordcount for each entry, making a little marker if the entry should be disqualified.
  3. I download the spreadsheet as a CSV file, making sure UTF-8 encoding, and quoted text fields are enforced.
  4. A python script scans the CSV file checking for duplicate entries, multiple author submissions, and the marker added.
  5. The script formats all of the data and creates a Markdown file for each entry.
  6. I add the markdown files to the site,and Jekyll turns it into a series of web pages.

The secret sauce is in the Python script and Jekyll.

Traditional websites like Wordpress have a SQL database where posts are stored. Whenever a user clicks a page the website looks in the database for the post info and loads it up for that user. This system is very flexible and simple to use, but it can be slow.

Jekyll is different. It doesn't have a database and any loading is all done at the beginning. Jekyll scans all of the markdown files and turns them into lean, static pages. This makes the site fast and light, but there isn't a database to query and easily alter.

The main reason I chose Jekyll, however, is because it builds pages from text files. And text files are super easy to create using python.

The python script scans through the submitted entries and turns each one into it's own Markdown text file. Through python I can check to make sure entries aren't submitted multiple times and prevent authors from submitted too many entries. Basically I can double check and filter all of the information, transforming it however I wish.

Whenever a new submission is added I can just run the python script again and have it generate a new text file for that entry. It's super quick and easy; I think it takes about 3 minutes to process ALL the entries from 2015, 2016, and 2017. Very nice.

The hard part was just getting all this stuff setup. Now that it's complete and working as expected, added new entries or changing entries is trivial and quick.

Hopefully this little guide will help you understand how the site works, and maybe even help you find uses for Jekyll and python in your own projects. It's a neat little tool and an interesting alternative to traditional website/blog site structures.

Python Script

Found in the script folder

For local development on docker, change url to localhost, and run this command within local repo folder:

docker run --rm --volume=$(pwd):/srv/jekyll -v 'jekyll-gems:/usr/local/bundle/' -it -p 4000:4000 jekyll/jekyll jekyll serve

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].