Great to hear! Glad to help :-)
Recent community posts
I’ve never heard of a limit specific to wired vs wireless Xbox one controllers. I know the XInput API limits to 4 Xbox controllers and various input libraries filter out the XBox controllers in mixed mode to avoid enumerating the controller twice. What input library are you using? SDL2, ReWired, InControl,etc?
OK downloaded the macOS version and saw that it's python so I guess the source is already available. Unfortunately I have very little time to work on spare time projects, but if I somehow manage to get it working on Windows I'll let you know.
I realize that this is a bit late but I tried the installer version. It prompted me for admin credentials to install XNA redistributable and then it stopped. Same when I pressed the launcher button again.
What works for me is: Going to local files and starting setup.exe or just starting the .application file.
Tested now to modify the png files in the custom folder but no matter what I do it still uses the original images. Changing the collision text file works though.
Am I missing something or doing it wrong?
I know, I know... it's out of scope for now but... would it be easier to use "gobpack.exe -u" (included in the zip I sent via mail) to unpack the gobs to pcx and text files and then convert the pcx to png and in the end use png + text files as input instead of the gob files?
I must be a master of digging out old stuff from the void ;-)
"GOB file documentation:
THE FORMAT OF GOBFILES
Do YOU want to make your own GOB-files?
Then you have to know the GOB format!
Here you can find a brief desciption of it.
(this is all about how the file is saved)
Note: Everything is saved in Intel byteorder,
ie the least significant byte first.
Offset Size Description
0 2 Number of images in the file
For I=1 to Number of images
Offset Size Description
2+I*4 4 Offset in file to image data
The above offsets are offsets from the beginning of
the file. Each image has it's own image data.
The image data is like this:
THE IMAGE DATA
Offset Size Description
0 2 Image width in pixels (W)
2 2 Image height in pixels (H)
4 2 Hotspot x
6 2 Hotspot y
8 W*H Bitmap data
The offsets above are offsets in the image data (for each image).
The Hotspot x/y of a specific image works like this:
Whenever a sprite is drawn at (x, y) with that image,
the image is drawn at (x - hotspot x, y - hotspot y),
where hotspot x/y are the hotspots for that image.
The bitmap data is just a block of colordata for each pixel.
It scans the image horisontally left/down. This means that
the first byte represents the upper left pixel, the second
represents the pixel to the right of that and so on.
If the width is 10 pixels then the 10th byte of bitmap data
will represent the pixel (0, 1)."
Found it in a text file in this zip:
I understand that it's probably out of scope, just found it very amusing that I actually found it :-)
Anyhow, when I find the time I'll see if I can get an old level working and then see if I can automate the process to get all old levels working.
The original files inside the .dat files seem to be in another format and other file names.
Level images are .PCX
Sprites are .GOB
Sound effects are .SMP
And music is .MOD
See here for description of the files: http://www.aiei.ch/linux/jumpnbump/level-making/
If I want to get the levels working I guess I need to convert the level images and rename those files to match the filenames currently in the custom folder. Does the game currently support the custom sound effects, sprites and music?
Neat that the nogore option is in. :-)
Custom level loading would be really great even if it was just a command line option.
I’m happy to be a supporter of this project even though I understand that the donations don’t cover a lot of dev time.
Good luck with them de-makes!
It’s an issue with XBox controllers. I have XBox360 controllers but it should be the same for all XInput controllers that don’t have a magic switch on the controller to force them to use Direct Input. What kind of controllers were the 4 usb controllers?
A lot of frameworks allow at least 8 Direct Input controllers and a maximum of 4 XInput controllers. If they do this they use the XInput API for the XInput controllers and Direct Input API for the rest. When doing so they filter out all XInput gamepads on the Direct Input side so they don’t get duplicates. There is no easy way to know which 4xinput controllers are accessed via XInput so they filter out all of them from the direct input enumeration. Some frameworks have a way of disabling XInput altogether in order to access all controllers via Direct Input to get past the 4 controller cap for XInput controllers. As I understand this is only a Windows issue.
It could be. I downloaded them many years ago. I was pretty thorough so I wouldn't be surprised if they are all there.
I found this archived site too: https://web.archive.org/web/20110830033044/http://jumpnbump.spaceteddy.net/
The all levels zip still works.
Levels are now sent via the contact form. Let me know if there are any issues accessing them via the link.
If you want to preview the levels I dug out an archived version of brainchild designs website: https://web.archive.org/web/20160303200345/http://brainchilddesign.com/bottom.ph...
Sounds like a good spawn strategy. Guessing some of the levels don’t have 8 spawn points so they’ll need to be tested and maybe categorized depending on how many players they support.
I don’t have access to the levels from where I’m at so I’ll send them some time on Sunday or Monday.
Sure, I’ll send the levels. Going away for the weekend but I’ll get them to you after the weekend if I don’t manage to do it before. I’ve even fixed the spawn points on several of them so they work with 4 players. If I recall correctly Jump n bump had spawn points on every other tile is it the same for remastered?
Tested the game with a fifth Xbox360 controller but it doesn’t work. Looks like the game accessed XInput controllers via the XInput API which has max 4 controllers. More info about this issue can be found here: https://steamcommunity.com/groups/morethan4localmultiplayer/discussions/0/135514...
I don’t have any experience with the Godot engine though so I don’t know how easily this can be fixed.
Which is better for you, donate button or purchase on itch.io?
Awesome! I love Jump 'n' bump! Used to play it a lot with friends back in the days. Now I can finally enjoy it in full fullscreen again instead of fullscreen with a small viewport since I couldn't get scaleup to work on my graphics card. :-)
Really cool that you support 8 players! I have 8 controllers, do you know if Godot supports more than 4 XInput controllers via DirectInput?
I have over 250 levels for the original jump 'n' bump on my drive, would be really cool if they could be used with the remastered version.
Also the old cheats were quite interesting to spice up the gameplay:
jetpack, bunniesinspace, bloodisthickerthanwater, pogostick, (lordoftheflies... well actually I don't miss the flies.)
Also the -nogore switch was handy for times when you play with kids.
Are there any plans for supporting the custom jump 'n' bump levels and cheats?
Great work in keeping this old gem alive!
Yes that’s exactly right. XInput controllers are enumerated both by direct input and XInput so if there wasn’t some kind of filtering out on the direct input side you would control 2 players in the game. Hopefully your attempt to “not listen to XInput” will disable the filtering as well.
The first version of Defend the night worked with 8 XInput controllers but the controllers were a bit too sensitive so some additional dead zone needed to be added. Hope this is a clue to get it working again.
Looks like a cool game :-)
“The early access release is sold as, there be no returns for this booty, but this chest be full of endless fun. We will provide early access updates via this itch.io store page. The final version may or may not be available via itch.io.“
This is a bit vague to me.
• If I were to purchase EA would I get a final copy?
• If released on Steam would I get a key?
Love the graphics style and that it supports as many players as the keyboard can handle. I could see myself hook this up to a makey makey ( https://makeymakey.com/ ) for a game night. Would need to have some kind of win condition though...
Here are some suggestions for future development:
Option 1: When a timer runs out the player with the highest current score wins.
Option 2: Configurable number of respawns. Last player standing wins.
For more control of the steering, the direction could switch everytime the key is pressed.
Would be nice to have the numeric keys work as well. If I hook up makey makeys it'd be good to use 1,2,3,4,5 for players 1-5.
Keep up the good work!
I can confirm that it works on Windows 10 (64 bit).
I like the multiplayer mechanic where players are eliminated if they can't keep up.
Great that it supports so many local players :-)
If you ever find the time to get back to this game it would be interesting to see how it would play with a "Scorch went bonkers" one button control scheme. (http://wasyl.eu/games/scorch-went-bonkers.html)
Good work! And good luck with the next 28 games for this year :-)
I love jump n bump and i have 8 gamepads. Would be cool if 8 gamepads could be used in the game. Noticed that you use ReWired for input. According to documentation it's possible to switch off accessing the gamepads via XInput so you could access 8 XInput gamepads via DirectInput instead of only 4.
I think the most crucial thing for the platformer to feel more fluent is to so players don't stutter and get stuck when colliding with walls of objects.
Also couldn't get 8 players to work since gamepads and keyboard players control the same 4 players.
Keep up the good work!
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.
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?