Hey folks! 😀 For those that don’t follow me on Twitter, I thought I’d put together a list of changes, improvements, and things I’ve been working on these past 2 weeks.
Click for the headlines, or read for the nitty gritty details.
Related: The Future of Ludum Dare Part 1, Part 2, and Part 3. Suggestion Thread.
Initial Cloudflare Setup – Cloudflare is popular (and free) CDN that speeds up websites by hosting static files closer to you, wherever you are in the world. It’s now installed and working. This is just one of many things that will speed up the website for everyone, especially those outside North America. We’re still bound by how fast the server can fullfill PHP requests, which is next on the list.
Enabling Cloudflare is just the first step towards speeding up the website. Right now we are not optimized at all for CDN (well, not really). It handles those several megabyte animated GIFs people have been uploading great, but we’re wasting a lot of time in PHP and SQL queries, especially on static dynamic stuff. So like I said, next will be speeding up the PHP (OpCache, APCu), and doing various optimizations and updates to better utilize the CDN.
No more www in URLs – ‘www’ is so 1994. All www.ludumdare.com URLs will now resolve to their www-less counterparts. Hello ludumdare.com/everything. 
(PS: I’m saving the migration from ludumdare.com/compo/ to ludumdare.com for later. If I was to just do it, it would break a lot of the internet (links). So LD in its current form (WordPress) will continue to live in the /compo/ folder. We’ll be free once we’ve obsoleted it)
Fixes to the Donation Widget – The donation widget is some pretty old code. It’s based on an abandoned WordPress plugin named Donate Plus, that I had to ‘improve’ some years ago. In a sense, it has almost never actually worked correctly. It was supposed to talk with Paypal and sync transactions back and forth, but that stopped working after a month. Fortunately there was a way to manually add donations, which I’ve been doing ever since. No more! The plugin is now fixed. I still instinctively go to the control panel when I get donation e-mails, but now it’s just to admire that it’s done. Ahh the wonders of automation. 😀
There were more bugs, such as only supporting dollar amounts without decimals, fixed. I’m also now saving useful information like Paypal fees and actual Paypal e-mail addresses (wow).
All that’s left is making it correctly record who (what user account on ludumdare.com) donated. This is where I left off. I had made a fix, but it apparently does not work. I’ve written a script to match e-mail addresses with user accounts, but it seems many folks have multiple e-mail addresses. I’ll eventually add a way to claim a donation.
Added “Pre-Donation Widget” contributions – There were a few-dozen contributions to Ludum Dare before I set up the widget. These contributions are now part of the database. We now have a complete record of everyone that has ever contribution to Ludum Dare by Paypal. This will be useful. 😀
Post Previews Bug – Apparently only me and the other admins ever saw this. Anyways, post previews (drafts) now work for everyone again.
Updated Twitch Embed – Twitch finally updated their embed code from a Flash ‘object’ to an HTML ‘iframe’, and I’ve made the change. This means that Mobile and Tablet browsers can watch Live Streams from the website too!
The new embed also supports the Chromecast, which if you have one is pretty sweet.
Broadcast Tracking (and hello LDtv) – LDtv you say? Well it is 2014 (soon to be 2015), and video is kind-of a thing. I want us to better support video throughout the website, and I don’t just mean the Twitch widget. I mean all video. From lets plays on YouTube, to alternative streaming services like Hitbox. I want video to become a bigger part of LD, so much, that I’ve given this advocacy project a name: LDtv.
As for broadcast tracking, this started when I noticed something kind-of amazing the other day.
It was a Tuesday afternoon, just after Lunch, and there it was: The Twitch Widget, full of Live Streams. Again, this was a Tuesday afternoon. Aside from the October Challenge, there was no Game Jam going on. It wasn’t even a weekend! It’s a weekday, and there are 7 people streaming development to ~60 viewers!
What!
In the grand scheme of Live Streaming, yes that’s a small number, but it tells me something: Game Dev Live Streaming is catching on. I always assumed streaming was going to be one of the ways LD would be relevant in the ‘off season’, but here it was, happening right before my eyes.
I started asking questions: How long has this been going on? Why hadn’t I noticed this? What can I do to help it thrive even more? And like most of my Twitter ramblings, I said what I had to say and moved on to the next thing.
Are we at 24 hours of constant streaming yet?
A couple days later I wrote a PHP script to start tracking this. A cron job, every 5 minutes, hit Twitch and see whose online. Left it overnight to see how that would go.
And the scary thing: Yes, some days, we are at 24 hours of streaming!
We are talking 1 person carrying the night shift, but it happened. The first night I started tracking the data, there it was. I’ve also learned Sunday nights and Holiday nights have a lull where us Canadians and Americans sleep. But when I wake up tomorrow morning, there will be streaming, and it’s great.
I’ve put together a special page where you can find additional live stream data. In a sense, this is the beginnings of the larger LDtv project. Generally, we need to start caring more about the video content people are creating, and in this case, the people putting a lot of hours in to streaming. Figuring out who those people are. I’ll have more stats, charts and things to share soon.
Hitbox.tv Live Streaming Support (LDtv page only) – It’s not yet available on the front-page Widget, but the stream tracking is also tracking Hitbox.tv streams. For those not in the know, Hitbox is a lot like Twitch, but they’re not owned by Amazon (for better or worse). A number of folks have been asking for Hitbox support, and we now have it. Coming soon to a Widget near you!
YouTube Live Streaming Support (LDtv page only) – Like Hitbox, this isn’t available on the Widget yet. Long term, I want LDtv and the Website to do something with YouTube videos, so I began doing some research in to Google’s APIs. One thing lead to another, and we now have YouTube Live Stream Support!
YouTube streaming supports both Google+ style “Hangouts On Air” and proper YouTube Live broadcasts. Curious about YouTube streaming? You may have to go to your YouTube account settings and enable it. To compare, Twitch and Hitbox work essentially the same, but YouTube has a built-in DVR. This means as a viewer, you can rewind and fast forward through a Live event, or hit the LIVE button to resume watching Live. It’s pretty cool. That said, YouTube Live is a bit like an aircraft with lots of buttons and switches. Powerful, but complicated.
Header and Sidebar Declutter – One of the ugliest parts of the website is the madness that goes on in the page header and the sidebar. I’m often asked where to find things, many are right in the sidebar or header. Obviously, what we have isn’t working, so I’m going to try to fix it. The Mailing List, IRC, and Reddit now have big icons on the sidebar. I’m told they act funny in some older browsers, so I’ll continue to tweak the code. This is just the start. I plan to continue tweaking and improving the layout as we go.
Steam Widget (Curator and Group) – Ludum Dare has a Steam presence. Originally we had a small Steam Group of 200-some members, and it was okay. But then Steam Curators happened, and with some effort, we managed to become a Top-50 curator. Unfortunately we have slipped, down to the Top-60, but that’s still good! That’s nearly 2600 people, LD’ers and Gamers, that will now hear about your Ludum Dare games as they cross over in to PC’s biggest game market. And the higher we go, the more people we can share your games with. 😀
We also used to have a ‘Featured Post-LD Games’ list that, to be honest, in recent years was just a Steam Games list. There’s just too much volume on iOS and Android, that I had to limit it to places with less volume. That said, of the 14 Ludum Dare games on Steam, 8 have come out this year, with the another coming next month, and 1 more scheduled for 2015. Steam is growing fast too thanks to Greenlight, and Valve has now made it easy for us to collect games.
Rarely talked about, we’ve had a Ludum Dare Steam Group for years too. A good 200 people found it organically, but now seems like a good time to open the floodgates.
So I’ve combined these 3 Steam things together in to a single custom Steam-like widget. Visit the website and scroll down; It’s hard to miss. The Featured games list is now a random 3 Ludum Dare games available on Steam. Currently, the stats update ever 10 minutes (I may bump this). It still needs some work, but check it out! I’m pleased with the results.
Unfinished: Patreon and Donation Goals Widget – It figures. The important thing as I saw it going in to this Ludum Dare update plan was to highlight how much money we’ve taken in, and how I’m doing towards my goal. Some of the first code I wrote 2 nearly weeks ago was a parser for the CSV file that Patreon spits out. Alas, this got back-burnered, to hopefully pick up and finish today (Monday). Nope, but I did get close.
To say I’m rusty with PHP would be an understatement. I’ve been spending a lot of time in recent months doing JavaScript gamedev, but unless I was going to rewrite the site with node.js, this doesn’t do me a lot of good. Part of me wanted to take on some less-scary code first (i.e. not Money), and the other part wanted to do things that sounded fun (like reverse engineering Steam’s website a bit to get curator data, data without APIs), which is how we got here. And now that my initial LDtv data gathering and Steam widget are working, I’m ready to finish what I started.
Wrap up – I think that covers all the big things. I’ve been doing some general research on other Web APIs (Reddit (OMG EASY), Twitter, Facebook) as well as some work on the rewrite plan for next year (LD2015), mockups, and lots of note-taking.
I have a video I may do this week, this time about something I’d like to change (the hashtag). Stats always tell us that half of all participants in an Ludum Dare event haven’t done one before, so the simpler we can make it, the better. And given that we’re up to our 31st event, of 48 or 72 hours in length, #LD48 or specifically “48” is about as vague as you could get (I’m thinking: #LDJAM or #LDjam). Anyways, this is a rabbit hole, so lets save this discussion for later.
You made it to the end! I’m finished my long ramble-rant! Hooray for you!
FYI: I’ll be kicking off our ‘5 week countdown’ to Ludum Dare 31 with a bunch of stuff on October 31st. Theme Suggestions will open, but I’ve got a extra special thing for the artists. Stay tuned! 
That’s it! We’re done. Until next time!
* * *
PS: I thought about calling this the Ludum Daregest (Digest), which lead me to Ludum Daregeist, and to Ludum Der Geist, but that was too spooky. 😉