early-bird contributors

published 18 May 2016

In our efforts to release the osu! client as open source, we still have a lot of clean-up and refactoring that needs to be done. I’ve been putting in as much of my own time as possible to make this happen, but things are still a bit slower than I’m hoping for.

Last meeting I made the decision to fork what is known as “lazer” into a new git repository. The purpose of this would be to remove all history, confidential code, deprecated systems etc. and provide a new starting point for the open source future.

While we are not ready to make the open source project available, I am now seeking developers who are interested in helping out before this happens. Because this is an effort to increase efficiency, applicant criteria are very strict, so make sure to read the carefully before applying:

  • Agree to work under a non-open source licence (all contributions would be copyright ppy Pty Ltd).
  • Have a confident knowledge of c# 6.0 and be able to prove it with github projects.
  • Have a confident knowledge of tree-based rendering.
  • Willing to work on specific areas we require you to focus on.
  • Be an amicable person.
  • Happy to work without rewards (though as always, I will try to reward significant contributions at rates beyond expectations).
  • Have enough free time over the next few months to contribute at a decent rate.

If interested, contact using a plain text email at lazer@ppy.sh. Include a link to your github profile and any reasons you want to be included on this project. I will give precedence to people who I am familiar with.

Don’t necessarily expect a reply; I’ll only reply to those people who we decide are good fits for the team. Also keep in mind that we are not ready to accept contributors so replying may take a week or two.

If you apply but miss out, please don’t be disheartened! This is a very targeted team only to help us prepare osu! for mainstream contributions. You will have your chance soon :).

comments

2016-04 dev meeting

published 04 May 2016

Guess who’s back again with another set of delicious monthly meeting notes? Ephemeral, that’s who.

There’s a fair bit to get stuck into this month, so let’s get cracking straight away. As always, these notes only encompass a tiny portion of what is actually going on behind the scenes, so get hyped!

  • Progress on the open-source branch known as “LAZER” progresses at a good pace. Additionally, one portion of osu!’s performance metric calculator went open source in the days before the meeting, allowing the technically inclined members of the community to create their own pp calculators.
  • The osu!tournament client is slated for a number of improvements in the coming months, ranging from performance upgrades to new feature additions. One such addition is the inclusion of a “score drift” bar, which will let viewers see a clean representation of the score difference between the two teams. This sounds little, but is actually a huge increase to the readability of a match when viewed as a spectator. A live prototype of this concept already exists, and we’re just waiting for a final design to get it out!
  • The final days of the current forum system draw near. The list of tasks that need to be completed before the move to the osu!next forums grows smaller and smaller with each month, and we’re well on track for full deployment of the new forum software by the end of the year, probably even a lot sooner.
  • New options will be added to the game client when playing qualified maps. These options will hinge around the new reporting system introduced in the wake of the recent QAT changes, allowing users to quickly and effortlessly report issues with qualified maps on the fly.
  • More progression achievements are slated for release later in the month. These new achievements will be tiered and available to almost everybody from the get-go. So far, there’s over 24 achievements in the set to be released, and the number is likely to increase. We’ll be looking at more map-specific achievements in the future, as well.
  • Mapping bounties for official tracks will make a return this month. Once the old bounties for the cYsmix tracks and the circles! track are sorted out, we plan to release a bunch more and get the system governing them working a lot more smoothly. Map awesome music and get cool shit for it!
  • More video content will be coming out for the osu!academy later in the month. We’ve also merged the ailing osu!news channel into the osu!academy so that people do not have to subscribe to multiple channels to get their osu! fix. There’s also a few series from last month which have been delayed, but should be released later on as well.

There was also a slight incident involving an airhorn bot, but we shall never speak of it again.

See you next month!

comments

demystifying open source osu!

published 02 May 2016

There’s been a bit of talk about the future of osu!, specifically in relation to my plans to open source the client going forward. There have also been a few misconceptions so I thought it was time to take a moment to explain my intentions and reasoning behind this goal.

