published 24 Jun 2015

Another mini-update!

  • Continued work on restructuring the draw hierarchy. In the process, cleaned up a lot of remaining XNA framework. We’re slowly getting to the point the remnants can completely be removed, which is an exciting prospect!

  • Made a new branch testing out visual studio shared projects. This is a necessity for moving cross-platform support forward, as each platform will need to have a different base set of compatibility code, but share the majority of the osu! code-base. Manually updating .csproj files each time a new code file is added for each platform would be a pain. Ends up looking something like this (note the different icon for the shared “osu!” project).

  • Saw osu! running under MonoMac for the first time! This is osu! running on OS X without the wine layer, and packaged into a distributable and lean ~200mb .app bundle. Pretty exciting news here for OS X users. We still have a bit of a way to go to get things ready to test publicly, but it’s another step forward in the right direction.

  • Spent some time discussing how to make the new forums feel better when scrolling upwards in a long thread (and triggering the dynamic infini-loading logic). I think we’ve come up with a solution that should feel quite a lot nicer than what you’ve seen so far.

And that’s all for today. I hope to stream some coding Thursday or Friday all going well, so keep a watch out for that!



published 23 Jun 2015

Another busy day, so let’s focus on what I’ve been up to:

  • Had to visit the Australian Consulate to renew my passport. Pretty crazy looking place! I tried to sneak in a photo but the exposure was blown out to the point you can’t see crap. Sorry :(.

  • Began work on restructuring the draw hierarchy of osu!. I will probably go into this in more detail, but the premise is that we want to make Draw calls more of a hierarchy, and in the process move field changes out of GL Translate / Scale / Push / Pop commands and into a software (cpu)-based struct. This will allow for more flexibility, cleaner code and potentially new GPU-side optimisations. It is also one of the main areas I want to clean up before considering making osu! open source.

  • Fixed the admin side of the charts system for Loctav; he was bugging me a lot.

  • Fulfilled a feature request in 10 mins by adding a few mod display toggles when watching replays. You can now toggle FL, DT and HT by clicking the mod icons at the top-right corner. More mods such as HD will likely be supported in the future, but adding the implementation for them is non-trivial, so will have to wait for another day.

Finally, I’d like to add a personal warning: I know a lot of you may be spending your recent days watching a famous osu! player “play”, but I ask you to be wary and don’t jump to conclusions. There’s nothing to prove you aren’t just watching a bot or cheater playing. Also, please, don’t spam my email or twitter asking me to consider unbanning other players. Do not bother making petitions. Bans are between our team and the player in question. In this particular case I’m willing to add that the “player” sent me (personally) and the support team a series of rude emails which were both out of character of someone of their calibre, and not appropriate to even begin the appeal process. Be careful who you idolise and realise when it’s time to move on.


20150622 /infra/

published 22 Jun 2015

The infrastructure supporting osu! has grown rapidly over the years to keep up with increasing demand. I’ve had quite a few requests to go into detail of how things look behind the scenes from an overall perspective.. so as they say, a picture paints a thousand words:

osu! in a nutshell

Please note that this diagram is heavily simplified. Details like the separation between the old web (osu.ppy.sh) and the new one (store.ppy.sh / jizz.ppy.sh) have been omitted.

I will be focusing on individual areas of the infrastructure over the next blog posts, so let me know what interests you guys the most in the comments.

Over the weekend I was able to meet up with Ballance - long time player and contributor of artwork. We explored the depths of Akihabara and played some Jubeat together (I lost). Nice change of pace!


20150619 /answers-2/

published 19 Jun 2015

Hey guys! A bit late again with this post, but I had to figure out how to get your questions out of the twitter API and into my blog post. With that sorted, I now have a crapload of questions (thanks!) and can’t decide where to stop answering them. So I’m just going to answer them all in rapid succession!

@ppy Could you give us an update about osu!keyboards? Will we get more after the 1-month-store-sleep? –Skywockerz

I’m still working with the manufacturers to get this happening. Takes time to scale up production. I always let you guys know on twitter when I make progress.

@ppy Do you think reset Osu!coins in the game ? –Bourdel7

Reset the balance that people obtains, or add them back? Probably yes to both, although I can’t promise when this will happen (and the implementation will obviously be different!).

@ppy Did you push the exclusive windowed mode rendering to cutting-edge yet? –Pannarii

Yes, it’s live now! Go test it out.

@ppy What’s your favourite video game? –tonytonychoper6

The game that has brought me the most laughter and enjoyment is probably Rainbox Six: Vegas 2. The game I have played the most, made friends (in contact to this day) and gained the most life experience from would be Ragnarok Online.

@ppy Whats your favorite bit of technology used in osu or its supporting services? –KurtKartaltepe

Slack. Can’t live without it anymore.

@ppy ok I have some question about you, do u have any plan to make other game? And do I have any plan about osu event? –orangekmc

@ppy have you ever given much thought towards making any other games? –Ubercakez

I would love to make another game, but I don’t see that happening as long as I am running osu!. Instead, I’ll probably try and use osu! as a platform to do other stuff I’d like to try.

@ppy Idk what I do let me in resticted mode I sure I not break the rules I want to release restriction mode http://t.co/pw6pDPohyM –KronBrown

Contact accounts

@ppy How close are you to getting your personal plane –CommandoBanano

Already have 5. Seriously though, that was a joke. I doubt I’ll ever make enough money to even consider such a useless purchase.

@ppy Why did you choose to live in Japan? Were there any struggles? –ToraJikkyousha

This is probably worth a post of its own. I never really made a choice, though; I can move at any time. I still consider Australia home.

@ppy I saw osu!Worldcup on Twitch, and I thought, "That’s good design!". How do you make this broadcast in any way? http://t.co/wcDFki1J8I –6b_q

It’s a combination of awesome design work by flyte and osu! client-side implementation by our skilled development team.

@ppy do you have time for holidays and that kind of stuff? –FezZSky

If I wanted to, I could let osu! run itself. I choose to spend my time on osu!, rather than being forced to by the workload. So yes, I do take holidays (although I usually end up working through them because that’s just the way I am).

@ppy where is my pp –TerrilJanuary

Over there!

@ppy who’s your favourite osu! player? –Muffinyay23

@ppy your favorite osu! Player? –osuShatterz

I don’t like to play favourites.

@ppy how many hours a day do you spend coding? –philipardeljan

Not as many as I’d like. Really dependent on what else needs attending to, but between 0 and 24, usually.

@ppy any hope for us to see mod v2 / osz v2 within a year? –TicClickie

Ugh. I really hope so..

@ppy What will happen to tag coop and will it ever be a flawless gamemode? –_iDunno

Multiplayer really needs an overhaul.

@ppy Do you think to do an official osu port for android? –sebaex

For platform support, we’re fixing OS X and linux first, but porting to iOS/android is next on the list after that.

@ppy do you still look back and play EBA on the DS? –Plasmapie

Nah, never owned that game. I played it once or twice but didn’t like the song choice or style of the game. As for OTO, I haven’t played it recently but sometimes I watch youtube videos and reminisce.

@ppy What’s your favorite kind of cake? –loup37

Sponge cakes with tasty icing. Cupcakes work too :D.

@ppy how works the pp system in calculate –Spielfehler96

There’s information on that on the wiki.

@ppy how old are you? –AdamAzraei_


@ppy What parts of development do you look forward to and which parts you don’t? –Bazzadwarf

I attack everything head-on, but most enjoyable is when I get to write fresh code and learn new things. Most developers would probably agree.

@ppy Would it ever be possible to have ranking displays in game update in real time? –UrnuryMegiken

Anything is possible.

@ppy when osunext will be launched? –DonFapomar

@ppy Hey Peppy! Will the new osu! Website Design be released with the new osu! Client at the same time? And will it come this year or later? –mrkenfully

@ppy How’s the osu!next work going? What can we expect to see on there in the future? (looks amazing so far btw) –Chippum_

As in replacing the old site? This won’t happen until all functionality is implemented. But I mean, the forums are already live! We will move parts over bit-by-bit.

@ppy i’ve been in restricted mode for about 5 and a half months, what happens if I change my name? –IuffaI

Your restricted name will change.

@ppy how often do you play osu! ? do you like cats or dogs ? is coding more of a passion to you or a hobby ? –NeilleJames

As often as I need to. I like cats and dogs. Coding is life.

@ppy What has been the hardest thing for you to code? –Quiesce7

I have real trouble answering questions like this. If you mean what is the hardest task, then reviewing other developers’ code (or fixing their bugs) has to be up there!

@ppy What keeps you happy to continue growing the game? –osu_poseidon

Seeing people enjoy playing. Hearing stories of friendships created by osu!.

@ppy What kind of items you are planning to sell in the future (like the tablet and keyboard)? –Repflez

I want to make the ultimate rhythm game controller.

@ppy What library/engine do you use for osu? –VirtuousNinja

C#, OpenTK (cutting-edge)

@ppy why is the Ctrl+R command a Hold command? (its a hard to accidentally press that button combination) –Holay63

I think it feels nice. You can rebind it too, you know.

@ppy Would you be interested in the idea of making videos showing you and flyte coding osu on your YouTube channel? –SnapFlash2

I still plan on streaming coding sessions as soon as I can make it happen.

@ppy will you release a body pillow with you on it? I’m sure it would sell like crazy –Nickreh48

No. Maybe a pippi one, though ;).

