Creating executables?

Blitz3D Forums/Blitz3D Programming/Creating executables?

Cubed Inc.(Posted 2014) [#1]
Hi, everyone. I just finished making the first 'chapter' of my game, BlitzBitz, and decided that I want to release a prototype demo for others to test out and play for themselves.
This is the first time I've ever considered releasing something I've made in Blitz3d to the public, so naturally, I'm kind of nervous.
I am aware of the "create executable" in Blitz3d's toolbar, but I thought it'd be best if I enlightened myself a little on how Blitz3d's executable creation system worked. Can anyone give me a hand out in here?


Yasha(Posted 2014) [#2]
There isn't really a "system" - you press the button and it makes the executable. That's really all there is to it!

The executable works in exactly the same way as choosing your project's "main" file and running that from within Blitz - the working directory will initially be wherever the file is located and resources are loaded relative to this. The only difference is that Blitz3D source files are, naturally, no longer required to be present. All other resources of any kind - images, meshes, and DLLs - must still be present in the same relative locations.

If you are using any DLLs, move them out of Blitz3D/userlibs/ and into the same relative position to your "main" project file (the one you run, and intend to compile). If they were in userlibs/, they go in the same folder as the program; if they were in a subfolder of userlibs/, they need to go into an equivalently-named subfolder within the one holding your main program (handy for hiding DLLs and making your project look tidy). You can test this prior to deploying, because "Run" will look for them in this position too if it can't find them in userlibs/, which is handy for making sure you didn't forget anything. (The .decls stay where they always were.)


So to create a release:

-- if you're using DLLs, copy them into position
-- make sure Debug mode is disabled (it will let you compile debug builds for your testers, if such people exist - these run 5-10 times slower than Release mode)
-- hit "Create executable"
-- remove any .bb source files, unless you actually want to distribute those too

...and you're done! Just don't delete your source files from the main project tree!


Once you're thinking in terms of releases and versions and so on, it's also a great time (if you haven't already) to investigate version control systems like Git (GitHub provides a nice Windows GUI for it, no obligation to use it with their site). They're not just for professionals - being able to roll back changes, split into commit versions, and recover lost work is a potential lifesaver for anybody.


Cubed Inc.(Posted 2014) [#3]
So I just create a folder, create an executable of the game's main program, put all of the media and stuff in there, and it's ready for the public?

That's what I tried, but trying the launch the executable just resulted in a "Memory Access Violation" error. Does that mean I did it wrong?


Cubed Inc.(Posted 2014) [#4]
Alright, I got the executable up and running well. All I gotta do now is find a place to host the game for others to download.


Guy Fawkes(Posted 2014) [#5]
I'll host it on my website, but it won't be free.


LineOf7s(Posted 2014) [#6]
I'll host it on my website, but it won't be free.

Generous.


Guy Fawkes(Posted 2014) [#7]
Ya know, you can stop with the smart alec attitude anytime now. -.-


fox95871(Posted 2014) [#8]
Is Blitz media linker still a viable option with all this new Windows and Direct x stuff? I still like the idea of one file games, they're like game cartridges.


Kryzon(Posted 2014) [#9]
If I'm not mistaken, a Blitz Media Linked game copies the files outside of the package, reads them and then deletes them later.
While this makes it easy to add or remove an application, it involves more hard disk operations and so reduces the life expectancy of the hardware.

Normal game installations only read from files, so that's two thirds less hard drive operations.


Gizmo_2234(Posted 2014) [#10]
go to the programs tab then click create exe. that should do it.


Yue(Posted 2014) [#11]
https://www.dropbox.com/s/439puu6xn9ypgh7/runtime.dll

Not if you are interested this creates the executable icon without any work to do, paste it into the bin folder and replace it Blitz3D existing.

Greetings.