Community


13 Games in ≤ 13kB of JavaScript · js13kGames 2018

As the seventh annual js13kGames competition comes to a close, a grand total of 274 games were submitted. Even more impressive, each one was created in a single month, using less than 13 kB.

We rounded up a few of our favorites featuring a number of different styles and genres. From dark shooters and pixelated beat ‘em ups to perplexing puzzle and platform games—enjoy some downtime this weekend and play them all (or fork and hack on them with your own customizations)!

UNDERRUN

UNDERRUN is a twin, stick shooter “in 256 shades of brown,” using webGL from @phoboslab. In this game, you must defend yourself from predators while figuring out how to restore power to fix all system failures. Sounds simple enough, right? See for yourself when you play this highly-addictive shooter (and enjoy the haunting music). Read more about how the game was created in the retrospective.

► Play in your browser · View source

Envisionator

@DennisBengs created the challenging puzzle game, Envisionator. The goal of the game is to escape a building on lockdown by giving a robot commands. What’s the catch? The robot needs you to give it each and every direction, step by step—one false move, and…well, you’ll see! Play Envisionater to see if you can escape.

► Play in your browser · View source

ONOFF

Things aren’t as black and white as they appear in ONOFF. Dodge spikes, jump over pits, and toggle between dimensions. Think you can overcome each level of traps? You’re in for a treat with this mind-boggling, fast-paced platformer from @starzonmyarmz and @braddunbar. Play it to see what we mean!

► Play in your browser · View source

The Chroma Incident

The Chroma Incident by @Rybar is also a twin, stick shooter but with a few more colors than UNDERRUN. The problem is the color’s been stolen by the Achromats, and it’s up to you to bring it back. Shoot your way through areas to reclaim those colors—give it a go!

► Play in your browser · View source

The Matr13k

Get nostalgic and relive some of the intense fight scenes with Neo from The Matrix. Use the arrow keys, S to kick and D punch your way through this JavaScript matrix from @agar3s. Can you find a way to the end of the rabbit hole before it’s too late? Play The Matri13k and test your combat skills.

► Play in your browser · View source

1024 moves

Not to be confused with 2048(!), 1024 Moves is a polished puzzle game from @GregPeck. Get the ball, and avoid the holes—what’s the catch? See if you can solve the entire game in less than 1,024 moves. Play and test your problem-solving skills.

► Play in your browser · View source

Geoquiz 2

Think you know a little bit about world geography? Or are you lost with even the simplest of directions? Prove how much of a geography all-star you are by playing Geoquiz2—or brush up on your worldly knowledge. You can even read about how @xem made the game in the GeoQuiz2 retrospective.

► Play in your browser · View source

Spacecraft

@tricsi’s Spacecraft challenges you to collect as many data tokens as possible from the planets and moons of the Solar System. It’s easy—until gravity accelerates your ship, and you have to avoid obstacles along the way in, “space, the final frontier.” How far can you go before your probe goes offline? The only way to find out is to play on.

► Play in your browser · View source

Off the line

How are your gaming reflexes? You’ll quickly find out when you jump Off the Line to collect coins in this arcade tapper from @regularkid. Take your time to figure out the best way to collect coins, or go crazy with a timed, ultra difficult ULTRA MEGA MODE (if you’re feeling lucky). Play it and see how many coins you can collect.

► Play in your browser · View source

Exo

You are the commander of a long-forgotten expedition to a distant star, and there are forces out to get you. Survive waves upon wave of enemies in Exo, a space-based tower defence game brought to you by @scorp200. Play Exo to unravel the story, arm your base, and reclaim your expedition.

► Play in your browser · View source

Everyone’s Sky

You are in control of your destiny in this space-based exploration game. Will you fight for the good of all or make enemies by being evil? Forge alliances, study star systems, fight against enemy combatants, and more in Everyone’s Sky from @remvst.

► Play in your browser · View source

Submersible Warship 2063

