[WIP] Star Control 1 remake

Wish there was something new in the SC universe? Check out what fan based initiatives are going on.

Moderator: ZFP Peacekeepers

User avatar
Zeracles
Pootworm
Posts: 369
Joined: Wed Mar 17, 2010 6:33 am
Location: Sydney, Australia
Contact:

Re: [WIP] Star Control * remake

Post by Zeracles » Fri Mar 26, 2010 7:03 am

I heard that the matlab compiler package can do matlab to C, but I can't see it in the version we have here. I've had serious thoughts for a while about writing up my favourite matlab functions in C though.

In any case, if you wait long enough I'll do those things up in C. I haven't started but may have a chance soon :arrow:
Last edited by Zeracles on Fri Apr 09, 2010 9:26 am, edited 1 time in total.
Twinkle twinkle Paul and Fred (more)

sparkawk
ZEXy Beast
Posts: 8
Joined: Fri Mar 26, 2010 11:04 pm

Re: [WIP] Star Control remake

Post by sparkawk » Fri Mar 26, 2010 11:06 pm

I've been looking forward to SC1 remake. It would be great to have the option of playing strategy game via internet.

User avatar
Dragon
Reborn Shofixti
Posts: 528
Joined: Wed Mar 17, 2010 9:29 am
Location: South Africa

Re: [WIP] Star Control remake

Post by Dragon » Wed Mar 31, 2010 9:20 am

Hey looky! It's an actual honest to goodness update**.

I've pretty much completed the input library that I alluded to in a previous post. It might not seem Star Control related (and in many ways it's not) however I have a pretty extreme dislike of every other input library I've ever used. You might have realised this by now, I've ranted about it enough

The problem is that most windows (game related) input libraries are thin, pointless wrappers around DirectInput. Now DirectInput is pretty cool in many regards but it has 2 major failings. It only supports one keyboard and mouse and it doesn't support XBox 360 controllers properly. The lack of multiple mouse support has been a bug in DirectX in every Windows version after '95 - I'm not sure why it's never been fixed :(. The lack of XBox controller support is more insidious; Microsoft have deprecated support for DirectInput in favour of XInput. XInput is, unfortunately, a steaming pile of poo. It supports only the XBox controller; it's hard coded to 4 of them and it's also hard coded the inputs - there can be no support for any future game controllers without a new version and a recompile.

So XInput is technically deficient, looks like it was coded by a 3 year old, and doesn't support non-Microsoft certified devices. And there's my other big issue with it. It looks like a ploy by Microsoft to corner the hardware controller market; if developers stop supporting DirectInput then only XInput certified devices will work. Not cool.

I tried avoiding the DirectInput/XInput fiasco completely by using WinRaw and WinJoystick directly (they're lower level libraries but are curiously more usable) but that still didn't solve the XBox controller issue. I even tried querying the XBox Controller using it's mini-HID driver but still no joy. It's support is hidden behind even the HID driver and that is curious indeed. It means that someone has gone to an awful lot of effort to hide support for the XBox Controller from every input library other than XInput. It's certainly not something that could have happened accidentally.

*Rant ends and interesting stuff starts here...*

What I've done is written a thick wrapper around all the different input libraries and consolidated their different types of output into one consistent event based stream. This means that pressing a button (or whatever) on any* joystick, keyboard, mouse etc... on the system is reported in the same way and the game built on top of the library doesn't need to know how the different input libraries function and interact (there's some nasty duplication and cross-talk between them).

Instead of having to write firing the primary weapon as If 'XBox Button A' or 'Joystick Button 0' or 'Keyboard Left Ctrl' or 'Mouse Button Left' then then Fire I just write a method called Fire and it will be activated by whatever button the players bound to it. This makes my life much, much simpler now although maybe not everyone is going to appreciate that I took five/six months to write this because if I'd hacked out the code for Star Control I'd have been done more than a year ago ;) .


*Wii-motes not included yet although I can read from them. Parallel- and game-port joystick also don't work and it's unlikely I'll ever bother. MIDI devices are also not included yet so you won't be able to play Star Control on your piano keyboard.
**I still need to post more about network play, the starmap and the AI opponents but I've already written to much in a single post. Expect more later.
Last edited by Dragon on Wed Mar 31, 2010 9:59 am, edited 2 times in total.

User avatar
Angelfish
Slylandro gasbags
Posts: 1629
Joined: Tue Mar 23, 2010 11:10 pm

Re: [WIP] Star Control remake

Post by Angelfish » Wed Mar 31, 2010 9:34 am

I'm not really sure if there even are any other controller devices than Microsoft's?
By the way, I don't see the problem with only allowing certified devices to work on your game console? It makes life easier for game developers, having to support only certified controllers.

User avatar
Dragon
Reborn Shofixti
Posts: 528
Joined: Wed Mar 17, 2010 9:29 am
Location: South Africa

Re: [WIP] Star Control remake

Post by Dragon » Wed Mar 31, 2010 9:47 am

Angelfish wrote:I'm not really sure if there even are any other controller devices than Microsoft's?
By the way, I don't see the problem with only allowing certified devices to work on your game console? It makes life easier for game developers, having to support only certified controllers.
I'm fine with having only certified devices allowed on a game console because it does make development easier and it's simpler for the casual marker to understand; but on my PC I want to plug in whatever devices I have and be able to use them. I happen to like my old XBox 'Duke' controller it's much more robust and sensitive than the new XBox 360 controller. However it's not supported by XInput, I have to use DirectInput and the XBCD driver to make it work. Again I can't use a PS3 controller with XInput (and some people actually like them - wierdo's) so I'm back to DirectInput and whatever driver the PS3 controller needs.

Another argument is that there are a lot of disabled gamers who can't use the XBox controller and have to have custom devices built to play games (the Remakes community are quite big into supporting the head tracker/one-click gamers) but these devices aren't supported by MS and won't be because there's a substantial fee involved in getting a device certified and supported by XInput.

User avatar
Angelfish
Slylandro gasbags
Posts: 1629
Joined: Tue Mar 23, 2010 11:10 pm

Re: [WIP] Star Control remake

Post by Angelfish » Wed Mar 31, 2010 10:36 am

So, in the off chance (0,01%) that one of the people who play your game want a different controller, you want to add support for it too? That's benevolent, but honestly I think it's something that Microsoft and major game developers need to worry about, not you ;).
Besides that, if you for example have quicktime events in games where you have to press a certain button, you can't have the game go "Press X to not die" when you have to press the triangle or whatever is there on the PS3 ;).