@ppy How do you see osu! in five years? Do you play your own game right now? –Zeugmax_

I don’t think ahead. I hope osu! is still being enjoyed by people as much as it is today.

@ppy you should make mechanical keycaps with the osu! logo on them… –Nickreh48

I should.

@ppy will the current dev build pushed to stable when the design update happens or sooner? –Miterosan

Sooner. As soon as we fix 100% of OpenGL issues people are experiencing.

@ppy will the pippy plushi be selled again? –Miterosan

If there’s enough demand.

@ppy do you have any other project than osu!? except puush of course –zxcvAstar

No. I have plenty of ideas but no time. osu! is my only focus.

@ppy when can we espect to see coding live streams again? –Miterosan

@ppy Will you stream in the future again? (You coding or related stuff) . And do you have a time estimate for the osu!-teams update, ish? –xasuma

I’ll try and do at least one next week.

@ppy can you give us an overview over the whole technical infrastructure which is powering osu? –fused_1

Yes, I plan on doing this in a huge diagram in the near future. There’s a lot to it.

@ppy how’s life in japan? can you speak japanese? –MintChoklate

Life’s good. Yes, I can. I’d argue that you should never live in a country if you aren’t willing to speak the local language.

@ppy is osu a hard game to code and do u earn enough money from it to buy jets? –iAzorex