In @herebefrogs’s Submersible Warship 2063, enemy submarines are invading, fast. Make strategic use of your sonar to identify targets and evade torpedoes. Can you beat them before they beat you? Stay off enemy radar, and fight on by playing Submersible Warship 2063.

► Play in your browser · View source

Re-wire

If you enjoy playing high-stakes puzzles, Re-wire was made for you. Bring the system back online by rewiring power nodes, but watch out for the traps! This game from @JMankopf will have you… wired to it for hours.

► Play in your browser · View source

This was such a difficult list to narrow down, as we enjoyed playing all of the JS13K entries. There are hundreds more to discover including a procedurally generated art game, an audio surfing game, and even a 13kB Battle Royale game—watch out PUBG and Fortnite!

View this year’s list of games from 13kGames

Do you have a favorite, a high score, or a fork of your own to share? We’d love to hear about it! Let us know with the #js13k hashtag.

Thank you to everyone who participated, all of the judges, and especially @end3r for running this great competition every year. Until next time! <3

GitHub Developer Story: Abi Noda

We spoke with with Abi Noda (@abi), the creator of Pull Reminders, about how he has grown his project from an idea into a profitable business on the GitHub Marketplace. To learn more, check out his talk at GitHub Universe, October 17 in San Francisco.

Tell us a little bit more about yourself—how did you get started in software tools?

My name is Abi Noda, and I’m an independent developer based out of Chicago.

My first experiences in programming and business were in middle school. I taught myself how to code, so I could build a website for my Counter-Strike team. I learned about sales by hustling modded nerf guns on internet forums. A disgruntled buyer even taught me about customer support by telling on me to my parents when his shipment was delayed.

By my junior year of high school I was on a different track. I was spending half my week practicing flute, so I could get admitted to a top music school. A career in software development wasn’t on my mind but I thought I could use my programming skills one last time to create a web design portfolio that would impress college admissions. They probably wouldn’t have liked my nerf guns.

As I was working on my portfolio I fell in love web design. Saying this makes me feel old, but this was right around the time that CSS was becoming popular. I remember buying the CSS Zen Garden book and staying up late looking all the beautiful designs you could create on the web. I discovered people like Jeffrey Zeldman, Paul Boag, and Jason Fried. I filled my RSS reader with hundreds of blogs on design and software. I was also introduced to the idea that you could make a living building and selling your own software products.

I’d spend hours at the computer lab every day reading blogs and learning about things like Swiss design. My first actual programming book was PHP and MySQL Web Development by Luke Welling and Laura Thomson. I bought the book so I could learn more about backend development and try and land a summer internship after high school.

I was able to land that internship and have been a professional software developer ever since. I’ve worked in different roles ranging from UX design to managing enterprise software teams. I am drawn to work that lets me have transformative experiences while making an impact. My past projects have included helping re-elect Barack Obama, teaching students at Dev Bootcamp, and working in Libya after their revolution to build a voter registration tool for the government.

My ultimate goal has always been to work for myself. I love the process of building products from scratch and seeing them into customers’ hands. I also enjoy the freedom of being able to express myself creatively through my work however I choose. I’ve started a couple businesses in the past but Pull Reminders is by far my most exciting project to date. If there’s one thing my journey has taught me, it’s this: just like there are many paths to becoming a programmer, there are many paths to starting your own business.

Could you introduce Pull Reminders? What does it do?

Pull Reminders helps development teams stay on top of pull requests and complete code reviews in a timely manner. If you’ve ever waited a long time for a code review and had to nag people on your team, you’re familiar with some of the problems Pull Reminders solves.

With Pull Reminders you can set up automated reminders in Slack channels and have everyone receive direct messages about their assignments. Pull Reminders also gives you insight into metrics like review turnaround time and number of reviews completed, helping you recognize contributors and improve your team’s code review process.

More than 400+ companies use Pull Reminders, including Pivotal, Instacart, and Trivago. Open source projects like Cloud Foundry, SaltStack, and Sensu are also on board.

Pull Reminders interface

Pull Reminders leader board interface

Why did you build pull reminders?