Transparency

I want to provide as close to 100% transparency as possible with everything we do. No real reason for this, just how it should be done, in my opinion.

While I think we’ve done pretty well over the years in not screwing users over, there are those occasions we can all recall where some disgruntled guy starts a protest against something we are doing in an internal process (the team) or in our code (osu! client) which people were not aware was a thing.

Contribution

We run osu! with a pretty small team. The only full-time developer on the game client itself still remains just me. Others regular contributors are students so they have limited time, and I myself have many other things to attend to than just the game client.

All in all the progress we are making is slower than I’d like. Open sourcing allows us to grow the “team” without the overheads that come with expanding a company. I have no interest in employing more people, but by rewarding contributors for only what they commit, this can remove those overheads while still reaping a fair amount of reward.

We’ve been trying this with the new osu-web project and while the number of contributors is still lower than I’d hope, it has helped speed up development. We’ve already paid out a total of US$2,120 to open source contributors at the time of writing this.

Code Quality

By making said processes and code open for criticism, at worst you are able to see how we are doing things and just be annoyed; at best you can see how we are doing things and then give constructive criticism (or offer your helping hands) to improve for the better.

Indestructability

If I was to disappear against my own will, I would like osu! to live on. Releasing the source increases the chances of this happening by not only providing a public awareness of how things work, but increasing the number of people familiar with the project. Optimally I’d like to have a clause in the licence which removes any restrictions in such a case (that the official servers are no longer usable).

Now, to address some concerns and common questions I’ve heard.

Will osu! be released under a free licence (such as GPL or BSD) or will you have your own terms?

At this point dual-licencing is looking like a good way forward. To be honest I would love to just release the code as public domain but am not yet decided on a final licence. This may by far be the hardest decision when making the final move open-source.

Won’t people just rip osu! off and make clones? Can I make a clone?

The way I see it, if we all do things right there shouldn’t be a need for clones. We will accept features and fixes into the main branch to cater to the largest majority of the community possible. While we haven’t yet finalised a licence choice, it will likely NOT be legal to re-release osu! as your own game, but you could potentially use portions of the code to make your own unique game.

Basically there’s nothing stopping people in certain countries from ripping osu! off, but I don’t see this as a threat. Unlike other companies trying to protect their revenue streams, I couldn’t give a fuck.

That said, my final opinion on the matter is that I personally do not condone making osu! clones or private servers as long as the official server implementation is up and running smoothly. If at any point I can no longer provide what the community wants for whatever reason (and no one is able to keep things running) I fully condone using the code however you want. As I mentioned above, hopefully this can be reflected in the licence we decide on.

In summary, yes making osu! open source is a “risk”, but people have already reverse-engineered the source and made clones. if you want my approval, you’re not going to get it, but I probably* won’t take legal action as long as you don’t use any of the osu! graphic resources or names (which are copyright and trademarked).

Can I contribute? Will you include my changes?

Yes you can contribute whatever you want! Keep in mind that your code will have to be up-to-standard to have your pull requests merged. Make sure before you attempt that you have an understanding of our coding styles and the git and github ecosystem.

We will do our best to pull in any changes that are for the best. If you want to know whether a specific feature will be approved by us, feel free to ask on public slack or open a github issue before you start working on it so we can discuss further.

Can we use small portions of the code for our own projects?

Yes! We have a pretty nice framework set up to create games. The licence will definitely allow use of our code in your own projects (just make sure to understand the licence chosen before doing so).

Can we “port” osu! to x platform?

You can help us get osu! running on a particular platform. As has been mentioned elsewhere in this post, you can’t just release osu! on a given platform (this falls in the “make your own game” clause) but you can invest efforts into making osu! run better on a particular platform. This is one of the core areas I’m hoping to get contributions from open sourcing (linux, OS X, mobile compatibility).

Once osu! works on a specific platform, we will consider releasing it in an alpha/beta form based on the merged changes.

