Boxer

Developer diary: plans and progress reports.

Inspector Gadget’s facelift Friday 30th July 2010

In this week’s episode, the Inspector panel gets some more sweet hot lovin’. Download the new build here, and read more below.

Meet the Mouse panel

Now that Boxer stores per-user-per-gamebox settings, we can have some much-needed tweaks for mouse behaviour:

This latter setting is vital for games where moving the mouse also moves the game view: Boxer’s regular behaviour can be frustrating as hell, if the game goes spinning or scrolling off into oblivion while you reach for a menu.

I’ve been humming and hawing for some time over how to present the option. It’s clear that it’s necessary, but it may be worth going further and making it the default; or making it Boxer-wide instead of per-gamebox, like rendering settings; or making it per-gamebox instead of per-user, like CPU settings. Time will tell where it should best live.

For the moment though, I feel that Boxer’s regular mouse behaviour does a good job for most games; and I find I only want to change it for one or two that misbehave. So for me, it strikes the best balance to have it as a per-user-per-gamebox option that’s disabled by default.

Now meet the (all grown-up) Drives panel

I’ve been primping and preening it to within an inch of its life. Besides aesthetic improvements, I’ve put in buttons to add, eject and manipulate drives, making the panel’s functionality more obvious and accessible.

The biggest addition though is the ability to import drives into the gamebox straight from the Drives panel. This copies an entire volume or disc image into the gamebox, so it comes along for the ride and gets mounted whenever you play the game.

Of course, this is just like Boxer 0.8x used to do when installing games, and will be a key feature of Boxer 1.0’s upcoming game installer too. It’s not often that you’ll need to use it outside of game installation; but I want to ensure that anything you can do during installation, you can do afterwards too.


What next?

This will hopefully be the last alpha build before Boxer 1.0 goes beta. That will be a Boxer feature-complete and mere weeks away from a final release. After one-and-a-half years, the time is nigh.

There’s two core features left to (re)implement before then: game installation, and the DOS Games folder. I’ll be working furiously through August to get these ready, and I’m very excited for what we’ll have to play with at the end of it.