I got the idea for Pull Reminders at my last job as an engineering manager. We had a pretty typical process for code reviews where we’d open pull requests and share them in Slack. I remember one time I asked an engineer on my team about a pull request that had been stale for a couple of days. He told me that he had asked someone for a code review multiple times and had gotten tired of reminding them.

From that point on, I started personally scrolling through all of our pull requests and pinging people on Slack that needed to take action. I hated spending my time this way, but it really helped the team because otherwise pull requests would drag on and take longer to release.

When I left that job I couldn’t shake the idea of building a tool to automate what I had been doing. I was also hesitant because I wasn’t sure if anyone else would want to use it. My side project graveyard was already big enough.

I overcame this fear by doing more research. I asked some of my peers in a “Chicago CTO” Slack group whether they had problems with pull requests dragging on, and a few responded yes. I also looked for existing solutions and found a bunch of “pull request reminder” projects on GitHub that were similar to my idea. This was proof to me that this was not an uncommon problem.

I built the first version of Pull Reminders in a couple of weeks and took it live at the end of January. At this point I had no expectations of making money. I had actually planned on letting people use Pull Reminders for free.

After launch, I started getting a small number of signups through the Slack App Directory. I emailed every user that signed up to find out who they were and what they were hoping to get out of Pull Reminders. A couple of those early users were from larger companies, and I could tell they were taking my product seriously because they asked for lots of changes. I kept making changes based on their feedback until they seemed satisfied. Then I asked if they would be willing to pay. I thought I had about a 30% chance of success, but it worked. Landing those first paying customers proved to me that Pull Reminders could be an actual business.

My next big moment was getting Pull Reminders into GitHub Marketplace back in April. GitHub Marketplace has given me a boost in signups and helped me grow my business without spending a lot of time on marketing.

What has been your favorite feature of the GitHub API?

My favorite feature of the GitHub API is the amazing team behind it. Ivan Žužak and Francis from the Support Team and Steve Winton from Partner Engineering have been incredibly helpful at every step of my journey. I can’t count the number of times they’ve unblocked me.

Many other people from GitHub have supported me along the way, and these small interactions have meant a lot. Knowing that people from GitHub are there to help inspires me to continue building new products on the GitHub Platform. It feels like a true partnership.

What was the most difficult part of integrating Pull Reminders with the GitHub API?

My biggest challenge hasn’t been with the API itself; it’s been figuring out how to support all the different code review workflows teams use on GitHub.

Many teams request code reviews by using review requests. Others use labels, prefixes in titles, or GitHub’s “required reviews” setting to move pull requests through their process.

Things get even more complicated when you factor in the different ways teams organize in Slack. Small teams usually discuss pull requests in one common channel, but teams at larger companies often have their own channels even if repositories are shared.

It’s taken a lot of work to make sure that Pull Reminders works well for these different workflows. I’ve mostly done this by breaking down the different workflows in detail and designing functionality based on that. I also allow teams to customize certain settings, but it’s tricky to offer configurability without making the tool complicated and difficult to use.

Did you work with the new v4 GraphQL API?

When I started building Pull Reminders I chose the v3 REST API because I was not familiar with GraphQL and the v4 GraphQL API did not yet support GitHub Apps. Fast-forward to today and both of these things have changed. I am keeping an eye out for opportunities where the v4 GraphQL API may be useful.

What are the biggest challenges you’ve faced and obstacles you overcame?

As the only founder it can be difficult to stay positive and motivated. When you invest so much of yourself into creating something it can be scary to risk rejection and release it into the world. Sometimes I get down about unimportant things. For example, if I have one week where my signups dip or a customer I admire doesn’t purchase a subscription, I start to get negative thoughts. It feels silly because my business is growing well and I feel lucky to be in the position I am.

Another problem I have is being a perfectionist. It’s easy for me to go down rabbit holes and labor over details that aren’t practically benefiting my business. I’ve had to stop myself from wasting time overly refactoring code or redesigning something that looks good enough.

