A Murder In The Public Domain

A Murder In The Public Domain

Postby cohmstede » 29 Aug 2012, 07:29

A Murder In The Public Domain is a murder mystery game built from public domain movies, sounds, pictures, and images.

OK, the real mystery is why I started this project in the first place. I've never considered myself a writer but at times I can be a decent story teller so I'm giving it a try. I had no idea what this project was going to turn into, I just new I wanted to use old movies and public domain objects and have some fun making it. The game follows the adventures of Dirk Caliber and Mary Livingston. At points during the game, you will be presented options of what the characters should do next. Hope you enjoy it.
A Murder In The Public Domain_036.png
A Murder In The Public Domain_037.png


I've licensed this game as GPLv3. It's written in c++ using Qt for the GUI. I'm currently releasing in Windows XP,Vista, Windows 7, and Linux. I finally got my hands on a Mac so I'll be making a release soon. Source code, a Windows install exe, an rpm, and a deb are available for download. There are third party applications and codecs required for the different operating systems. These are described on the web page or in the instructions of the game itself.

Sourceforge:
http://sourceforge.net/projects/murderpd/

Web page:
http://murderpd.sourceforge.net/
cohmstede
 
Posts: 11
Joined: 29 Aug 2012, 06:33

Re: A Murder In The Public Domain

Postby cohmstede » 26 Sep 2012, 16:23

Release 1.2.0 is now available. In this chapter Mary and Dirk must solve the jewel theft and murder on the Occident Express. They meet a new powerful character that knows of Joseph Leed's murder and seems to know of Mary's past. A powerful character, but is she an ally? The writing flowed easier this time and I like the direction the story is moving in.

I had some fun and changed the mechanics of the sprites so they now follow a random path onto, off of, and across the backgrounds.

Here are the links:

Download:
http://sourceforge.net/projects/murderpd/

Web page:
http://murderpd.sourceforge.net/
cohmstede
 
Posts: 11
Joined: 29 Aug 2012, 06:33

Re: A Murder In The Public Domain

Postby charlie » 26 Sep 2012, 20:20

Interesting project. I hope you keep developing it more. :)
Free Gamer - it's the dogz
Vexi - web UI platform
User avatar
charlie
Global Moderator
 
Posts: 2131
Joined: 02 Dec 2009, 11:56
Location: Manchester, UK

Re: A Murder In The Public Domain

Postby cohmstede » 27 Sep 2012, 00:45

charlie {l Wrote}:Interesting project. I hope you keep developing it more. :)

Thanks for the encouraging words charlie. This is the first game I ever wrote and I got to admit I'm having fun with it. Next I think I might expand the user interface with tasks (i.e. Find a key for a locked door, find a combination for a safe.) I haven't really been planning ahead so we'll see what happens.
cohmstede
 
Posts: 11
Joined: 29 Aug 2012, 06:33

Re: A Murder In The Public Domain

Postby cohmstede » 29 Sep 2012, 13:46

Release 1.2.1 is now available. This is a minor release to make the early Mary Livingston conversations more in line with how her character is evolving. I also tied up a couple of loose ends in the Crustacean Cove murder. I usually won't create a release for such a small amount of changes but this time I thought it improved the game enough to make it worth while. I also added a fun little whirly flashback avi where appropriate.

Download:
http://sourceforge.net/projects/murderpd/

Web page:
http://murderpd.sourceforge.net/
cohmstede
 
Posts: 11
Joined: 29 Aug 2012, 06:33

Re: A Murder In The Public Domain

Postby qubodup » 29 Sep 2012, 15:04

Hello, I tested the 1.2.1 release. My specs:
{l Code}: {l Select All Code}
===================
uname -a
===================
Linux qbox 3.5.4-1-ARCH #1 SMP PREEMPT Sat Sep 15 08:12:04 CEST 2012 x86_64 GNU/Linux

===================
lspci -v \| grep VGA
===================
01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Juniper [Radeon HD 5700 Series] (prog-if 00 [VGA controller])

===================
glxinfo \| grep "OpenGL vendor"
===================
OpenGL vendor string: X.Org

