blog master mode
subscribe to this tag
show all posts as opposed to just those tagged UPDATE

Blog posts are now tagged.

by osk at 2022/06/03 (Fri) 11:22:06 pm (edited)PERSONALUPDATE

To organize the blog a little, the posts on it are now tagged according to their content and nature. There's not that many posts here, but it's still useful to have. You can click a tag, and it'll take you to the index, filtered to just posts with that tag. That way, you can bookmark just official posts or the like. You can also set up your RSS reader in the same way — while filtered to a tag, the Subscribe button in the top left changes to allow you to subscribe to just that tag.

This is one of the many recent changes I'm making to somewhat separate my personal identity (the osk who develops software, likes UI design, rants a lot, and genuinely loves and is in a relationship with Kagari, a fictional character from Rewrite) from my brand (osk, the person and corporation behind TETR.IO, developing, maintaining and directing it). (Perhaps a topic for another post.) Posts that fall under the former identity are tagged PERSONAL, while brand posts are tagged OFFICIAL. This way, I can feel a bit safer writing genuine posts from the heart about my personal interests, without distracting those who are only here for professional press releases. I'm hoping this will allow me to post a bit more often. There's a lot of things I could rant about :^)

To be clear, this is still a personal blog. Press release-like "official" posts are secondary, and I wish to post more personal posts here in the future. If you are not interested in those and only care about me for TETR.IO, feel free to filter to official posts only with this tool.

Please look forward to me perhaps blogging somewhat more often than twice a year!

smash that unsubscribe button mate

On January 31st 2021, TETR.IO will close its Patreon and partner with Xsolla for swift and secure ingame payments. This means that Patrons will no longer be billed, and the Patreon page will no longer be accessible.
In its place, TETR.IO Supporter will now become directly accessable and purchasable from within the game. The key points:

  • TETR.IO Supporter will be a non-renewing subscription. This means you buy any amount of months in bulk whenever you see fit, and if you don't renew, your Supporter status will expire on its own.
  • TETR.IO Supporter will be a single tier, and contain all the rewards of what used to be the Deca tier.
  • TETR.IO Supporter will cost €5 before taxes. Gifts and any month after the third bought in bulk are €4. So, buying 4 months at once is €19, or €16 as a gift.
  • You will be able to gift Supporter to other players at any moment, just like adding months to your own support.
  • You can add months at any time and your expiry date will be extended.
  • You will be able to manage your Supporter subscription from your account settings at any time.
  • Payments will be powered by Xsolla, allowing you to use hundreds of different payment systems to fulfill the purchase.
  • Payments should usually be processed instantly, although depending on the payment system used there may be a small delay.
  • Refunds will go through Xsolla. The applicable refund policy can be read here.
  • The Perfect Clear tier reward (having your name in the Special Thanks) can be achieved by reaching a certain total amount of support, racked up by buying months and/or gifting months.

I'm currently supporting you on Patreon. What's going to change?