Being a perfectionist can really backfire because when you start over-scrutinizing your work, you often end up making it worse. When I was working on my responses for this interview I started wordsmithing things to the point where I was making it longer and more boring. I had my brother and a couple of my friends rescue me by proofreading and telling me to stop.

What are your plans for the future?

Right now I am working on a new GitHub App. I’ve found that there’s growing interest amongst engineering leaders to use data derived from GitHub activity to inform decisions and improve performance. I’m working on a new product called “Dev Insights” that’s aimed at solving this. For example, it will allow organizations to set code review turnaround time SLA’s by team or repository, then track how well they are doing at meeting their goals both as an organization and individually.

In addition to building stuff, I also want to help other developers. Many developers I know want to have their own business that they can eventually work on full time. My journey has had many twists and turns and one thing I haven’t talked about is all the people that have helped me along the way. I’d be happy to answer questions from any readers that are going down a similar path. I’m also working on a new blog where I’ll share what I’ve learned and create guides on everything from incorporating and taxes to sales and customer support.

We hope you enjoyed our interview with Abi Noda (@abi). If you’re interested in building your first GitHub App, get started with our quickstart guide. Or find Pull Reminders—and dozens of other GitHub Apps—on GitHub Marketplace.

Join the Social Impact Hacktoberfest Challenge

Hacktoberfest Social Impact Challenge

From October 1–31, we’re once again partnering with DigitalOcean and Twilio for Hacktoberfest—a month-long event celebrating the open source community by encouraging developers to contribute to open source projects. This year, we’re also partnering with and highlighting several projects using open source to make the world a better place. We hope you’ll join us in supporting this socially impactful work by contributing to these projects:

alex

Alex makes sure your writing is considerate by catching potential insensitive phrasing.

Alex example output

Support needed:

  • Website and documentation help on alexjs.com, including new phrases to catch and improved messages for the words they already catch
  • Translation, including possibilities to translate the project into languages other than English or support HTML alongside Markdown and plain-text

Contributor level: Beginner to advanced

REFUGE Restrooms

REFUGE restrooms indexes and maps safe restroom locations for trans, intersex, and gender-nonconforming individuals.

Refuge restrooms website

Support needed:

  • Multiple areas. The team is looking for help with tasks of all sizes. As an all volunteer open source project, there are plenty of opportunities.

Contributor level: Beginner to advanced

GliaX

The GliaX project is making health care accessible to everyone, everywhere. They use the newest in tech to make high-quality open source medical devices and increase availability to those who need them.

Support needed:

  • Usability improvements, including improvements to the stethoscope, otoscope, and tourniquet devices
  • Engineering and firmware, including help for the pulse oximeter and electrocardiogram devices

Contributor level: Advanced

HospitalRun

HospitalRun aims to improve access to medical care for some of the most vulnerable patients in the world by improving the software tooling that hospital administrators in charitable hospitals use to facilitate care.

Support needed:

  • Bug fixes
  • Feature development in Ember.js

Contributor level: Intermediate to advanced with knowledge of Ember.js

if me

If me is an open source, not-for-profit mental health web app that encourages people to share their experiences with loved ones and trusted allies.

Support needed:
The team recently redesigned their app, so there are opportunities to refactor code and improve performance, usability, and accessibility.

  • Blog support
  • Community organization
  • App translation
  • Feature improvements

Contributor level: Beginner to advanced

Talk

Talk is an open source commenting platform focused on better conversation, brought to you by Mozilla, The Washington Post, and The New York Times.

Support needed:

  • Moderation features like new searching and filtering capabilities or custom moderation queues
  • Commenting features like new reactions, new badges, or adding translations
  • Features ranging from adding or changing CSS on the frontend to adding custom plugins and API/backend enhancements

Contributor level: Beginner to advanced

Humanitarian OpenStreetMap

Through local people, local tools, and open knowledge, the Humanitarian OpenStreetMap Team works to provide open map data and tools to revolutionize disaster management, reduce risks, and address the world’s toughest challenges. When major disaster strikes anywhere in the world, thousands of volunteers come together online and on the ground to create open map data that enables disaster responders to reach those in need.

