The Choice - An Interactive Video (not a game)

Three years ago I had to use Macromedia’s Director for an interactive video for my university. Being an open source guy, I wanted desperately to find an alternative to Director for Linux, but I couldn’t, or at least I couldn’t find something to fit my cause. Three years later, after having more experience with Blender and BGE I stumbled upon my old files and project and I though: “What about Blender?!”
So I made it.
To warn you, the Video quality is very low. The codecs used are wrong. And it was one of my first times using a camcorder.
But it’s the thought that counts and the possibility that Blender can replace Director as an interactive tool (with ease in many aspects).

The project is similar to these:
http://www.makeuseof.com/tag/3-free-interactive-movies-web-control/

So, in this one you can choose a character’s point of view and make 2 decisions along the movie.


And here is the link to download it as a .exe:
https://drive.google.com/file/d/0B04B_00YMvZDcS1DeDlabjYycnM/view?usp=sharing

I am going to release a tutorial pretty soon, so if you have questions or requests ask me.

i like it it looks like a game intro like that

I’m glad you liked it. This technique is used for game intros as well.
If everything goes as I expect, in 2-3 days from now the first tutorial will be ready and it will cover the basics of this feature and how can be used.

Finally! I’ve done my first tutorial and it is something completely new (I think…)!

It doesn’t explain everything, so feel free to ask for anything missing. I’ve also updated the files and uploaded the Movie.py script, which can be found here:

################################################## ####

Movie.py Blender 2.50

Tutorial for using Video.py can be found at

www.tutorialsforblender3d.com

Released under the Creative Commons Attribution 3.0 Unported License.

If you use this code, please include this information header.

################################################## ####

#import GameLogic
import bge.logic

get current scene

scene = bge.logic.getCurrentScene()

get the current controller

controller = bge.logic.getCurrentController()

get object script is attached to

obj = controller.owner

check to see video has been added

if “Video” in obj:

# get video 
video = obj["Video"]

# update the video 
video.refresh(True)

if video hasn’t been added

else:

# import VideoTexture module
import VideoTexture

# get matID for the movie screen    
matID = VideoTexture.materialID(obj, "MA" + obj['material'])
# get the texture
video = VideoTexture.Texture(obj, matID)

movieName = obj['movie']

# get movie path
movie = bge.logic.expandPath('//' + movieName)

# get movie
video.source = VideoTexture.VideoFFmpeg(movie)

# set scaling
video.source.scale = True    

# save mirror as an object variable
obj["Video"] = video

# check for optional loop property
if "loop" in obj:
    
    # loop it forever
    if obj['loop'] == True:
        video.source.repeat = -1

    # no looping
    else:
        video.source.repeat = 0

# start the video
video.source.play()

Or you can download it from here:
https://drive.google.com/file/d/0B04B_00YMvZDQ0JNX2FLZEstR1E/view?usp=sharing