Tuesday, January 21, 2014

FMod - Super Secret Deployment

After waiting almost 36 hours for any kind of acknowledgement from the first person I gave a private beta copy of Fudge to, I selected someone else. This time, I went to a place essentially guaranteed to have responding people: IRC. Since it is a private beta, I launched a PM session with the Keen community's best programmer, who was fortunately online.

I'll admit now that I have never actually deployed an application heavy enough to use external resources beyond those in the System/Microsoft namespaces. Fudge makes use of two external projects, both by me: FMod (the backend) and Fudge.Interop (the extension API). Experienced people probably know where this is going, but I took the compiled Fudge.exe file out of the Release directory, put it in Dropbox, and gave my tester the link. It failed to launch. Twenty minutes and three recompiles later (including trying to embed the types, which resulted in "maximum number of errors has been exceeded"), I discovered that I really have to distribute the compiled versions of those projects, in this case as DLLs.

I gave him a ZIP containing all three files and he was able to launch it. Coincidentally, three is a common number for me on this project: three EGA graphics files, three map files, three tile planes, three state settings, and now three Fudge files. Apparently, I need to make it more obvious that, to load default levels from memory, one must check the "dump" box in the Dependency Conglomerator. It probably wouldn't hurt to have better error messages too. But once he got it working, he described it as "definitely the editor of the future."

He wants me to generalize it to support Galaxy as well, and of course have actual tools to manipulate more than one tile at once, but it seems I have done a good thing.

No comments:

Post a Comment