About Me

a picture of Joshua Humphriss

Hi! I'm Josh. I'm a student, doing Maths and Computer Science at the University of Warwick.

I love programming. In addition to my degree, I've done lots of side projects. In particular, I develop multiple multipurpose discord bots which have been used in thousands of servers. I've also done some web development (as you can see!), a school timetabling system, code jams and lots of other things.

I also love playing games. And analysing them. And making them. I'm on the Exec for Warwick Game Design, a society about making games. I'm also part of Warwick Magic, a society about magic tricks.

Projects

Discord Bots

🗓️

3 years

⏱️

2500+ hours

🧑‍💻

Solo Project

My biggest project ever. Comprised of four separate bots with hundreds of commands, describing this as only one project greatly understates the diversity of it.

This project has not only stretched my programming ability but tested and developed my skills in games design, marketing, working closely with users and driving a project forward in innovative and exciting ways.

Kernel

Moderation & Utility

Kernel is a multipurpose bot with a wide range of useful features, from moderating your discord server to other genuinely useful features.

  • Run giveaways, polls, auctions or competitions on your server
  • Set up chat filters to remove server invites, links and naughty words
  • Moderate your server with a warning system, muting and more
  • Plot some graphs, because who doesn't love plotting graphs?
  • Play music, with features such as EQ, synced lyrics, music videos and more
  • See More
  • Play a guess-the-song minigame with your friends (or by yourself...)
  • Make a to-do list, set reminders, and create notes which you can share with others
  • See detailed insights into your server, including messages, voice time and members
  • Set up your own custom responses to phrases in chat
  • Logging, weather forecast, self-assignable roles, google sheets, revision quizzes...
  • Create a temporary channel to execute commands without annoying others
  • ...and lots more. Click below to learn more
  • See Less

Spectral

An Assortment of Fun Features

Spectral contains a wide variety of fun features, from flappy bird to UNO!, from dog pictures to in-game stats, from hangman to blackjack, from Donald Trump quotes to random cocktails.

  • Play flappy bird (in Discord!), try an akinator, or try some "would you rather?" questions
  • Grab some friends to play UNO! / Connect 4, or make a story word-by-word together
  • Gamble with virtual tokens using blackjack, slot machines, horse races or robbing a bank!
  • Find images of dogs, cocktails, the astronomy picture of the day or generate a meme
  • Play hangman, choose from 19 trivia categories, or guess some anagrams
  • See More
  • See in-depth statistics for Brawl Stars, Clash Royale or Minecraft
  • Tell a joke, tell an extra nerdy joke or view random Donald Trump quotes
  • See how many Harry Potter characters you can name (or stick to naming animals...)
  • Play a Quiplash-style minigame or assign roles for a secret role game
  • Mazes, Scattergories, Rock Paper Scissors, Roll Dice, Flip Coins, Get Random Fruits, Star Wars Quotes, Current ISS position...
  • ...and 8ball (of course). And lots more. Click below to learn more
  • See Less

Economy

A Text-Based Game

A fully-fledged text-based RPG where you can collect resources, build things and make more resources

  • Mine ores, chop trees, forage, go fishing, hunt animals or collect fossils
  • Gain XP and level up to unlock more items and abilities
  • Build factories and put machines in them to manufacture goods
  • Plant crops or rear animals (don't forget to feed them!)
  • See More
  • Trade on the open market or unite with other players in a guild
  • Eat food. Easily forgotten, but can have bad consequences (such as your food expiring)
  • Craft resources, collect emojis, unlock kits...
  • ...and lots more. Click the button below for the full command list
  • See Less

PokéVenture

A Pokémon Game

A custom Pokémon game designed for Discord that borrows much of what made the original games good but innovates in some key areas to be more suitable for the platform.

  • A custom map filled with over 25 unique locations and over 100 unique trainers
  • A beautiful battle screen to fight pokemon with
  • All the 151 gen 1 pokemon you know and love, with over 400 different moves!
  • Pokéballs, Potions, IVs, EVs, Breeding, Shiny Pokémon, Type Effectiveness, Evolving...
  • See More
  • Get around by walking, cycling, driving, flying, getting the bus, getting a train, catching a plane or taking a taxi. Each mode of transport has its strengths and weaknesses!
  • Switch out your movesets at any time to experiment and try new combos
  • Battle Other Players, Replay Past Battles, View Stats, ...
  • What do you expect? It's Pokémon! In Discord! See below for all commands
  • See Less
What have I learnt?
💻

Python (discord.py)

🌐

JavaScript, CSS, HTML

💻

JavaScript (node.js), Python (Django)

📜

120,000+ lines of code

School Timetabling

🗓️

9 months

⏱️

250+ hours

🧑‍💻

Solo Project

an image of the user interface for the timetabling software

(Sorry, there is no dark theme)

A fully automated school timetabling system where teachers can choose how long they want for each lesson in advance. This cuts down on wasted time in lessons and prevents teachers from having to rush.

This is implemented through a genetic algorithm which simulates natural selection to generate a feasible timetable within a short time frame.

This was my A-Level Computer Science Coursework. This means it involved producing a lengthy write-up explaining the development process. While often tedious, this did make me pay extra attention to the quality of code I was writing and think more about why I was doing everything. You are welcome to read this by clicking the link below (but it's 250 pages long!)

In the end, the product did not manage full capacity at a school but still produced adequate timetables and could be taken further (it was already far beyond the scope of an A-Level Computer Science project...)

🌐

Python (Django)

🌐

JavaScript, CSS, HTML

📜

25,000+ lines of code

Collaborative Code Jams

🗓️

8-11 days

👪

Teams of 5

🌐

Python

Each year, the Python Discord Server runs a Summer Code Jam. In these events, randomly allocated teams of 5 people are given just over a week to create something using a given technology that fits a theme.

In each of these code jams I have led a team of people to create a cool project in a way that is fun and inclusive for everyone.

A Totally Generic Platformer

Theme "It's a bug, not a feature"
Using WebSockets

A totally generic, average platformer with nothing out of the ordinary... obviously...

Part of the submission included producing a short video to demonstrate the project.

The Video

Find out more in the README on the GitHub repo.

Notorious Narwhals

Theme "Think inside the box"
Using A Command-Line Interface

A physics-based game where resizing the terminal window would change the level. This could bounce balls off it or change the dimensions of objects to solve a puzzle.

This involved making our own physics engine and rendering engine from scratch.

In the end, we didn't end up finishing. Nevertheless, we had fun and learnt a lot in the process.

Find out more in the README on the GitHub repo.

Other Projects

Some other projects you may find interesting/useful.