MiSTer Autofire System: Proposed Changes & Community Feedback
Hey MiSTer enthusiasts! I've been diving deep into the world of autofire on the MiSTer platform, and I'm ready to get some feedback on the changes I've been working on. This is all about making the autofire system more user-friendly, powerful, and a whole lot less confusing. I'm excited to share my progress and hear what you all think. Let's break down what's been done, what's coming, and how we can make MiSTer's autofire the best it can be.
Autofire Enhancements: What's Already Cooking?
So, what have I been up to, you ask? Well, I've already tackled a couple of key areas to improve the autofire experience. First off, I've made it easier to see which buttons are currently set to autofire. Every time you toggle autofire for any button, the system will now display which buttons have autofire enabled. This is a huge win for preventing those accidental autofire activations that can be super frustrating during gameplay. We've all been there, right? You think you're firing normally, and suddenly, you're unleashing a rapid-fire barrage! With this new display, it's easy to spot and correct those situations.
Secondly, I've changed how the autofire rate is presented. Instead of using milliseconds, which can be a bit clunky, I've switched to displaying the rate in Hertz (Hz). This is a much more intuitive way to show autofire speed, as it directly mirrors how hardware devices and emulators typically present this information. Think of it like this: If you're used to seeing 10 Hz on your favorite arcade machine, you'll instantly understand what that means on MiSTer. It's all about making the information clearer and more aligned with what you're already familiar with. Furthermore, I've also implemented the ability to define custom autofire rates through the mister.ini file. This offers advanced users the flexibility to fine-tune their autofire settings to their exact liking. If you're the type who likes to tinker, this is your playground. But don't worry, even if you don't touch the mister.ini file, sane default values are in place, so the system works great right out of the box. I believe these initial changes are a solid foundation for further improvements. This is about making autofire easier to understand, control, and ultimately, more fun to use.
Now, let's talk about the future and what I'm planning to work on. I have a few exciting ideas in the pipeline that I'm eager to share with you all!
Per-Button Autofire Rates: The Next Level
One of the most requested features I've seen is per-button autofire rates. This means you'll be able to set different autofire speeds for each individual button on your controller. This is a game-changer for many types of games, especially shooters. Imagine having a rapid-fire option for your main weapon while keeping your secondary weapon's rate more controlled. It opens up a whole new world of strategic possibilities and customization. I've been working on the backend, and the way I've rewritten the autofire timing should make implementing this feature relatively straightforward. It's exciting to think about the level of control this will offer.
I propose we introduce two default autofire rates: low and high. The idea is simple: Pressing Menu/OSD while holding a button would cycle through the off/low/high settings. This approach is designed to be easily discoverable and less disruptive for users. It's a way of saying, "Hey, if you're already using the Menu/OSD combo for autofire, you're already halfway there!" Plus, this method will visually indicate what's happening when you press a button combination you already use for autofire. For advanced users who want even more control, they can leverage the custom autofire rates available in the mister.ini file. They could tweak the low and high values or define specific rates to match their precise needs. This will ensure that everyone, from casual players to hardcore enthusiasts, can tailor the autofire system to their preferred playstyle. By default, the system will offer a user-friendly experience with easily accessible options. This design aims to provide a balance between simplicity and advanced customization. It's about empowering players to tweak the autofire settings to their exact liking, so they can get the best possible gaming experience.
I really believe that the combination of per-button rates and a simple way to toggle between them will make MiSTer's autofire a true powerhouse. This level of customization allows for a truly personalized gaming experience. This will ensure everyone, from casual players to hardcore enthusiasts, can tailor the autofire system to their preferred playstyle.
Refining the User Experience
I plan to remove the left/right + menu/osd combination as a way to change global autofire rates. This specific control method can be accidentally activated by users, which can mess with gameplay. The new system will focus on stepping each button through off/low/high modes to replace that functionality. The goal here is to make the experience more intuitive and less prone to accidental adjustments. This change will streamline the process and make it easier for players to manage their autofire settings. By simplifying the controls, players can focus more on the game and less on the settings. I'm keen to hear what you guys think about this. User feedback is super valuable at this stage of the process, and it will help me finalize the design of the new system.
Backend Efficiency: The Heart of the System
On the backend, I've set up a single 60Hz timer for autofire. This approach will make handling per-button rates much simpler and keep the code easy to read and manage. In essence, it's about making sure that the system can handle all the different autofire settings efficiently without causing any lag or performance issues. My goal is to make sure the system performs flawlessly while providing all the features players want.
Seeking Your Input
I'm incredibly excited about the direction of this project, but it's important to remember that this is a community-driven effort. I want to build something that truly serves the needs of the MiSTer community. So, I'm eager to hear your thoughts, suggestions, and any concerns you might have. Your feedback will be essential in shaping the final design of the autofire system. I'm open to all ideas and suggestions. Together, we can make MiSTer even better! Please share your thoughts below, or feel free to reach out to me directly if you have any questions or feedback. I'm excited to keep you updated on the progress and can't wait to see what we can achieve together. What are your thoughts on per-button autofire? Do you think the low/high approach would be effective? Any other suggestions or ideas you think I should consider? Let's discuss!