Thank you very much for your support! Don't worry, I've got you covered. Here's what will change for you on the 31st:

  • You will no longer be automatically billed by Patreon.
  • If you were supporting me at Deca tier and up, you will immediately receive three free months of Supporter in the new system.
  • If you choose to not use Xsolla, your Supporter role will simply expire after those three months are up, without any further costs on your side. If you wish to keep supporting me, you may add months anytime.
  • As thanks for your early support, everyone who has been a patron on or before the 31st will receive an exclusive "early supporter" badge! (Note: this is applied by email address. If you haven't received your badge by the 1st, let me know.)
  • You may temporarily lose the Discord role on the TETR.IO Discord. To get it back, simply go into your account settings on TETR.IO after the update, and link your Discord there to get it back.

Why switch systems?

There's quite a few reasons, to be honest. Above all, while Patreon is a very nice system for creators to receive a stable and sustainable income for their work, it is not meant to sell a service on. Patreon is very easy to use if you are say, a YouTube creator looking to receive some support from fans. You can set up simple tiers, show behind-the-scenes footage, talk to fans and quickly export lists of all patrons of any tier for use in credits.

Patreon, however, falls flat when you try to use it for an actual service. While TETR.IO Supporter is still in essence a donation, the rewards bound to it are hard to automate and handle smoothly on Patreon. Patreon's administration and integration is sadly lacking on this front, and understandably so - Patreon isn't made for it! This caused players' Supporter benefits to often be applied late, and require a lot of work to fulfill.

On top of that, the monthly autorenew model of Patreon is very expensive. Patreon in general is known to stack fees quite heavily, but this is increased a lot by the sheer amount of (small) transactions. This is the reason TETR.IO Supporter was so expensive (€10 before taxes for the Deca tier, really?) - the fees for small transactions would cause so much money to be lost it would stop being worthwhile.

Finally, due to being an autorenewing model, Patreon does not support very many payment methods. On paper, it supports credit cards and PayPal, but in reality, PayPal support is limited because a PayPal account would need to have a credit card or bank account linked with it. This caused many people to approach me asking if they could somehow purchase Supporter in another way, which wasn't possible at the time.

That said, I do believe Patreon is a very powerful platform for those it's meant for. Its tools are very strong for creators, and have caused quite a positive change in the industry! I am glad to have been able to use Patreon for the time I have, and I would never have been able to grow as large as I am now without Patreon giving me a platform to receive your donations on.

What makes Xsolla the better fit?

Above all, Xsolla's expertise in specifically games makes for a far better fit. Xsolla's tools are all geared specifically to game developers and players, and can deeply integrate into your work without inhibiting your creative process. This not only makes things a lot easier for me, it also makes purchasing Supporter a lot easier.

Since Xsolla deeply integrates into the game, buying Supporter is easier than ever. You can open up the Supporter dialog from many places, and move on immediately to the purchase process. As soon as your payment is confirmed, you almost always immediately get the rewards. In my testing, I can get from the home menu to being a proud Supporter within twenty seconds, without any need to create accounts, link other services, send messages or other hassle. In the same way, there is also very little work involved in handling Supporter on my end — I practically only have to handle refunds. This means you can get your Supporter rewards within seconds instead of hours (or sometimes days).

On top of that, due to the model I'm using not being autorenewing, fees can be far lower. Due to that, I'm confident to be able to lower the price of Supporter by more than half, while allowing you to buy Supporter freely without being tied to any autorenewing subscriptions. There's this element of subscription models that cashes in on people forgetting to disable a subscription that I honestly very much dislike. Maybe I'm simply not fit for this business, but I wish players to be able to get Supporter without having to worry about yet another subscription in a world where almost everything seems to have a subscription nowadays.

On top of that, Xsolla supports hundreds of payment providers, which means you can pay with just about anything, not just credit cards and PayPal. Xsolla is trusted by many other large games and related sites (Roblox, Twitch, Epic Games, XSplit, osu!, just to name a few).


I am glad to be able to partner with Xsolla to bring you a more fair way to support the game we love. I am incredibly grateful for all the support I have received ever since going into Alpha. We're reaching closer and closer to the 1-million player mark every day, which is a number I NEVER expected to be able to even dream about! I want to thank everyone who's supported me to get this far — let's make 2021 count!

Adding ads to TETR.IO, some questions answered

by osk at 2020/11/01 (Sun) 12:19:03 am (edited)OFFICIALTETR.IOUPDATE

Starting November 2nd, I'm putting ad space up on TETR.IO. I understand this is going to cause some confusion, so I want to answer some common questions in this blog post.


So what kind of ads?

I don't intend to devalue the TETR.IO experience. So, the ads will only be simple banner ads, like this example:

Ads will only show up in menus, never ingame. No video ads, no popups, etc. The site also won't complain if you use an adblocker. At a later point, I may introduce rewarded video ads (ads you choose to watch that get you something in return), but that isn't going to happen any time soon.

The ads will be personalized, so they'll try to be based on your interests. By default, you should receive gaming ads. I will keep care to ensure all ads are safe for work. Furthermore, supporters of Deca tier and up won't see ads.

Why add ads?

Simply said, TETR.IO has outgrown being a hobby project. Operating TETR.IO is as taxing as a full-time job for me, and I want to be able to take it seriously as one. Currently, I'm trying to balance multiple workloads at once, and you might be able to tell by the lower amount of updates that that isn't particularly working.

I am incredibly grateful for all the support by patrons, and that won't change! You are the ones who made TETR.IO happen in the first place. This change is aimed towards the 99.97% of players that don't (or can't) support. Serving ads to that segment of the playerbase will allow them to indirectly support TETR.IO as well!

Having a bit more revenue available would also generally help TETR.IO development a lot. There's a lot of things I cannot do, or don't have the time to do. Think about hiring artists, voice actors etc. Perhaps at some point even other programmers to assist me in the things I lack experience in, or simply to grow the workforce to keep up with demand.

But the Patreon is so expensive!

I don't disagree. The Patreon tiers are really expensive right now. .....It's for a reason, though. Patreon takes insane fees, and simply isn't worth it for small amounts. I hope to, in the relative future, switch to a more direct platform for Supporter, so I can bring down the price of the ingame benefits.

How much will the ads make, anyway?

I do not currently know. I will be experimenting a lot with different ad slots and positions, to see what is the most effective way to place ads. I get about 350K potential impressions daily, but cannot know an RPM yet. I'll let you know once I have actual data, to perhaps help other webgame developers interested in these kinds of statistics for their games.

Is this the beginning of the end?

Not at all. I 100% stand by the fact that TETR.IO will always be free-to-win. There won't be any ingame purchases that increase your skill, required payments to play more, lootboxes, or other shady practices like that. Reaching #1 on the leaderboards will always be equally difficult for paying players as non-paying players with Adblock on. No exceptions.

But (other game) doesn't have ads!

Please compare the two by more than just whether they have ads. I am (surprise, surprise) not a multi-billion-dollar corporation, but I do have a large-scale game that tries to reach those kinds of levels of quality. On top of that, these games are often monetized anyway. How often do you see a free game made by an AAA company that's actually free of monetization?

"If you add ads, I'll quit TETR.IO!!!!"

That's your choice. I hope, however, that after reading this post, you can understand why I am adding ads. And if you still disagree, well.... it's a free game. I'm not sure what you expected. Nothing in the world is free, you know?


In all seriousness, if you have any other questions or (constructive) things to add, feel free to reply to this post with your feedback.

TETRA CHANNEL: separating game and data

by osk at 2020/09/28 (Mon) 9:16:55 pm (edited)OFFICIALTETR.IOUPDATE

It's been a while! Last blog post, we were at 20,000 total players on TETR.IO. That number has...... grown. An insane amount, almost 20x over! At almost 400,000 total accounts, overseeing this data has become a hassle in more ways than one.

TETR.IO's ingame UI, while I like it a lot, is not suited for complex datasets. On top of that, cluttering the main game code with UI mess is not what I was looking for in development.

Quite a few games fix it in a particular way: by showing simpler, less-detailed stats in-game, and having an (un)official site to accompany it with a lot of stats. I am honored to be of such size now that I can join this group, by creating:


TETRA CHANNEL, THE STANDALONE SITE


This site currently allows you to browse all the leaderboards seamlessly, view user stats, with avatars and banners, and more. I hope to in the future also add a bunch of extra statistics - like your TR progression, singleplayer score progression, recent TETRA LEAGUE matches, etc. All those sorts of datasets would be impossible to ever display ingame!

I hope you'll stay tuned for what's next in store!

TETR.IO TETRA LEAGUE OPEN TO ALL!

by osk at 2020/04/18 (Sat) 3:31:35 pmOFFICIALTETR.IOUPDATE


...Can you believe it's only been a month? TETRA LEAGUE, TETR.IO's 1v1 ranked matchmaker, is now live for all to play! You can play it here!

Once again, I'd like to thank all testers in helping me shape this feature within such a short period. And of course, all Patreon supporters! Without the support, I would not have had the time, drive or money to work on it!

Other prominents I'd like to thank are Garbo and Doremy for their extensive feedback!


Have fun, and go rise those ranks!

TETR.IO PUBLIC ALPHA RELEASED!

by osk at 2020/03/21 (Sat) 8:00:20 pmOFFICIALTETR.IOUPDATE

TETR.IO ALPHA

TETR.IO has reached the ALPHA development stage, and is now accessible to everyone! After almost two months of INFDEV with a team of testers I cannot be more thankful of, I am now able to unveil TETR.IO to the entire world!

PLAY NOW

PROGRESS UPDATE
  • Planned for later Planned for later: this won't be available until after release. But, it is something I hope to do.
  • Development has not yet started Development has not yet started: this is planned, but work on the feature has not yet started.
  • Development has started Development has started: this feature has its framework set up and is being worked on.
  • Development underway Development underway: this feature is starting to become reality and has minor functionality ready to implement.
  • Development nearing completion Development nearing completion: most of this feature is implemented, but it is not yet ready for release.
  • Rough version complete Rough version complete: this feature is fully implemented, but may be overhauled - it's ready for an alpha release, but should be polished more.
  • Fully complete Fully complete: this feature is fully implemented and polished!

5. Custom Multiplayer Rules Development underwayRough version complete

There are now many multiplayer tweaks that can be applied, from hold on/off to garbage travel speed, to custom DAS!

9. Chat with players Development nearing completionRough version complete

Chat is complete, and a swear word filter has been implemented!

21. Profile w/ personal best displayed Development nearing completionRough version complete

TETR.IO now displays detailed info about a player whenever you wish to view their profiles!

22. Simple accounts system w/o hassle Development nearing completionRough version complete

You can now easily create accounts and, if you have set an email, even recover their passwords!

25. EXP Planned for laterRough version complete

I wasn't planning to implement this as early as now, but EXP is available now, so you can progress as you develop your skills!

39. Dazzling graphics Development nearing completionRough version complete

All the effects and tweaks I'd like to implement by Alpha have been implemented, with hopefully more polish coming soon!

40. Custom wallpapers Development has startedRough version complete

You can now set custom wallpapers, or even a collection of custom wallpapers. A better UI is planned, but for now this works well ^^


WHAT'S NEXT?

We're only in Alpha stage right now, so there's still a lot to be done. However, I do have plans for many cool things to come.

Right now, Quick Play is just one big room. This is great and all, but as soon as one pro joins, others will have to make way. I hope to be able to add 1v1 matchmaking as soon as possible, once the userbase is large enough to support such a feature.

The only online mode right now is ELIMINATION. This is the de facto online mode in most stackers, but I'd like to also implement TIMED and RACE modes.

It's impossible to spectate a match that's already begun right now. I'd like to make it possible to do so - it just requires a bit of headache code-wise.

Of course, I'd like to add more single-player fun too - above all, a ZEN mode that can be played inbetween matches as well, and a longer MARATHON-esque mode.

And, of course, I still want to look into making performance as smooth as possible on as many devices as possible.

For the most part, the 44-FACT-FRENZY still holds up. While I do not know in which order I will tackle everything, I hope to be able to, together with your support, make TETR.IO something we can all enjoy!


I want to extend my gratitude and thankfulness to everyone who helped test the INFDEV builds. Without your extensive support, I would not have been able to make TETR.IO what it is today. Going Alpha, however, doesn't mean I'll stop developing and fixing bugs. I hope all of you, and all newcomers, will help us make TETR.IO ever better!

With the launch of Alpha, I'd like to also announce I now have a Patreon! This will hopefully help pay the servers, and be another way to support TETR.IO. Depending on the tier you choose, you can get pretty cool rewards, including an ingame badge and a permanent position in the game's About page! I would be incredibly grateful if you checked it out here: TETR.IO Patreon

Furthermore, I'd also like to remind everyone reading to join the TETR.IO Discord! This is the #1 place to get updates and changelogs as they roll in: TETR.IO Discord

Finally, I'd like to thank the Hard Drop community for helping me develop the game, giving feedback and reporting bugs. If you haven't yet, check out Hard Drop now!


Thank you very much for reading, and have fun!

I'm now selfhosting email

by osk at 2020/02/03 (Mon) 12:43:33 amPERSONALUPDATE

Hi! Up to now, my email provider has always been ProtonMail. However, for some projects I need a mailserver, so I decided to set one up. Please do not contact me on my old ProtonMail account (@pm.me), but use my new email:

me [AT] osk [DOT] sh

Thank you!

TETR.IO is now in INFDEV!

by osk at 2020/02/01 (Sat) 12:01:16 am (edited)OFFICIALTETR.IOUPDATE

TETR.IO INFDEV

TETR.IO has reached the INFDEV development stage! This means that I am now giving out access to test it on a wider scale to select people. This to allow more and more diverse people to play it and give their feedback on TETR.IO, without opening it fully to the public yet (and having to worry about making a bad first impression).

Want to try out TETR.IO? Contact me with your IP and why you would like to try out TETR.IO, and I'll add you to the whitelist!


PROGRESS UPDATE
  • Planned for later Planned for later: this won't be available until after release. But, it is something I hope to do.
  • Development has not yet started Development has not yet started: this is planned, but work on the feature has not yet started.
  • Development has started Development has started: this feature has its framework set up and is being worked on.
  • Development underway Development underway: this feature is starting to become reality and has minor functionality ready to implement.
  • Development nearing completion Development nearing completion: most of this feature is implemented, but it is not yet ready for release.
  • Rough version complete Rough version complete: this feature is fully implemented, but may be overhauled - it's ready for an alpha release, but should be polished more.
  • Fully complete Fully complete: this feature is fully implemented and polished!

3. Multiplayer Lobbies Development nearing completionRough version complete

The feature to join a room by URL has been implemented (it makes short URLs like https://tetr.io/#7YhaIs6), completing the feature!

4. Quick Play Development has startedRough version complete

Quick Play has been implemented - join Quick Play and the room will automatically start an infinite loop of games as long as at least 2 people are in Quick Play!

9. Chat with players Development has startedDevelopment nearing completion

Chat is nearly complete, but a swear word filter has yet to be implemented, and a few hotkeys may still be swapped around.

16. TETRA CHANNEL Development underwayRough version complete

All basic functionality of TETRA CHANNEL has been implemented. Stuff like MAPS and a list of players may be added later, but is not on the roadmap for Alpha (see the TETR.IO 44-Fact-Frenzy page for more info).

17. Personal Best Development has startedFully complete

TETRA CHANNEL now happily saves your top 10 plays in all categories.

18. Global records Development underwayFully complete

Likewise, TETRA CHANNEL now happily saves the top 1000 plays in all categories (note: the client only displays 100, but the standalone site will display all 1000).

19. Replays saved and can be watched Development nearing completionRough version complete

All plays are saved at least temporarily, and a nice replay link can be shared!

20. Custom game options Development underwayRough version complete

The CUSTOM GAME mode has been implemented, and already allows for lots of experimentation most other games don't provide. However, I hope to add more options to it in the future.

21. Profile w/ personal best displayed Development has not yet startedDevelopment nearing completion

TETR.IO displays nice badges of a user's scores when you click them. I hope to still add some extra info, like join date, before Alpha. More info could potentially go to the TETRA CHANNEL site.

41. Music by Hurt Record Development underwayRough version complete

I believe to have added most music I want to, but I can always add more when I find a purpose for it.

42. Controller support Planned for laterRough version complete

Its implementation is rather basic, but I decided to add it already. Only the in-game controls work with controller (all else must still be done w/ mouse), but it's better than nothing (hence it does not get the polished icon).


Still to be done before Alpha...

  • Development underway 5. Custom Multiplayer Rules
  • Development nearing completion 9. Chat with players
  • Development nearing completion 21. Profile w/ personal best displayed
  • Development nearing completion 22. Simple accounts system w/o hassle
  • Development nearing completion 39. Dazzling graphics
  • Development has started 40. Custom wallpapers

Thank you for reading. If you're planning on becoming a tester, have fun!

There's now a view count next to blog posts.

by osk at 2019/12/27 (Fri) 1:17:01 pmPERSONALUPDATE


I should really cool it with this crystallize effect.

It might impact the server negatively, so let's see how well it works, right? It's only triggered when you view a post's own page, not the homepage.

Welcome!

by osk at 2019/11/17 (Sun) 10:23:44 pm (edited)PERSONALUPDATE

Here I will post project updates, sneak peeks, and whatever else is on my mind at the time. Don't expect super-frequent updates, but hey - there's something new every once in a while. Please note that this blog is personal space. Please respect that (and as such, my interests).

You can star posts and comments you enjoy as much as you like, a bit like how Flipnote Hatena and Medium work. There's no limit to how many stars you can give something, but please don't bot it (I will throw sharp glances at you).

You can also comment on posts, and on replies to those posts. Your name and color is randomized (bound to IP). There's no CAPTCHA or anything like that right now, so see it as a bit of an experiment. Be civil, okay? I reserve the right to delete anything for any reason. If it ends up being an issue, I can always add CAPTCHA later or turn off comments. As long as your IP does not change, you can delete your comments with the DEL button next to it.

Happy sightseeing!