Hello everyone! This is a rather long post but I'd love if you could take the time to read it all.
April is here, and I'd like to share some updates regarding our progress on both Hacker Experience 2 and 1.
April is a special month because it marks two full years of development of Hacker Experience 2. The first year we worked "undercover", making the project public only on May, 2016. On June we've run the crowdfunding campaign, which has helped fund HE2 development until now.
Since the first day we started working on HE2, on April 2015, we knew we had a massive challenge ahead. Yet, we also knew the game we've had imagined would be amazing and worth this effort.
However, after two full years of work we still have no game to release. How is this possible? Why is this development so slow? I made these questions to myself, trying to figure out what was wrong. I've reached an insightful conclusion which I'd like to share with you.
The road to a game
The game we have planned and are working on is totally different from the one we've planned originally. Specially during the first year, the whole game went through several redesigns. I remember one of these redesigns, which prompted our whole game interface, almost ready back then, to be thrown out and recreated from scratch.
Why would you do that, one might think. It's simple. We've developed the game until a point we saw a major improvement (or major flaw) and we've shifted the development and design work towards this new route. We've being doing this, on different scales, pretty much every month of development.
Some of these "direction shifts" are greater than others. I can remember four that made us rework almost everything we've had done from scratch. Some were technical. Others were drastic changes on game design.
There are two main questions to be asked here: First, were these changes worth the effort? And finally, when will we reach the "Good Enough" point and work until the end?
Let me answer both: It was totally, absolutely worth the effort. Not only that, I'm pretty sure you wouldn't like the original HE2 (the one we had in our minds in 2015). The HE2 you saw on Indiegogo was the result of two major redesigns. And the one we have in mind now is even better!
And I'm happy to say that we've finally reached the GoodEnough point where we are satisfied with both the technical and design outcomes of Hacker Experience 2. In other words, this means we are on the home stretch now.
After the crowdfunding campaing ended, HE2 went through two major redesigns. One was technical, when we decided to use a different set of technologies, both on the frontend and the backend, to produce the game. The other one drastically changed the game design.
Both these major changes ended between October and December, 2016. However, we've still had to build the "skeleton" or "framework" of our application, and this took us 3 months. It was a lot of hard work, and it also went through several rewrites, but we've reached a stable point on our application architecture.
In simple words, this framework we've been working on lays a basis on which to build the actual game. It has several advantages and was designed with our specific use-case in mind, which means it is tailored to HE2. However, and this was a design goal, this framework can (and will) be used to build other games and real-time applications. Whatever our team work on after HE2, we'll use and improve this framework.
The home stretch
Yes, we are (very) late. Several things contributed to the delay, specially these major redesigns and external factors (too long to access the money, too long to find a new hire, etc).
However, we are almost there.
Before going on with this post, I'd like to thank the contributors and backers with all of my hearth, for you have been amazing. I received uncountable supportive messages from you that really made the difference. We've been working under A LOT of stress ever since the first schedule was postponed, and I have no doubts that the way YOU handled the delay has made US not give up.
We recognize we are taking longer than expected. And we'll make up for it (keep reading). A lot of what we work on daily goes unnoticed, but if anything, please know that we've been working really hard to create a really amazing game.
Anyway, back to the topic...
After so much time of development, we've entered a different phase. We feel close to the first release, and there's a reason for it.
As I said before, most of our previous work was focused on creating the platform that HE2 runs on. This work is very generic, low-level and not directly related to HE2 (rather, it's a requirement). But now it is mostly done.
For the past two weeks, we've been working ON HE2, using this platform. In other words, now we are actually implementing the game mechanics. It's a higher level when compared to the platform. And it's a much more enjoyable work.
During these two weeks we've seen real progress on the game itself. Since we don't plan on throwing any of it out, and most of the platform is ready, we feel we are finally close to the first release.
As always, it's hard to say how close, but we do have a plan. Please keep reading.
On my last post I've announced project HEBorn, which is a remake of HE1 using 100% HE2 code. This remake will be free and open source, available online and playable through a web-browser or a mobile app.
The main rationale of rewriting HE1 using HE2 code was that we could test and fine-tune Hacker Experience 2 code and design variables into a "sandbox". It would also allow us to actually see our progress on HE2.
Reusing HE2 code on HE1 ended up being WAY better than expected. We've managed to progress much faster on HE2 simply by seeing what was ready and what wasn't. So far, only the backend would be reused. We've expanded the scope of HE1 to also reuse HE2's frontend code, making both games use Elm on the frontend.
The end result was great. HE1 will not only use 100% of HE2's backend, it will also use ~70% of HE2's frontend. And the 30% part, specific to HE1 or HE2, is the "easy" part. The low-level, harder stuff is the same for both apps, and it's almost ready!
That's why the release of HE2 depends on the release of HE1. Once HE1 is ready and tested, we'll reuse its Elm code on HE2, changing only specific design stuff. Under the hood, most of HE1 frontend runs the same HE2 frontend code, even though both look totally different!
I've been working on the interface code for both HE1 and HE2, and I'm really excited at the results.
Pedro just joined our team. He has extensive knowledge on C, Java, Ruby and web technologies. He is learning Elm throughout this week and we hope next week he'll already be able to help code the client for HE2 and HE1 with me.
I've been trying to hire someone like Pedro for over three months. This was another major reason for failing the March deadline. I'm really happy we've finally managed to find someone. By the way, we are hiring, but you must be in Brazil :( This will likely change in the future though.
Finally, here's our plan for HE1 and HE2.
We want to start a closed test of the new HE1 game on April, 23rd. On May, 7th we want to make public the new HE1. On June, 5th we plan to release the first basic version of HE2.
Both releases of HE1 and HE2 will follow an evolutionary model: it will be quite basic at first, containing basic gameplay, and we'll extend it iteratively, as time goes on. We feel it's important to release as soon as possible, so backers/contributors/players can see our progress.
The basic release of HE2 will not be as basic as HE1, since all improvements made on HE1 will be available on HE2. In other words, HE2's first release will contain whatever features HE1 have at the time (which should be most expected for BETA, except for the geolocation mechanics).
Since both HE1 and HE2 share the same codebase, all iterations/improvements on one are valid to the other. This applies both for the backend and the frontend. Therefore, we invite all HE2 backers to try out HE1, since more feedback equals more data for better improvements.
Making up for the delay
As I said above, we are late and we are aware of this. I appreciate the support from our backers, but I need to make up for the delay.
First, and something I've been telling for a long time, is about our refund policy. If you think the game is taking too long to get released, you can ask for a full refund at anytime, no questions asked. Just send an email to firstname.lastname@example.org.
You'll be able to ask for a refund until you have actually played the STABLE version of HE2. The Stable version has no release date. Just so you get an estimate, the June, 5th release is the Alpha version. We expect to reach BETA status around July, 30th. Stable status would only be achieved 2 months after BETA, around October, 1st.
Finally, I said on my previous post that I'd make up for the delay. I just did not want to tell exactly how. Well, let me give a preview.
Everyone who pre-ordered HE2, either through Indiegogo or our website, will get their order doubled. You'll get double of what you bought.
So, for example, if you bought one BETA account, you'll receive two. You can use this extra one to invite a friend or maybe sell it on ebay (?). If you bought one Virtual Building, you'll get two. And so on.
There's one more. Those who bought BETA access will be able to access the first Alpha release of the game (expected June, 5th), and those who got the non-BETA perks will be able to access the BETA release (expected July, 30th).
This is not all. Once we get closer to the actual release of HE2, I'll share more "extra perks" that you, who have patiently waiting for the game, deserve. I feel that's the least I can do.
Follow our work on Github
Recently we've decided to migrate from Phabricator back to Github. The rationale is better explained on our so-called Development Center, but in short: Github made several improvements in the past couple years, becoming at par with Phabricator's core development features.
All else being equal, we favor Github because it has a much friendlier UI and its atmosphere breathes collaboration. Basically, we feel there is a synergy on Github that makes open source work flow smoothly.
This all sounds too "good vibes" and stuff, but after ~3 weeks of work on Github, we feel we've been MUCH more productive. Go figure.
Anyway, this means you can follow our work, see what we are doing on a daily basis (you could already do it before, but now it's easier I guess). Our organization lists our repos, the main one being Helix. The client repository is still private, soon to be made public.
Oh, and here's an interesting note. We are almost ready to receive code contributions. If you know Elixir or Elm, you might be interested on contributing to our backend and frontend codebase, respectively. If you don't know, we invite you to learn them, as they are fun, productive and totally worth the effort (and maybe could land you a job with us?)
Game Design Wiki
Since we migrated away from Phabricator, I've decided to consolidate all our previous discussions about game design on a wiki page. It still is a work in progress, meaning I'm in the middle of migrating the content from Phabricator to the GameDesign repository (which updates the wiki page).
We still have many rough edges on the design of the game, but those are pretty much details. The "core" design is ready and has been tested internally for a long time. As I said above, we feel this "core" design is ready to be turned into a real game.
However, these remaining "details" make up for a lot of work (at least it's a fun one). We invite you to join existing discussions, read the "game design not document" wiki, and suggest new features/mechanics/improvements by opening a discussion (issue) on the GameDesign repository. Please note that we are still migrating the content from Phabricator, so the wiki and the issues are still missing a lot (or all) of the original content/discussions.
Almost forgot this one. We just launched a Mattermost chat (similar to Slack), which is focused on discussing the game development itself, as well as game design, translations and stuff. Game developers won't usually be in the public channel because these can be quite distracting, but you can get/offer help to others who wish to contribute and might be, you know, lost.
Well, this is it. I hope this post managed to give a gist of our progress, as well as shed some light on "why oh why you are taking so long". In short, it's because we want to create a truly great game :)
I'm happy to answer any questions you might have, either here (Disqus) or on my email. I prefer the latter.
Just a side note: I'll be undergoing an eye correction surgery in two hours (oh my god just realized I'm ALSO late for this) so I'll probably be completely off the grid for the next two days.
 - We still have financial security for another ~6 months of development, made possible by the remaining of the crowdfunding money, on-going pre-orders and personal investments.
 - I'm being too simplistic. There is a lot of difference between Phabricator and Github, and the simply fact of Phabricator being self-hosted is by itself a BIG pro and a BIG con. For the purpose of this discussion, though, let's focus on the core development features (bug tracker, review, repository hosting)