Log In or Create Account
Back to Blog
PERSONAL

5

2,812
MARDEK Steam Re-release - More Hurdles
5 years ago - Edited 5 years ago911 words
Porting MARDEK to Steam has been frustrating and so far fruitless; here's a bit of venting about it, to let you know how it's going and to relieve my own stress!

Working on Divine Dreams has been fun, as I can sit down for a few hours and really know where I'm going and what I'm doing. I can get lot done in a day because of that.

This is entirely different, though, because I'm trying to figure out how to do stuff I don't understand, and which might not even be possible. It feels like trying to fumble my way through a maze while blindfolded; what seems like the best course of action changes by the hour. It's been frustrating, and progress hasn't really, well, progressed since I've yet to find the right path forward.

I wrote an email to Matt Roszak, though I didn't send it because in putting my question into words, I felt I'd maybe found a solution on my own. I thought I could write an AS3/AIR wrapper which the AS2 file would communicate back and forth with. I could make that in Adobe Animate, I thought, though there was a cost. I decided to bite the bullet and pay £30 for a month-long subscription, just so then I could know for sure whether it would work so then I could stop wondering about it.

It didn't work. Or at least it didn't immediately work, so if a solution is even possible then it'll take some more fiddling. There are lots of stupid issues that aren't worth ranting about, really!

More googling and experimenting later led me back to the technique that I went with a few months ago, when I originally tried to build a port for Steam (which worked, but which I wanted to release at a time that would help promote Divine Dreams). Essentially, Flash can export files as exe projectors, which include both the swf and a bundled Flash Player, so the user doesn't need to have it installed. I wrote a simple, additional wrapper in C sharp, which loaded in this exe and resized it appropriately, giving a neat and tidy effect where the screen was at one of three possible pixel-perfect resolutions, either surrounded by black while fullscreen, or in a minimalist windowed mode with a custom border.

However, there's no way that I know of to have that exe projector communicate directly with the C sharp app, which I'd need it to do to store more permanent saved games. I really feel it's necessary that I include that, even if I don't have the full achievements/cloud saves functionality.

It's possible for Windows Forms - which I wrote the C# wrapper in - to embed swf files directly, interestingly. It seems it might also be possible to have real back-and-forth communication thanks to an ActionScript thing called ExternalInterface, which would allow me to store save data as something other than cookies.

However, from what I can tell, embedded swfs in Windows Forms rely on the Flash Player installed in Internet Explorer (this is all quite old stuff). I'd need to bundle Flash Player with the app and have it use that, but I don't know how because I'm not used to doing programming on this level.

In a fit of desperation, I actually posted ∞ a question about it on StackOverflow ∞ (which I often find answers on but I've never posted on there myself). It's such an obscure thing though that I'll be very surprised if that gets any response at all.

(I hope you like that I made a point of mentioning that the things I made were TOTALLY POPULAR... which I said because I didn't want to come across as someone ignorant who'd just done some tutorial I didn't understand, or something??)

So I'm not sure what to do. I'm going to keep chipping away at it, trying different angles, but unlike the steady flow of progress with Divine Dreams, I can't stick with this for long without growing exasperated, and have to take frequent long breaks to avoid falling into madness.

I feel like it won't take much time once I actually find a solution I can work towards, but I can't predict a completion date yet. I was hoping to have the game ready and the Steam process underway by the end of this week, but at this rate it might take at least another.

Annoying, but it's not like this is trivial stuff. I'll keep you posted.



On an unrelated personal note, I've done a couple of hours-long video chats with a friend from university recently, which is definitely not something I've ever done before! Already I feel more used to it, though, and it's been nice just having a conversation using my actual voice for the first time in God knows how long. That's eaten up time too.

It feels like a little step towards overcoming the avoidance issues that I've talked a lot about. I've also coded a tool to hopefully help with that, where I record predictions for how I'll feel about what I'm avoiding, and how I feel once I've actually done them, to see how realistic my thoughts are - I talked about this in more detail in a couple of other posts - though I've yet to actually put it to use because, shockingly, I've been avoiding that. Who'd have thought.

5 COMMENTS