It’s not hard to code. I intentionally pay myself less than others working on the game because I could care less about money (I have enough to comfortably live, though).

@ppy What’s your favorite food? –ianBaak1

Anything spicy.

@ppy Hey peppy, do you listen to music when you’re coding ? If yes, what genre ? –ScarySamurai

Dance/trance. Progressive streams usually. Classical or piano when my ears are tired.

@ppy Has running osu become any easier to run than it used to be back in its humble beginnings? –enragementSteve

Having the financial freedom to have others help out has definitely helped over the years. I am able to sleep properly at nights these days. That said, the challenges over the years have really shifted, so I’m not sure I would call it “easier”, just “different”.

@ppy What’s your favorite beatmap? –Cookiesack


@ppy You attended Dreamhack before? If so, how many times has it been? –xLolicore

I haven’t, no.

@ppy Do you still plan on reworking the charts system as talked about when ppv2 was in development? –soulgdps

Yeah. There’s a start to it in the osu! client on cutting-edge. Just finding the time and focus..

@ppy Hey me and a few friends are planning a trip to japan soon, Real short Do & Don’t list? #QandA –Fnrblackbird

Do get a JR pass. Do use it as much as you can (it’s amazing value). Explore both the cities and the rural areas.

@ppy How are you doing? –ben_gmoney

Woke up at 3am to a really nice cool breeze. Doing just fine :).

@ppy unban reimu xd! just kidding. Do you follow the top osu players and pay attention to great scores on maps? Like _Index, HDHR, Hvick etc –JKlan217

I try to, but it’s not one of my focuses in life.

@ppy Is the skin creation will be much diferent than before ? There will be a program/software to help ? –Xialyz

In-game drag-drop editor is planned.

@ppy How does it feel when people prefer to discuss on anonymous platform than official osu forums? Do you think that’s okay? –Perazlt

Each to their own.

@ppy Will you ever play your own game competitively? –ShavitY

Never. I’d sooner play LoL professionally ;).

@ppy Now that osu! is getting much more popular, do you have a plan in case big artists attack you with their copyrights? –Lekamil_

Comply. Although I always follow-up with artists to see if they want to negotiate in some other way. While I accept copyright law, I don’t believe taking down content is in anyones interest, so I love working out alternatives. Got some stuff in the pipes of this nature.

@ppy Is there still any chance that osu! will be open sourced? There hasn’t been news about it for quite some time now. –mario185

Everything we are working on right now is in that direction. Still quite a bit of clean-up to be done before it can happen, but it will.

@ppy hey mate, any plans for iPhone 6 skins soon? –zeldavgc