Commentary

  1. Hello, I'm a first time poster here, and I just wanted to say how much I adore Boxer. It's better than any DOS-native computer I've ever had, it's brought my DOS games collection back from the dead, and it's probably the biggest reason I'm never going back to Windows. Being a nostalgia whore, I can't thank you enough for making that possible.

    I have a small concern, though. There are some games for which using Boxer's usual methods isn't an option. Rather, I put their ISOs in a directory called 'iso' under the gamebox root (with the actual game-installed files in a 'c.harddisk' folder, just to keep everything tidy), and mount them via an IMGMOUNT command in the 'autoexec' section of the gamebox's Dosbox Preferences.conf file. Like so:

    imgmount d "iso/lighthouse_1.iso" "iso/lighthouse_2.iso" -t iso

    This has the effect of mounting multiple discs in a virtual CD changer under a single drive letter. Some games absolutely require this--their discs can't be merged in a single fake CD folder because they contain files with different content but the same filenames (grr, Sierra!), and I can't simply put all the ISOs in the root of the gamebox because most game engines aren't smart enough to search for their content in multiple CD drives.

    This works perfectly in 0.87, but the 1.0 alpha doesn't seem to acknowledge the autoexec section of Dosbox Preferences.conf--only the hard disk folder seems to get mounted.

    I'm not terribly vexed by this--it's an alpha, of course there's stuff it can't do yet--I just wanted to make sure you knew there was at least one weirdo out there who actually uses this kind of arcane crap. ;)

    CD audio via a CUE/ISO/MP3 setup would be nice, but I expect that's in the hands of the main DOSBox team :P

  2. Hi there, thanks for bringing up this point! Boxer 1.0 does actually run the AUTOEXEC commands, but there's two problems in the alpha that are preventing your setup from working:

    • In Boxer 1.0, the working directory (to which relative paths are resolved, like "iso/lighthouse1.iso") is the folder that Boxer is in, not the root folder of the gamebox like it was in Boxer 0.87, so IMGMOUNT isn't finding the ISOs correctly. This is not an intentional change, I just haven't fixed it yet.

    • I've torn out all of DOSBox's old keyboard shortcuts, including the one you need to cycle the drives; so even when the ISOs are mounted with the right paths, you wouldn't be able to flip between them. I may add this shortcut back in for now, though I won’t be listing it in the menu.

    In the meantime, you should be able to play the game in the current alpha by swapping the drives back and forth yourself via the Drives panel. It's fiddly, but then disc-swapping doesn't need to be done very often.

    Going forward: multi-CD games are definitely Boxer’s Achilles heel, and I have an awesome plan for how Boxer is going to handle them gracefully - one that will knock the socks off the old IMGMOUNT way. Sadly this will have to wait for Boxer 1.1 though, when I'll have the time to implement new features.

    (Also, while I've tried to avoid regressions in functionality from Boxer 0.8x, there is stuff that I've disabled along the way or had to leave out that I simply don't have time to put back in for 1.0. These features will be gradually reintroduced in 1.1 and 1.2, with proper time and thought given to each.)

  3. As usual from your fingers, awesome!

  4. Things are certainly starting to heat up. Looking forward to the release.

  5. Awesome work, Congrats on the acheivement

  6. Boxer is just getting better and better! Thanks for all you hard work. Looking forward to the beta...

  7. Finally! After having to live without the awesomeness of boxer for a year (thanks to having to sell my macbook to afford a year of traveling) I finally own a macbook again! The FIRST thing I did when I got my new macbook pro from Kuala Lumpur was install boxer and write a comment on this site. Thank you for this app, I love all the new features that have popped up while I was away from this beloved app! I especially like the new drives panel.

    Once again, this might be a retarded idea, but I was thinking about all them folks who have certain issues with certain games and... Well, I always thought how hard would it be to start an online help solution? You start up a game, the game automatically sees if this is a game with common problems, and a user-feedback-based server will provide you with solutions if necessary, such as games where using certain soundcard emulations may cause problems, or games where it's difficult to upkeep a playable framerate.

  8. Oh, and I meant the APP contacts the server and gives you a pop-up window with fix-it-yourself instructions, not the game :P

  9. Hi Xenomorph, good to have you back in Boxerland!

    The idea of builtin per-game online help is intriguing. While Boxer tries to make its autodetected configurations bulletproof, this is of course impossible for certain classes of problem – run this EXE instead of that one, be sure to download patches X and Y, etc. – and that's where online help would come in.

    I wouldn't want to push this in users' faces though; rather, just have a menu item appear in the Help menu if there is any help available for that game. At most, Boxer could automatically show this to the user only the first time they launch that game (e.g. during importing), telling them where to find the info thereafter. But even that feels a little like you'd have to swat away a distraction.

    Incidentally, DOSBox's game compatibility list is very useful for me when diagnosing users' problems; unfortunately it's also a nightmare to navigate, very Windows-specific, and full of outdated or just plain wrong information. It would be great to have a similar better-designed resource, filled with Boxer-specific troubleshooting info, that can be integrated with Boxer and kept up to date by Boxer’s users. I think I shall add this as part of the online game database proposal.

    A note about help in general: as part of the new game import process, Boxer will now display general installation tips while an installer is running, in the region currently used by the choose-a-program panel. Beyond this, I plan to go through adding a lot more situational help throughout Boxer's various UIs: as tooltips, discreet in-window text, (?) buttons and so on. Once I get time to actually write again, that is; so, probably not for 1.0 alas.

  10. Curious - printer support? I have been assuming 1) place the data in a file, 2) exit DOS and 3) have OS X 'print' the file. Reason I am querying is that I have noticed people setting DOS Virtual Machines in VirtualBox and VMware products.

  11. Printing in Boxer is pretty much a no-go - the only workable approach is as you describe, printing plaintext files after the fact, and I recommend to users who need true printing support that they look to VMWare Fusion and the like. I hope to integrate Boxer with OS X's printing system in a future release, to allow DOS apps to print directly, but this is a low-priority feature.

  12. Hi Alun Bestor, for begin you are really amazing, your project is a must have on mac. Are you alone on this project ??? So, I've rectly noticed it's impossible to play to constructor with boxer, have you alredy had this problem.

    Congratulation for this app.

  13. Hi Mr. Viggles, thanks for keeping us updated on your progress, I'm really looking forward to 1.0. Is there a releasedate in sight? Or do you at least know if it will be ready this year?

  14. Harry: Yup, it's just me doing the coding and graphics, though many others help with translation and testing. Not sure what you mean by constructor, could you explain that again?

    Mungo: a feature-complete 1.0 beta was supposed to be out at the end of August - but game installation has turned out to be a much bigger job to reimplement than I'd estimated (well ok plus I got into Minecraft, which is crazy addictive. Jesus.)

    The beta should be out this month though, and will be the first public release on Boxer for nearly a year. From there, it's a matter of bugfixing and feature-polish before 1.0 final is ready. But given that 1.0 is light-years ahead of 0.87 in both polish and reliability, I'll probably be pushing the beta as an update to all users of older versions.

  15. Thanks Alun, can't wait! :)

  16. Any information on the state of proper joystick support in 1.0? I remember reading a report stating that joystick support would be removed in 1.0 and properly re-implemented in 1.1. Plus I've seen nothing in your Bitbucket commits to indicate otherwise.

    So if indeed this still is the case and joystick support is absent from 1.0, it will be difficult for me (and others) to update anytime soon.

  17. I'm afraid so Sivilius: joystick support is unimplemented in 1.0 and earmarked for 1.1. I can't give you any timeframe for 1.1 yet, but were I to delay 1.0 further in order to implement it then it would take as long to release as 1.1 would otherwise.

    I'll try to make 1.1's joystick support worth the wait - what kind of joystick(s) are you using with your Mac, and what games are you playing with them?

  18. My current joystick (Logitech 3D Extreme Pro) has never been an issue. In fact, OSX's support for joysticks/gamepads since Tiger has been excellent.

    The problem is with the Axis-calibration in certain games. TIE-Fighter and WC:Privateer are prime examples of this. Both have horrid calibration requiring usage of the timed=false and swap34=true settings. Privateer in particular has issues with assuming 2 joysticks instead of one by default. In my experience most pre-1993 don't have these axis issues, but many later games do, especially if they have some sort of HOTAS support.

    My "request" would be to include some sort of seperate axis calibration pane for all the settings in [joystick].

  19. Hello! How do I get the game listing window? When I startup Boxer all I get is the menubar. I can only open games with the file menu.

  20. In the current alphas, you'll have to open your DOS Games folder from Finder (all it actually is is a Finder folder with a special window background.) The next alpha/beta build will allow you to open the folder directly from Boxer however. Just as soon as I pull my thumb out of my ass and release it!

  21. Hi, thanks for such a fine arts! It's all so tasty. Yummy.

    The version I am using is 0.88, which I reninstalled after trying the latest alpha, which would not give me the background in the games folder and would not re-create the folder after I moved it to trash. However, it really would be nice to see the 1.0 appearing, especially since I am on GOG now ;)

    So: Pleeahse! Reeleahse! :)

  22. Hi again, after having some performance issues with Boxer 0.87, I've tried your latest 1.0 Alpha and gotta say, it's excellent. Love the new Inspector, it not only looks good but makes configuration a lot easier on the fly and is simply "fun" to play around with.

    Also I've noticed that while I had some performance issues when recording gameplay footage with screencapture software under 0.87, I don't have them anymore when running the Alpha.

    Thank you! :)

  23. Nyeh... munch munch munch ...what's up, doc?

  24. Is this project dead?

  25. Hi Luis, not at all! However, it's been on coding hiatus for the past couple of months. I got burned out on development at the end of August and decided to take a few weeks' break, which real life (and Minecraft) conspired to make longer and longer…

    Game installation and game-folder creation are ready and working pretty well - they're in a very usable state in the trunk, so if you have XCode you can try them out - but it stills need 10.5 fixes and a first-run UI before I can release another build.

  26. thank you! boxer is awesome and so are you! :)

Design by 40watt.