I've searched throughout the forum, and found a few posts on packaging a game for different systems, but I'm having some issues, and couldn't find answer.
I would like to package my game into a exe for windows, and dmg for osx.
I read
https://github.com/jlnr/gosu/wiki/Ruby-Packaging-on-Windows, but the problem I ran into is that ocra has windows support only. I don't have a windows machine to run this, and when I run on my mac, I get the following error:
~/Development/gosu/pcotm$ ocra --help
/Users/jeremy/.rvm/gems/ruby-1.9.3-p194@pcotm/gems/ocra-1.3.0/bin/ocra:18:in
quote': can't convert NilClass to String (TypeError)
from /Users/jeremy/.rvm/gems/ruby-1.9.3-p194@pcotm/gems/ocra-1.3.0/bin/ocra:18:in
<class:Pathname>'
from /Users/jeremy/.rvm/gems/ruby-1.9.3-p194@pcotm/gems/ocra-1.3.0/bin/ocra:8:in
<module:Ocra>'
from /Users/jeremy/.rvm/gems/ruby-1.9.3-p194@pcotm/gems/ocra-1.3.0/bin/ocra:4:in
<top (required)>'
from /Users/jeremy/.rvm/gems/ruby-1.9.3-p194@pcotm/bin/ocra:19:in
load'
from /Users/jeremy/.rvm/gems/ruby-1.9.3-p194@pcotm/bin/ocra:19:in
<main>'
from /Users/jeremy/.rvm/gems/ruby-1.9.3-p194@pcotm/bin/ruby_noexec_wrapper:14:in
eval'
from /Users/jeremy/.rvm/gems/ruby-1.9.3-p194@pcotm/bin/ruby_noexec_wrapper:14:in
<main>'
Also, in this guide it mentions the "fmod.dll". Where do I find this file so I could include it? Does ocra generate this, or is this a generic windows file? Is there another gem out there where I can easily create an exe file using my mac?
Going through
https://github.com/jlnr/gosu/wiki/Ruby-Packaging-on-OS-X guide, the instructions seem to be pretty straight forward. My problem with this is that opening the contents shows all of the ruby files. It would be nothing to just open the contents and get all of the source code for the game. Is there another option for packaging a game into just a single file?
On a side note, has anyone used Shoes.rb? This program has a packing system that's pretty clean and creates a simple executable for linux, mac, or windows through it's program interface. I have no idea how it works, but maybe that's an option?
Thanks for the help.
~Jeremy