Small Update 2

Some new updates:

  •  Coloured the player trails to help distinguish players a bit.
  • Better game flow - game over now redirects to the main menu and it is easier to get around the game.
  • Esc now quits a game back to the main menu, and quits the game from the main menu.
  • The player has higher friction when walking on the ground to make it easier to enter turrets or automate them.
  • Fixed some bugs with the UFO not displaying after a while, so the game can't be 'beaten'.


Defend The Night - Update 2 2 MB
Jul 30, 2017

Get Defend The Night


Log in with to leave a comment.

Great that you've added these things. :-)

I discovered something just now. The Jam version detects  8 XBox360 controllers but since Update 1, only 4 controllers and a keyboard player can play.

Did you by chance switch to XInput for controller handling?

Hm, thanks Supersmo, that's interesting. It should support 4 XInput controllers, 8 Direct Input controllers and keyboard, but it seems like XInput controllers after the 4th aren't just being considered DirectInput like I had assumed. I'll see if I can disable XInput entirely because I don't need any of that functionality. 

The thing with these controllers is that all 8 controllers are accessible via DirectInput and 4 of them are also accessible via XInput at the same time. So it is technically possible for 4 of them to be accessed via XInput and the rest via DirectInput. The problem is that it is not easy to know which 4 controllers to skip via DirectInput since the enumeration order can differ and I don't think XInput exposes a unique ID of the controller so all frameworks I have dug into that support both DirectInput and XInput at the same time skip all of the XInput controllers on the DirectInput side when XInput is "activated". I've seen these approaches to dealing with supporting more than 4 XInput controllers in games:

  • Only use DirectInput
  • Have an option to disable XInput to allow for more than 4 XInput devices.
  • Automatically switch to DirectInput if more than 4 XInput controllers are connected. (not so common)

The reason some games have XInput as the default and an option to disable it is that some weird controller issues reported by a smaller set of users "disappear" when accessed via XInput. Also XBox360 controllers via DirectInput don't have rumble effect and triggers are on the same axis so holding both triggers is detected as none of them being pressed. This is due to the XBox360 driver being poorly implemented.