Flight Management Rendering, and Taxes

Hey Folks! So my foray into flight management continued today, but I hit a bit of a downer early on.

Basically, I discovered that selling apps and in-app purchases on Google Play means I'm going to have to figure out sales tax for any region I sell to. This means calculating, collecting, and remitting sales tax for my home state in the US, and if I understand correctly, every other country (and in some cases, each province within a country). The one saving grace is that Google handles VAT for EU purchases, so at least I don't have to handle that mess. But still, Japan, Korea, Australia, Canada...the list of tax regions in the dev console has got to be in the dozens. Maybe over 100? And they're all different, all can change rates and laws at any time, and all require regular reporting.

This just went from "another one-time setup headache" to "another recurring headache." And to make matters worse, Google still charges the 30% transaction fee for...what exactly? Apple charges 30%, but they handle taxation. Heck, FastSpring does it for 10%. And just about every other store I've worked with does taxation for devs, too.

And for good reason! Devs don't want to deal with this. Devs probably won't even get it right if they try. The number of conflicting reports out there on what people are doing is absurd. Ugh. Seriously considering ditching Android after this. But maybe I'll sleep on that a few nights while I weigh the pros and cons.

In better news, I've managed to get started on the flight manager UI:

IMAGE(http://bluebottlegames.com/img/screenshots/screenshot-2016-09-29.png)

Figuring out lines.

Before spending too much time on layouts for the main ship controls, I figured I'd at least try to get the orbital position plotter up and running. It'll be useful for debugging flight, and be a good basis for other line-rendering tasks.

The trick right now, however, is figuring out how to render lines in Unity's 2D mode. The magenta lines you see above are the "LineRenderer" component, which is the built-in method for rendering lines in Unity. They look fine in 3D, but they disappear to nothing in 2D mode. Probably due to the camera's orthographic settings.

Some other methods appear to be hand-crafting my own quads in code to make line segments, which is reportedly fast, but is likely a huge headache to manage. A third method is a direct OpenGL call to draw pixels, but I'm not sure I want to go that low-end. Probably super fast, but also super basic.

There's an asset in the Unity store called Vectrosity which seems like it might do the trick. Basically a custom line-rendering utility for any style or shape. So I may check that out.

And, of course, I could also delve into shaders. Maybe I just throw a quad up where the display UI should be, and use a shader to draw pixels right on it? That opens up a lot of options, and might even be the fastest. But I need to explore it a bit more to know for sure.

Anyway, busy day today! Unfortunately, busy in some boring ways. Hopefully less of that tomorrow!

Comments

linibot's picture
linibot

Wow. This google play tax mess has been fascinating to look into - insane may be another polite word to use. Maybe it's just me being generally curious about things like that, but I just spent my coffee break reading up online, and this is a cluster-f of epic proportions. I'm really surprised that it isn't a more widely known issue, and I'm really surprised that anyone bothers with selling apps on the play store (that aren't monetized solely through ads). A dev's options here appear to be: a) Have a big company with a great accounting department, or b) Break a bunch of tax laws all over the world and hope not to get caught. It's very disconcerting, especially for someone like me who isn't fond of apple products.

I also kinda love the fact that the EU pushed them to the wall on this. The EU is apparently still useful - occasionally. ;)

I still hope you will find a way. But it makes sense why one would choose not to bother.


NEO Scavenger: FAQ
10 Ways (not) to Die - A beginner's guide

dcfedor's picture
dcfedor

@linibot, no kidding! I think I'd be fine with it if they charged less per transaction. At least then it'd be competitive with other vendors.

Or ideally, they'd just handle it like everyone else, so I don't have to hire an accounting firm just to avoid tangles with Interpol.

Of course, after a night's rest and simmering down some, I may come to a compromise. It might be that I just cancel Android release in certain regions (i.e. any region requiring special tax handling). If I do Washington State sales tax, that covers all of the US. And EU is covered. So that is a good-sized market.