Will there be a bounty system like osu-web?

Yes. I plan on rewarding any contributions.

Will you still hire people?

I have no real intentions on expanding the team, but if any regular contributors from the open source move show promise, I will definitely consider expanding the team, should they be willing!

If someone forks osu! and makes a new game mode that becomes popular, are you open to the idea of making it “official”?

Of course! Do keep in mind that making a new game mode requires more changes than just the client, so if you are looking to do this, be very patient and offer your help on server-side changes too. Also keep in mind that we probably won’t add game modes which are already technically covered by other modes (ie. we don’t need a DDR mode because osu!mania 4k with a skin already plays the same).

Will a part of the client code be censored? As in, connection to bancho and anti-cheat measures?

Yes, some code will be abstracted out of the open source implementation in order to continue to provide a fun and clean online gaming experience. It will be done in a way that will still allow debugging to be done with a client and server, but not the live server.

Will bancho be open source?

No, but bancho will not exist going forward as we are replacing it piece by piece with a better solution. The better solution is open source.

Will I be able to connect to the live osu! servers with a modified client?

No.

Do you personally condone of private servers?

No. If you have an issue with the official server let us know before taking matters in to your own hands.

Do you personally condone osu! clones?

Let me clarify that it depends on what you mean by a clone. If you’re going to use the osu! code and make a new game called “gosu!” then no. This will infringe our trademark and also be an ass move.

If you want to make a music game with similar gameplay rules to osu!, then by all means go ahead! I “borrowed” the rules for each game mode from already existing games and to be honest I don’t believe there should ever be copyright/patent placed on any kind of basic gameplay elements. Fuck that noise.

In short, if you want to make your own game, make your own game from scratch. I guarantee it will be a more satisfying experience for everybody!

When will it be ready?

We’re very actively working towards this. In fact, lazer will likely be open source (to some degree) at the time of its availability as a release stream.

comments

wallpaper pack vol. 1

published 20 Apr 2016

A lot of people have requested higher resolution copies of my photography over the months since I started publishing it to instagram. I’ve finally compiled all the uploads so far as a wallpaper pack.

Resolutions I’m supporting this time around are:

  • Desktop 1920x1200 (16:10)
  • Desktop WQHD 2560x1600 (16:10)

  • Mobile 640x1136 (9:16)

I understand some of you may use different aspect ratios, but these should adapt quite well. For people running 16:9 on PC, set to “Fit” for the best result.

As an experiment, I’m hosting this on GitHub. If you’re a savvy user, feel free to clone (and star) the repository and pull new updates via git. If not, you can download the release from here.

As for the lack of dev posts for me, there’s a few reasons.

  • I’ve been busy.
  • The meeting notes and osu!weekly posts are taking a lot of my content away from me (this isn’t a bad thing either).
  • I’ve been busy.

Enjoy :). Tweet me a photo of your setup if you end up using one of these!

Update: Added WQHD resolution as per requests.

comments

2016-03 Meeting Notes

published 05 Apr 2016

Hi again! Ephemeral here, back again with more delicious development developments this month following from our promise in March to make these meetings a more regular thing. There’s some exciting stuff on the horizon, and our summary for this month will only cover a little bit of what’s actually going on behind the scenes.

