Screensaver help

A good place for general questions and comments...
User avatar
eddybox
Site Admin
Posts: 644
Joined: Sat Dec 13, 2008 11:22 am
Location: Nelson, BC, Canada
Contact:

Screensaver help

Postby eddybox » Sun Jan 03, 2010 7:05 pm

Hey Everyone,

I've spent some time creating a first version of an Osmos screensaver. I have something working on my machine, but creating a decent installer for a screensaver seems to be a bit of a mystery. (Not much info out there on it.) Anyone out there with experience on creating and distributing screensavers willing to help out?

Thanks,
Eddy

User avatar
Battlesnake
Posts: 13
Joined: Wed Feb 17, 2010 2:51 pm
Location: Leeds
Contact:

Re: Screensaver help

Postby Battlesnake » Wed Feb 17, 2010 2:55 pm

Hi Eddy,

I've not used installers with any of my screensavers (bar SFX-archives, using scripts
or registry fragments to install the screen saver), but I understand how one would
go about it normally. Are you trying to use any particular type of installer (eg. MSI,
Nullsoft, SFX, etc) or do you plan on creating your own?

Have you got the basic screen saver operating properly (configure, preview, etc),
or are you also looking for how to turn a standard EXE-target into a
fully-featured SCR?

Also, what programming language(s) are you using?

Cheers,
Mark
Last edited by Battlesnake on Mon Mar 15, 2010 4:46 am, edited 1 time in total.

User avatar
eddybox
Site Admin
Posts: 644
Joined: Sat Dec 13, 2008 11:22 am
Location: Nelson, BC, Canada
Contact:

Re: Screensaver help

Postby eddybox » Thu Feb 18, 2010 12:30 am

Hi Mark,

I have a .scr built and working, though without any configuration support yet.

It's more a question of how to install and handle resource files (textures, sounds, etc.). We use NSIS for the game installer, but in that case we just put the resources in subdirectories of the main game directory. I tried placing these directly in the windows directory (not very elegant), but the .scr file can't seem to open those, at least on XP. So I guess they'd have to be placed elsewhere and then we'd need to use the registry to know where to find them..? (Currently Osmos avoids any usage of the registry.)

There also seem to be issues with different versions of Windows (seems to be suffering from framerate issues on Vista).

The game is written entirely in C++, and I don't mind working the code details out, but I kinda feel like the installer is a whole other set of issues/expertise that I don't have time to get into these days. (And if it isn't done right, it'd lead to a shwack of support!) To be honest, if you (or anyone else) is willing to put together an installer I'd be happy to provide the .scr and resource files. We'd give you credit for the installer on our site of course, and I'd be fine with you distributing the screensaver as well. :)

Cheers,
Eddy

User avatar
Battlesnake
Posts: 13
Joined: Wed Feb 17, 2010 2:51 pm
Location: Leeds
Contact:

Re: Screensaver help

Postby Battlesnake » Mon Mar 01, 2010 3:16 pm

I would recommend either putting all resources used by the saver into the screen saver executable via resource scripts (*.rc/*.res).
Otherwise, install to program files, and install a "launcher" to the Windows folder. The launcher checks for existing instances,
probably via a mutex or window class lookup, then if none are found, launches the screen saver via CreateProcess, so that:
- the parameters can all be passed to it
- the working directory can be set to the location of the resource files.

In order to avoid registry usage, you could either:
- create an INI file in the Windows folder and store the saver location inside it
- Set a string constant in the launcher to MAX_PATH length of some character or repeated pattern, then find and replace this with
the saver's installation path as a post-install task.

The second method will be harder for users to update, if they decide to move the screen saver files later. It also will not work if UPX
compression is used on the launcher.

Firstly, I'd suggest checking (and possibly changing) the current directory when the game is launched (API version of the old ChDir command).



If you email me a working version of the saver and some details as to how it finds files (which files are used by which modules), I'll set
up a test VM and put together an installer for it.

Try either of:

mark@battlesnake.co.uk

js07mkc@leeds.ac.uk

to email me. The first has a lower attachment limit, the second has paranoid university attachment filters surrounding it, so you would
need to TAR the files, then RAR the tape archive with encryption to be sure of getting past the uni filters.

Alternatively, if you can email me a HTTP or FTP link to the files so I can download them directly, this would probably be easier since
you could also post updated versions there as the project progresses.

If it would be useful, I could also adapt my screen saver parameter processor (detects preview/execute/configure switches) for you too,
along with a "nice" Xbox 360 controller / joystick interface for the game itself.

As for the Vista framerate issues, make sure that you use a "fullscreen" video mode, otherwise Aero will interfere with pretty much every
aspect of the visual side of things. To test this, disable Aero and see if the framerate issue also goes away.

I like Osmos, and am also looking to build a small portfolio of computer-related accomplishments, since I currently have no actual IT
qualifications! As such, I'd be more than willing to help out in any projects relating to Osmos!

-Mark

User avatar
Battlesnake
Posts: 13
Joined: Wed Feb 17, 2010 2:51 pm
Location: Leeds
Contact:

Re: Screensaver help

Postby Battlesnake » Wed Mar 24, 2010 1:32 pm

Any news?

User avatar
Meal Worms
Posts: 624
Joined: Wed Apr 22, 2009 12:22 pm
Location: Toronto, Ontario, Canada
Contact:

Re: Screensaver help

Postby Meal Worms » Fri Mar 26, 2010 6:34 am

Hey Battlesnake,

Thanks so much for your interest, and apologies for the delay in getting back to you! Between GDC and doing the Linux and iPhone versions of Osmos, it's been a busy month over here! We hope to have a timeslice to move on the screensaver project soon!!

Stay tuned... ;)
Dave

User avatar
Battlesnake
Posts: 13
Joined: Wed Feb 17, 2010 2:51 pm
Location: Leeds
Contact:

Re: Screensaver help

Postby Battlesnake » Fri Mar 26, 2010 7:27 am

A Nintendo Wii controller can easily be linked to a pc/mac via bluetooth, a wired xbox 360 controller via USB. If you can give me some kind of prototype control interfaces for Osmos (just some of abstract class definitions in C++, C# or Object Pascal would be sufficient), I'll get to work on coding alternative input methods, such as console controllers and accelerometers. I have final exams coming up soon, but should be free for a bit after that while I sort out what to do after uni.

-Mark


Return to “Hemisphere Meta”

Who is online

Users browsing this forum: No registered users and 92 guests