===================
free -m
===================
             total       used       free     shared    buffers     cached
Mem:          3958       3822        136          0         81       2718
-/+ buffers/cache:       1022       2936
Swap:         2587          4       2583

===================
gcc --version | head -n 1
===================
gcc (GCC) 4.7.1 20120721 (prerelease)

===================
$ pacman -Q qt
===================
qt 4.8.3-4


First, ./configure stopped at:
configure: error: qmake-qt4 executable not found in your path - Is Qt installed?

which I fixed by changing "qmake-qt4" to "qmake".

Then, during make, I got an error:
{l Code}: {l Select All Code}
g++ -c -m64 -pipe -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_PHONON_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++-64 -I../../src -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include/phonon -I/usr/include -I/usr/include/phonon_compat -I. -I../../src -I. -o main.o ../main.cpp
In file included from ../main.cpp:23:0:
../mainwindow.h:29:30: fatal error: Phonon/VideoWidget: No such file or directory
compilation terminated.
make[2]: *** [main.o] Error 1
make[2]: Leaving directory `/home/qubodup/MurderPD-1.2.1/src/Release'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/qubodup/MurderPD-1.2.1/src'
make: *** [all-recursive] Error 1

Phonon is installed though, here's where: http://codepad.org/aWQpgyW8 . Apparently this is a cAsE error. I fixed it by manually changing the include paths in src/mainwindow.h from "Phonon/..." to "phonon/...".

I was glad to find that it is possible to do
{l Code}: {l Select All Code}
$ cd ../data && ../src/Release/MurderPD

to start.

I started playing (video) and got the "I have problems with audio/video" window. But I had no way of telling whether there was *supposed* to be any audio or video. It would help to have a "test audio/video" option or even constant audio/video playback in the start menu.

Here are the warnings from the command line:
{l Code}: {l Select All Code}
$ ../src/Release/MurderPD
Fontconfig warning: "/etc/fonts/conf.d/44-wqy-microhei.conf", line 6: Having multiple values in <test> isn't supported and may not works as expected
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9: reading configurations from ~/.fonts.conf is deprecated.
MurderPD(5393)/phonon (KDE plugin): Can not create backend object from factory for  "Xine" ,  "phonon_xine" :
 "Could not find plugin 'Xine' for application 'MurderPD'"
WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded
MurderPD(5393)/phonon (KDE plugin): Can not create backend object from factory for  "Xine" ,  "phonon_xine" :
 "Could not find plugin 'Xine' for application 'MurderPD'"
WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded
WARNING: Phonon::createPath: Cannot connect  Phonon::MediaObject ( no objectName ) to  Phonon::VideoWidget ( no objectName ).
MurderPD(5393)/phonon (KDE plugin): Can not create backend object from factory for  "Xine" ,  "phonon_xine" :
 "Could not find plugin 'Xine' for application 'MurderPD'"
WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded
MurderPD(5393)/phonon (KDE plugin): Can not create backend object from factory for  "Xine" ,  "phonon_xine" :
 "Could not find plugin 'Xine' for application 'MurderPD'"
WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded
MurderPD(5393)/phonon (KDE plugin): Can not create backend object from factory for  "Xine" ,  "phonon_xine" :
 "Could not find plugin 'Xine' for application 'MurderPD'"
WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded
WARNING: Phonon::createPath: Cannot connect  Phonon::MediaObject ( no objectName ) to  Phonon::AudioOutput ( no objectName ).
MurderPD(5393)/phonon (KDE plugin): Can not create backend object from factory for  "Xine" ,  "phonon_xine" :
 "Could not find plugin 'Xine' for application 'MurderPD'"
WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded
MurderPD(5393)/phonon (KDE plugin): Can not create backend object from factory for  "Xine" ,  "phonon_xine" :
 "Could not find plugin 'Xine' for application 'MurderPD'"
WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded
MurderPD(5393)/phonon (KDE plugin): Can not create backend object from factory for  "Xine" ,  "phonon_xine" :
 "Could not find plugin 'Xine' for application 'MurderPD'"
WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded
MurderPD(5393)/phonon (KDE plugin): Can not create backend object from factory for  "Xine" ,  "phonon_xine" :
 "Could not find plugin 'Xine' for application 'MurderPD'"
WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded
WARNING: Phonon::createPath: Cannot connect  Phonon::MediaObject ( no objectName ) to  Phonon::AudioOutput ( no objectName ).

I checked https://wiki.archlinux.org/index.php/KDE#Phonon and installed phonon-gstreamer and removed phonon-xine (probably an old version - it was a package from AUR, the user repositories of the Arch Linux distro). There were no more warnings, but I kept getting the a/v problem screen. I tried `make clean && ./configure && make` but this didn't help.
removing ~/.kde4/share/config/phonondevicesrc did not help either.
What should I check next?
User avatar
qubodup
Global Moderator
 
Posts: 1671
Joined: 08 Nov 2009, 22:52
Location: Berlin, Germany

Re: A Murder In The Public Domain

Postby cohmstede » 29 Sep 2012, 15:55

Hi qubodup

Hmmm. I should probably find out what flavor of Linux you're using but let's see if we can fix this before that. First off, if you have qmake but not qmake-qt4, I believe qmake is the make for qt3, are you sure you have qt4 development files? The easiest way around this would be to install Qt Creator. This will install all the necessary libraries, includes, and executables.

With the phonon include directory, what I expect to find is the following directory:
/usr/include/phonon/Phonon where Phonon is a link to ../KDE/Phonon. This will probably happen with the install of qt.

And with problems with audio / video, you need to install the gstreamer plugins ffmpeg, good, bad, and ugly. If you are using Fedora, you'll need to pick up the ugly and ffmpeg plugins from RPM Fusion.

First off, let's get qmake-qt4 installed. That will get us started if not solve most our problems.

P.S. I'm using this build in Fedora and Ubuntu. Are you using a different distro?

thanks
cohmstede
cohmstede
 
Posts: 11
Joined: 29 Aug 2012, 06:33

Re: A Murder In The Public Domain

Postby qubodup » 30 Sep 2012, 09:49

I'm on Arch Linux.
The only thing that was missing was the gstreamer0.10-ugly-plugins package, thanks for the heads up (for some reason I assumed the separation into bad/ugly was a debian/ubuntu thing that I wouldn't have to worry about on Arch)!

Everything seems to work now!
Is the audio supposed to block/pause any interaction until it is over though? I would much prefer to at least be able to skip it (allowing it to play in the background might be more complicated to implement?). The delay after the last frame of videos, which can't be manually skipped, but which automatically gets unpaused disturbs me as well. I see that it is probably very hard to allow skipping portions of a video though.

Here's a video of the first minutes of gameplay that I experienced (using a dark gtk theme): http://youtu.be/vHCGoH_2Hjs will try to convert and re-upload (no audio was captured unfortunately but it did work)

I didn't reach a point of interactivity. I didn't get used to the mash-up of visual styles (clipart and photos) and medium (voice+video+subtitles vs. images+text) during this play session.
User avatar
qubodup
Global Moderator
 
Posts: 1671
Joined: 08 Nov 2009, 22:52
Location: Berlin, Germany

Re: A Murder In The Public Domain

Postby cohmstede » 30 Sep 2012, 14:59

Hi qubodup

Glad to hear you got it working. I read your post and thought about it. First off, the delay you're seeing after the film clips and sounds is a reported bug in gstreamer / phonon. It has been fixed and is slowly making it's way through the distros (it's fixed in Fedora but I still see it in Ubuntu, there was never any delay with DirectX.) That being said, backgrounding the sounds is not that difficult, I might experiment with the songs. As far as skipping the sounds and especially the film clips, the film clips are integral to the story, eventually you come to a point where you must choose the murderer and I can't allow skipping over a clue.

Thanks for the comments.
cohmstede
cohmstede
 
Posts: 11
Joined: 29 Aug 2012, 06:33

Re: A Murder In The Public Domain

Postby cohmstede » 12 Oct 2012, 01:53

Hi qubodup

I took your suggestions to heart. I tried playing the songs asynchronously and ran into too many sound over sound collisions that just didn't work. I opted to allow the sounds and movies to be truncated. I added ways to rewind the game for anyone who missed something. Anyway, here's the new release.

Release 1.2.2

I've made this a minor release because there is no more additional story. There is, however, major changes to the user interface. I've added the << Previous button. This button, or pressing the Backspace key, will move the game to the previous scene. I've added the Next >> button. This button behaves the same as clicking the left mouse button, or pressing the Spacebar or Enter key. The user can now accelerate through sounds, songs, and videos in the same way that they accelerate through a conversation.

Here's a new screen shot:
Image

Here are the links:

Download:
http://sourceforge.net/projects/murderpd/

Web page:
http://murderpd.sourceforge.net/
cohmstede
 
Posts: 11
Joined: 29 Aug 2012, 06:33

Re: A Murder In The Public Domain

Postby cohmstede » 24 Mar 2013, 01:55

Release 1.2.3 is now available. I've added a new trivia user element. Now at places in the story you'll be asked to answer multiple choice trivia questions. The questions are about the movies, songs, or anything else I might have dreamed up. This release fixes a bug that causes an intermittent crash during videos in Linux.

Here's a screen shot of the new trivia element:

Image
cohmstede
 
Posts: 11
Joined: 29 Aug 2012, 06:33

Re: A Murder In The Public Domain

Postby cohmstede » 28 May 2013, 02:29

Release 1.3.0 is now available.

In this chapter Mary must look into her childhood to prepare for the dark man. There is a problem however, she has no memory of her past. Who can help? Dirk and Mary must find someone, anyone, that will point them in the right direction. Along the way, they meet an other worldly ally or at least the enemy of my enemy is my friend.

I have also converted all the video audio tracks from AC3 to MP3. You now only need an xvid and MP3 decoder to play the game.

Here are the links:

Download:
http://sourceforge.net/projects/murderpd/

Web page:
http://murderpd.sourceforge.net/
cohmstede
 
Posts: 11
Joined: 29 Aug 2012, 06:33

Release 1.3.1

Postby cohmstede » 01 Jun 2013, 04:09

Release 1.3.1 is now available
It fixes the audio / video delay problem I get in some Linux installs.
cohmstede
 
Posts: 11
Joined: 29 Aug 2012, 06:33

Re: A Murder In The Public Domain

Postby odamite » 01 Jun 2013, 09:08

Hello cohmstede! Good work! Your game looks pretty nice. Playing it right now. :)

Anyway I have some propositions for you. It seems that you're using Qt for the game. I think that using QML instead is better than using plain QtWidgets. This could bring nice smooth animations to the game itself and nicer custom user interface instead of the native look. On top of that this would bring support for mobile devices such as older Nokia phones (not the new Windows phones), upcoming Jolla's Sailfish, Ubuntu phones and in the future also Android and iOS.

QML should be quite easy to learn but integrating it to your existing c++ codebase could be hard. It might be smarter to rewrite everything with QML and JavaScript. However note that this is just my idea. ;)
User avatar
odamite
 
Posts: 166
Joined: 16 Jan 2012, 16:28

Re: A Murder In The Public Domain

Postby cohmstede » 01 Jun 2013, 20:03

Hi odamite
Thanks for your response. Funny, your the second person to mention QML / QtQuick to me. (Well if you think that's funny, what do you get if you cross a cocker spaniel, a poodle...) Anyway, there is a c++ interface to QtQuick so I would be able to keep my main game engine intact (the GameScene class, GameScenario class, and the xml scripts that define the flow of the game.) My game is built from scavenged clip art and pictures that I can find in the public domain so I'm not sure how much QtQuick would be able to help me with my animations, there's just not that much there to work with. I'm also going to be adding more user interaction (What type of interaction? No idea, but it will come to me) and I don't want to limit my ability. I like the idea of being able to run on a phone so I am looking into it but right now I know where my next murder is going to be so I'm writing story while it's coming to me.
cohmstede
 
Posts: 11
Joined: 29 Aug 2012, 06:33

Who is online

Users browsing this forum: No registered users and 1 guest