This time, our conversation was held in voice over text - this meant that a lot more got discussed. That being said, there is a lot more to go through this time around, so let’s get stuck into it:

  • Modding v2 development is progressing at a reasonable pace. The goals set from the last meeting were not fully met due to other distractions on the development end of things, but a lot of work has been made and the first usable prototypes of the system have entered internal testing. The system hinges on a lot of internal web changes which need to happen first, but they are getting done at a pretty quick rate, so the future looks promising. Don’t believe me? Here’s a screenshot of the current internal testing build. Yes, this all works.

  • The push to move the client to open-source proceeds at a great pace. Affectionately dubbed “LAZER” by the devs working on it, this new development branch aims to bridge the gap between the current client and the refactored codebase that will ultimately support both osu!next and a “legacy” compatibility layer for the old client design. This will ultimately enable external developers to start contributing to the development of the client, and paves the way well towards full osu!next implementation.

  • Due to the large number of changes slated for osu!next, a “seasons” based ranking system is being considered. While this is a fairly big thing to mention off hand, it is very much in the early consideration stage of things for now. Don’t hinge too much on it. (peppynote: this basically means everyone agreed it would be cool, not that we are actively working on it.)

  • More artists need to be sought out to produce osu! exclusive tracks that are available for all beatmappers to use. There’s also a composition/remix contest in the works that should be going live within the next month. If you know of any artists who would be interested in making music for osu!, please let us know in the comment section below!

  • Achievements are receiving a massive overhaul and many new ones are slated for release within the next month, with the artwork of over 40 new medallions already complete. These new achievements will be released in “packs”, hopefully each week. Each pack will probably contain 4 progression achievements (attain x performance rank, score, etc), 2 high-level achievements (attain x score on difficult map with/without mods), 2 mid-level achievements (attain x score on moderate map with/without mods). We will also no longer be enforcing a “no-discussion” rule on hush-hush achievements, but will continue to release such achievements. You guys need to work together to figure out what you need to do to attain them.

  • CtB’s editor mode is not sufficient for serious mapping as it currently stands, and changes are slated for the future to fix this. This has been a known issue for a long while now, particularly regarding slider creation. While it isn’t a priority in the current development environment, it is a noted issue and will be addressed at some point in the near future. aka: Soon(tm). (peppynote: it’s not a hard thing to fix, but we’re also redesigning the editor from ground up. might as well make that happen first rather than redoing everything twice.)

  • Concerns were raised about the general state of the mapping meta and strong encouragement from the community for mappers to map high-reward pp rather than fun-to-play maps. Efforts will be made to promote alternative mapping styles by showcasing unique and enjoyable beatmaps in osu!news features, hopefully encouraging more people to experiment with styles that are not made solely to produce high pp or star rating scores.

  • A recent overhaul to the GMT’s leadership fronted by shARPII is proving quite fruitful. Moderators will be scheduled to cover specific timezones and forums, leading to greater overall availability and a better, more consistent coverage of chat and forum channels across the day. Additionally, osu!news features with some prominent moderators are being considered in an effort to help the community better know who is handling chat, and to dispel some common misconceptions about these people or what moderators do in general.

  • A new video series on the History of osu! is slated to hit the osu!academy within the month, followed by fortnightly video releases of assorted content thereafter. The osu!academy (and YouTube presence in general) has proven very popular and there has been a wide demand for more of this content, especially considering the absence of updates made to the channel in previous months. ztrot will be adjusting his focus to align more on producing content for the osu!academy, which should hopefully yield more cool stuff for everyone to enjoy.

  • Improvements in support staff internal policies is significantly cutting down the average wait on ticket response times. We hope to improve this further in the coming months further by introducing a new means of handling ban appeals and restrictions in general which will massively free up the support team to handle issues at a far greater pace than before.

On the community front, more effort is going to be made to bolster the comparatively small sizes of the non-standard gamemode teams - particularly osu!mania. The team formerly known as the “Ranking Criteria Council” has also been put to work facilitating discussion in the Ranking Criteria subforum as per their new role. They’ve still not decided on a name for themselves, so I’ve decided to officially dub them the Criteria Friends until they manage to think of one. We also hope to hold up the great work of various members of the community who write guides detailing the sometimes complex ways that osu! operates as a whole by making their work far more visible than before, possibly featuring them in a new portal on the wiki, as well as some way of giving them proper attribution and credit for their work. As you can tell, it’s been a pretty hectic month, and they’re only going to get more packed as we start moving towards osu!next in the coming months. If there was ever a time to get excited about the future of osu!, now is probably it.

On that note, that’s about all for now. See you next month!

comments