User avatar
Zeracles
Pootworm
Posts: 369
Joined: Wed Mar 17, 2010 6:33 am
Location: Sydney, Australia
Contact:

Re: [WIP] Star Control * remake

Post by Zeracles » Wed Mar 31, 2010 11:02 am

Sounds good Dragon, elegance is always good.
Angelfish wrote:I think it's something that Microsoft and major game developers need to worry about, not you ;).
Pass up an opportunity to be noble, look awesome and show up those fellas who aren't doing their jobs properly? Not a chance!
Last edited by Zeracles on Fri Apr 09, 2010 9:26 am, edited 1 time in total.
Twinkle twinkle Paul and Fred (more)

User avatar
Angelfish
Slylandro gasbags
Posts: 1629
Joined: Tue Mar 23, 2010 11:10 pm

Re: [WIP] Star Control remake

Post by Angelfish » Wed Mar 31, 2010 11:33 am

Zeracles wrote:Sounds good Dragon, elegance is always good.
Angelfish wrote:I think it's something that Microsoft and major game developers need to worry about, not you ;).
Pass up an opportunity to be noble, look awesome and show up those fellas who aren't doing their jobs properly? Not a chance!
Okay, but could you please add in support for some of the more exquisite USB sextoys too, if you don't mind me asking ;).
It'll give the ZFP stinger an all new dimension :). How's that for awesomeness and nobility!

User avatar
Dragon
Reborn Shofixti
Posts: 528
Joined: Wed Mar 17, 2010 9:29 am
Location: South Africa

Re: [WIP] Star Control remake

Post by Dragon » Wed Mar 31, 2010 12:19 pm

Angelfish wrote:So, in the off chance (0,01%) that one of the people who play your game want a different controller, you want to add support for it too? That's benevolent, but honestly I think it's something that Microsoft and major game developers need to worry about, not you.
Besides that, if you for example have quicktime events in games where you have to press a certain button, you can't have the game go "Press X to not die" when you have to press the triangle or whatever is there on the PS3.
That's me, Captain Benevolence :D, although seriously I am one of the tiny percentage who use these unusual devices so even if I've only written it for me I'd still be happy with the effort. I, ...er, still have the joysticks from my Commodore 64 wired up through an adapter so I can use them :geek:. More relevantly though, there are a tonne of cheap grey-market controllers available which work about as well as the official controllers. The choice between buying an XBox 360 controller for R550 versus some knock-off for R70 isn't much of a choice (if I don't have an XBox 360).
Zeracles wrote:
Angelfish wrote:I think it's something that Microsoft and major game developers need to worry about, not you.
Pass up an opportunity to be noble, look awesome and show up those fellas who aren't doing their jobs properly? Not a chance!
I'm going to be difficult here and say that Microsoft, specifically, are doing there jobs by not supporting other hardware. In fairness to them they're a for-profit company who supported DirectInput even though it didn't provided a revenue stream whereas XInput probably does, or at least enough to support it's development.
Angelfish wrote:Okay, but could you please add in support for some of the more exquisite USB sextoys too, if you don't mind me asking ;).
It'll give the ZFP stinger an all new dimension. How's that for awesomeness and nobility!
Actually you can add support for any sextoys from the privacy of your own home! (and co-incidentally make the ZFP a little more creepy but a lot happier). As long as there's a visible input stream, oooeer, it can be configured. And I probably shouldn't be taking this seriously but you could even have a little vibrating dildo icon show up in quick time events. Yes, really.

User avatar
Lukipela
ZFP Peacekeeper
Posts: 2882
Joined: Fri Dec 04, 2009 4:03 pm
Location: Dead World

Re: [WIP] Star Control remake

Post by Lukipela » Sun Apr 04, 2010 3:52 pm

Does this mean I could use a TAC-2 assuming I actually managed to connect it to a port? If so, awesome!

Post Reply