Support needed:

  • Documentation
  • User-experience improvements
  • Application performance improvements

Contributor level: Beginner to advanced

OptiKey

OptiKey is an on-screen keyboard designed to help Motor Neuron Disease (MND) patients interact with Windows computers. OptiKey seeks to allow anyone to use their computer fully with only head or eye movements. Never should someone with a disability have to pay for the ability to speak to their loved ones and stay in touch with the world around them.

Support needed:

  • Bug fixes
  • Technical support for extending OptiKey with new features

Contributor level: Beginner to advanced


Join the Community Forum Challenge

In addition to inviting you to contribute to these open source projects, we’re hosting a challenge in the GitHub Community Forum where you can get recognition for contributing to projects from the Social Impact Collection during Hacktoberfest. For more information on the challenge or to sign up today, please head over to the challenge home page.

Those who complete the challenge by 11:59pm PT on October 31 will receive a limited edition badge on their Community Forum profile in recognition of their achievement and to thank them for helping projects make a positive impact.

Open Jam is back

Join Open Jam 2018

Returning for its second year, Open Jam is an 80-hour game jam brought to you by @Jared-Sprague, @mwcz, and opensource.com. Game jams are focused on creating games with a few constraints, like adhering to a limited time frame in creating a game, staying within a theme, or using only a specific technology. Participants are encouraged to use open source game engines, libraries, tools, and Creative Commons assets.

Last year’s Open Jam theme ‘Leave a mark’ brought about a frenzy of fun games including Stellar Wrath, a game about solar system sabotage created with Godot.

Stellar Wrath loading screen

Open Jam is a perfect excuse to experiment with building a game if you haven’t before. With so many tutorials online and a growing number of game engines, it’s easy to make an addictive Java-based text adventure or JavaScript-powered platformer.

The three top-rated games of Open Jam will have their playable demos featured at the All Things Open conference in Raleigh, NC from October 21–23.

Stellar Wrath by DualWielding was one of last year’s winners on display at All Things Open.
Pictured: Stellar Wrath by DualWielding was one of last year’s winners on display at All Things Open.

The 2018 events kicks off on October 5, so keep refreshing the itch.io jam page for the theme announcement, tips, tutorials, and competition details. If you can’t participate in Open Jam, don’t worry—Game Off, GitHub’s very own month-long game jam, will return next month.

Join Open Jam 2018 now

Celebrate Hacktoberfest's 5th year - Amsterdam edition

Hacktoberfest Amsterdam

Join us at the GitHub office in Amsterdam for Hacktoberfest’s 5th anniversary! On Tuesday, October 2, from 19:00 to 22:00, we’re celebrating with food, drinks, learning, and great company.

Learn how to contribute to open source from local maintainers, get up to speed on how GitHub works, and make some pull requests. The evening will begin with presentations from local open source maintainers, an introduction to how open source works, and how you can contribute. Then we’ll help new and experienced folks get down to business. Don’t worry—we’ll have plenty of snacks and stickers to help fuel your ideas.

New to open source? We’ll help you along the way. Already an experienced contributor? Come and hack on your favorite project, and help mentor folks! No contribution is too small, and we’ll have lots of help on hand, including @DEGoodmanWilson (GitHub) and @floord (Phusion).

Register now

Date: Tuesday, October 2
Time: 19:00 - 22:00
Address: Spaces Vijzelstraat, Vijzelstraat 68-72, 1017 HL Amsterdam


Can’t make this event? It’s not too late to find another one nearby, or even organize your own event at your club, school, or workplace!

Events are kicking off all around the world:

…and more, coming to a city near you!

Check out the Hacktoberfest Event Kit for more information.

Newer

Changelog

Subscribe

GitHub Universe logo

GitHub Universe

October 16-17 in San Francisco
Get tickets today

Discover new ways to build better

Try Marketplace apps free for 14 days

Learn more