As soon as stickermule offer them. Or we find another provider.

@ppy how much of the original 2007 osu! code remains today? –minusGN

More than should (as in, more than zero), but consistently decreasing.

@ppy I love osu!, thank you and the team for creating and maintaining this game. Have a nice day. –Longitivityy

You’re welcome!

@ppy When will FL give more pp ? –Oreemo_osu

Ask Tom.

@ppy with the new name-change how is reverting to original name? Like you changed before then changed again now, if you want to revert back? –Taboki_Tabby

Contact support and we will help you out.

@ppy That being said, I did get an error after checkout that something broke (d0e0bc9db62e457cbb80072ea5cf1017). But it still worked fine. –poke

@ppy How good are you at osu! ? –stupidsalad

Pretty bad.

@ppy How did you come up with the idea of this game? (I mean osu!) –bbj0920

By playing a certain NDS game called Osu! Tatakae! Ouendan! and wanting to make it more customisable.

@ppy as a big hidden fan I’d love to know: Can we expect a way to make sliders completely transparent anytime soon? –8MeMyselfAndI8

Likely with the new graphics/UI, yes.

@ppy Would you ever put in a mod for left handed players that flips maps horizontally? –TomHolm66179907

Considering, but not sure if ranked.

@ppy what do you think a about the osu competitive scene? –Ornsteins_Gate

I’d like to improve it with a proper multiplayer ranking system. Something less static than overall pp. I want to see more dynamic changes in the rankings each week.

@ppy Is Touhosu still planned as a new gamemode? The idea of Touhou crossed with Osu! sounds incredebly cool ^^! –NoI3odyLP


@ppy How about the progress of making osu! run in other platforms like linux and mac OS? What was the major challenges on this? –italobechepeche

Making huge forward progress on this.

@ppy When you originally started Osu compared to today, was there anything in the code that made you go "no way" and removed it immediately? –LinkuTV

Basically everything.

@ppy Do you consider yourself a weaboo? –dickduncan1


@ppy some people think that QAT was a bad idea, and it will disappear in the future. What do you think about that? –EruJazz

I can’t really make a call, but we are always looking to improve the way things work. If a better solution presents itself, maybe.

@ppy what is that one thing in your life that you regret the most? –mkHeinzen

I have no regrets.. except being too shy to approach girls in high school / university.

@ppy What would happen if the pp algorithm were to be leaked? Also, which part of coding osu! has given you the most grief over the years? –riffraff11235

It will also be open-sourced soon.

@ppy what there a Q&A ?? –MrBim_

There was.

Have a good weekend peoples.



published 18 Jun 2015

Good morning! I managed to code myself to sleep, and thus am posting today’s entry roughly 4 hours late. How did we fare yesterday?

  • The new username change system is now completely live. Getting it to support free purchases is a bit convoluted for the moment: because there’s no paypal transaction involved, the paypal callback (where the actual username change happens) couldn’t be easily called. Wouldn’t be a problem if the callback logic was already in the new osu!web, but it isn’t ready to be moved yet. Thus I am using a bit of a hack to skip the paypal checkout but still call the callback directly from the new osu!web (it’s secure, but still hacky).
  • Put some time into OS X compatibility with nekodex. Trying to get packaging working well with the new .NET 4 / GL release. For those interested, things are already running pretty much perfectly, but there’s still quite a bit of work to be done on getting it into a distributable (and automatically-updating) package.
  • We converted all the javascript in the new osu!web to coffeescript, so I spent some time learning it (most of that time was me attempting to adjust to two-space-tabs, which I’m still not done with). Mmm, now I want some coffee…

Thanks to everybody using the new username change page! Has been under pretty large initial demand (sometimes in weird ways, thought I foresee that decreasing as those of you that were waiting for their second name change for years finish making use of it. As the new system is now live for all cases, I will begin redirecting to it for all username changes from today onwards.

Oh, and now would be a good time to mention that we also changed the inactive username calculation method. New formula is (0.5 + play_count / 500) years from last login. For a user with a play-count (combined over all modes) of 680, you’d have to wait 1.86 years – or 678 days – from their last login. This replaces the old rules, where users must have had a fixed combined play-count under 500. Should allow for some of the manual requests for usernames on-the-verge of being inactive to be automated.

Tomorrow (later today) I want to do a comprehensive write-up on the current situation of the GL release (cutting-edge and beta); where we are and where we want to be. The short answer is that we are still quite far away from being able to release it, but it’s safe to say it’s in a better shape than ever before.