Sunday, January 4, 2009

F-Zero VS v1.0 release

Hello again,

Over the Christmas break I got to working on the code again after a long break and now finally, I have released v1.0.

You probably need the .NET Framework installed on your PC to run the server (you should have it installed anyway).

Get the package here: http://www.filesavr.com/fzvsv10_1

How to use it:

1) First, load FZVS_Server.exe. Specify the UDP port number you want to listen on, and hit the 'listen' button. Then select the number of players for the race and the track name, and press 'new race'.

2) You need to have the F-Zero ROM, which I cannot include in the package (obviously). There are many versions and I'm assuming that they all work, but if you notice the game not working properly, use the GoodSNES ROM version, which is called 'F-Zero (U) [!].smc'. This file should be in the same directory as the .exe files.

3) Start FZVS_Client.exe. Specify the IP address and port number the server is listening on (see point 1 above) and press OK. The game should start. Choose a car.

4) Repeat step 3, but run the FZVS_client.exe on other computers across the network or even on the same PC (if you have two gamepads on the one PC for example).

5) Race!

6) When all racers have finished, stop the race on the server by pressing 'Stop Race'. The FZVS clients should return to the main menu automatically. Then you can press 'New Race' again and select cars etc... make sure you press the new race button BEFORE you select the cars.

I recommend you play through a local network to minimise latency.

Another option is to run multiple clients on the same PC. My Intel Quad Core Q6600 @ 2.40GHz PC can handle four clients running on it at once through localhost (127.0.0.1) with ease... with four game pads and a big screen this is a good option.



Another note: if you have a multiple players in one room you probably don't want each FZVS client playing the music as this will result in multiple versions of the same song being played (ever so slightly out of sync). I added an option under Sound->Toggle Music which will disable music but leave the race sound effects etc enabled.

Finally: once the race starts you should not access the menu bar or move/resize the window. In these cases the game will pause and lose sync with the other players. It's not that big of a deal but it will cause the race timers to be out of sync, which may matter to some people.

12 comments:

Unknown said...

Hooray for another xmas present!

Would you consider releasing the source code? I'd like to make this work on MacOSX and/or Linux.

Michael said...

Hi Ivan,

Yes, I definitely plan on releasing the source code. I would like to wait a while to see if people report any bugs but once I am satisfied everything is okay, I will upload everything in a source package.

Michael

Unknown said...

Glad to hear it. I don't have access to a Windows machine, though, so I won't be able to report bugs yet.

kingzargo said...

Hi,

Thanks for releasing this awesome application.

What is the easiest to find an opponent? I would like to try it ones.

Unknown said...

I salute you from the bottom of my heart.

geoslake said...

Great news !!!
Very sad it requires .net, i'll have to use Thinstall once more :(

Michael said...

hi emodel,

Hmm I would recommend running the software on a windows system. I can't imagine a snes emulator running well through any sort of virtualisation software (although I could be pleasantly surprised!).

geoslake said...

Don't worry, NullDC and others work fine that way :)
(with C++ 2005sp1 as applink)

geoslake said...

Btw, does it require the full .net install ?
(if yes, which version)
Or just a few dll's from it ?

Thanks

Michael said...

Hi emodel,

I ran the executable through dllexp and got the following dependencies:

ADVAPI32.DLL
COMCTL32.DLL
GDI32.DLL
GDIPLUS.DLL
HNETCFG.DLL
KERNEL32.DLL
MSCOREE.DLL
MSCORJIT.DLL
MSCORWKS.DLL
MSCTF.DLL
MSVCR80.DLL
MSVCRT.DLL
MSWSOCK.DLL
NTDLL.DLL
OLE32.DLL
RPCRT4.DLL
SHELL32.DLL
SHLWAPI.DLL
USER32.DLL
UXTHEME.DLL
WS2_32.DLL
WS2HELP.DLL
WSHTCPIP.DLL

Anonymous said...

Thanks for the info.
Then, do you think that by dropping those dll's into your app's folder, it could work (or if not, could you modify you app to also look there for the dlls ?)

Michael said...

I think that even with the DLLs the .NET framework is needed, otherwise I could statically link it for you - but I don't think this would work.

Thinapp should run .NET apps.. Give it a try anyway, it's only the server that was built with C#.