Tuesday 2 December 2014

compatibility

I started making games in C++ using SDL as a cross-platform library. I was only using Windows at the time but being prepared for other platforms seemed like a good idea; also it seemed a lot cleaner than the Windows libraries anyway. When I was preparing to sell Vertex Dispenser increpare helped me port it to Mac, he'd used SDL before and it wasn't much trouble. Actually how it worked was slightly confusing as I found out when I actually got a Mac and tried to do it myself, but ok. Then later I got an Ipad to port Kompendium to and it was pretty easy (in terms of code; adapting the design to touch was much harder). But there were a few problems with SDL on IOS - it didn't work with the simulator, it didn't handle orientations quite right (the taskbar would appear upside down, WEIRD). So I looked at what other people were using and switched to Openframeworks. At first this seemed better; it worked great on IOS; but I start getting occasional reports of Corrypt and 86856527 crashing on elsewhere which I couldn't reproduce but eventually through trial and error sending lots of versions back and forth tracked it down to being NOT MY FAULT and buried somewhere in the library I couldn't figure out. Also some other odd problems. I wasn't really worried if a few people couldn't play Corrypt but since I was planning to sell 868-HACK on PC I had to deal with this somehow. This stalled the PC release for ages; eventually I decided to just go back to SDL for that - yes I will use different cross-platform libraries for different platforms how perverse.

And operating system updates tend to break things. Actually really just Apple ones, Windows has been respectable here. MacOS broke my SDL stuff a version or two ago - updating SDL seems to fix it but they changed the library interface so it's a bit of work to actually go through and make everything work again; I haven't gotten around to it yet. IOS7 demanded an entire update just to add "View controller-based status bar appearance: NO" to info.plist if you didn't want a line of crap drawn on top of everything, and then 8 broke everything by moving the documents folder and pointlessly changing something about how you get to start putting things on the screen I don't even know?? It didn't take all that long to update most of the games I'd used Openframeworks for, just had to update the library and change where they looked for saved games. Except O; when I recompile that now there's no transparency so everything looks awful I DON'T KNOW WHY. But the SDL stuff's been more work, Zaga-33 is just crashing a bunch now and I can't figure out why because the debugger just won't connect to it WTF, all I can think of to do to track it down is comment out a bunch of stuff and see if it still crashes but it's infrequent enough that that will take far too long to get any degree of confidence.

Also the appstore keeps adding new requirements to slow down the process further; I was trying to update Corrypt to fix a bug and it was rejected with some crap like "we made a different-shaped telephone and now we won't accept anything that doesn't explicitly support that too". So of course I just stretched the screen to fit and it probably looks awful but who even cares. Stretching works okay for low-res like Glitch Tank but it's really quite bad for the medium-res stuff I've been doing lately, but doing layouts for a bunch of different resolutions is heaps of extra work too.

Also lol whenever one of my games is reviewed somewhere a sealion pops up to ask why it's not on Humanoid or whatever, like I have time for that. I used to kind of care that Glitch Tank and O were trapped in some super messed up closed platform, but so far the only alternative is even more of a mess so who can really be bothered.

So yeah getting/keeping things working on different computers has been taking up way too much of my time and attention lately. It's ended up taking much longer than it should have because I keep getting frustrated and giving up, I've been a bit preoccupied with other stuff / LIFE and when I get distracted it takes me a while to get back into it and figure out where I was again. And it's just destroying my motivation to work on anything new, I have a couple of new games I really want to be working on but it's hard when I have this older stuff hanging over me unfinished/unfixed/unported. I feel like I don't even know how to make games anymore, it's become so much more work to make them actually work, it's demoralising to start making something with the expectation that even if it's completely functional now something outside my control will break it in six months time and I'll have to fix it again.

I was too prolific and it left me with too many things to maintain. Maybe I shouldn't bother because nobody bought them in the first place but they actually do steadily sell a little bit whenever I release something new so I feel like I ought to keep them working.

Ugggh I miss when I just made things.

3 comments:

  1. This sounds like hell. No one should be punished for being too prolific. Makes me want to super duper future proofing things

    ReplyDelete
  2. Don't give up! Your games have been inspiring to me.

    ReplyDelete
  3. port to NES, it's like the library of congress of game consoles.

    related, i was reading "the practice of light" and they were talking about how the older a technology is the longer it persists through history. so... whoops.

    ReplyDelete