But I can see the tidal wave of messages now: "Why aren't you in region X? Y? Z?"

Dan Fedor - Founder, Blue Bottle Games

Malacodor's picture
Malacodor

I'd say ditch Android completely. Don't throw money after Google, they don't deserve it. But then again it's not my money. ;-)

Ran around with a clown mask before it was cool

dcfedor's picture
dcfedor

It's funny, but Google seems to have multiple personalities.

On the one hand, I've always liked their tech. I use most of their services over the alternatives. Project Fi is an amazing cellphone alternative, and priced the way mobile should be. I wish I lived in a Google fiber city so I could say the same for internet access. Google's Android keeps the doors open to iPhone alternatives, and is even open source. I can watch free music videos on YouTube any time I want. They pioneered GB email storage for free back when others capped you at a few MB. Maps and Streetview are get daily use in my household. They are champions against patent trolls and government overreach, and more importantly, seem to win when they try.

But then you have stuff like this. I'm sure profit guides more than a few of their choices (even the ones I laud above). But this one, it almost feels like laziness, which is really uncharacteristic of them.

Dan Fedor - Founder, Blue Bottle Games

Rovlad's picture
Rovlad

If you're using shaders for basic GUI you can pretty much kiss mobile support goodbye.

linibot's picture
linibot

No one can really avoid google these days, but I have a deep deep distrust for the company by now. Still, you can't argue (too much) with android, it's a solid, open source, relatively flexible and customizable alternative to the overpriced cookie-cutter approach apple proposes. Then again, the fact that apple products are overpriced also practically guarantees that the app store is a marketplace frequented by people with deeper pockets.

So if we're honest, considering that plus the tax debacle plus their cut, google play is realistically not worth it, unless you go with that compromise. But it must also be annoying to be forced to refuse customers when you are already selling a niche product to begin with. The whole point of the internet making niche products financially viable is that you can find that one person on an island in the middle of nowhere that thinks you are the answer to all their prayers. ;)

I still hope you'll consider alternative marketplaces for android. Cause, nevermind all the lil islands, nevermind the non english-speaking world that has a harder time with NEO already, your plan leaves Australia and Canada out - and sure Canadians will be polite about it, but I don't know if you've met any aussies recently. ;)

And all that, cause google is being stingy. Bad google.


NEO Scavenger: FAQ
10 Ways (not) to Die - A beginner's guide

dcfedor's picture
dcfedor

@Rovlad, this is definitely a consideration. But then again, by the time this game is finished, mobile handsets will be more powerful than the dev machine I'm using right now. Or we'll all be killing each other for tickets to Mars to escape the apocalypse here ;)

@linibot, despite my grumbling, I did some more research this morning. And the new tally is looking slightly more promising.

I can sell in the US, Canada, Australia, EU, Brazil, South Korea, Norway, Albania, and Morocco, and I should only have to handle sales tax for WA, USA customers. Google does the rest. (Though if I sell more than A$75,000 in Australia, I'm on the hook for their tax.)

If I want Japan, too, I have to either register for JCT exemption (if selling below ~$88,000 per year there) or else register to collect/remit taxes there.

So theoretically, that's a much bigger pool. I doubt I'll hit either of those thresholds in Australia or Japan. Still, it leaves out China, India, Mexico, Russia, and about 100 other countries. It's possible they all have policies like Canada/Australia, but I haven't been able to track them down yet.

One other thing: pretty much all (twitter, email, reddit, forum, Steam) requests for the mobile version I've received over the years are Android users.

Doh!

Dan Fedor - Founder, Blue Bottle Games

Malacodor's picture
Malacodor

Google knows more about you than everyone else, including yourself and happily shares that data with malicious secret services. They avoid taxes into the billions and heavily abuse their quasi-monopoly. Also, I can't watch many music videos in my country, since Google refuses to pay appropriate license fees.

Ran around with a clown mask before it was cool