Hello! The current version of VNgen will continue to work and will remain purchaseable through Itch.io. An overhaul to adopt modern GameMaker standards is planned once there is a more stable engine target to build for.
XGASOFT
Creator of
Recent community posts
Hi linko,
This is a known backwards compatibility bug in GameMaker itself since the introduction of typed variables. For some reason, this particular reference to a sprite in the demo is not recognized as a sprite—despite other references working just fine.
For now, the best workaround is to simply comment out the indicated line 114 of obj_demo_mascot's Step event. You will be missing one of two CTC prompts, but the demo will be fully functional.
Hi Kurasami,
Things are still in motion behind the scenes, not the least of which being updates to GameMaker itself. Many features I had planned to develop myself are now official parts of the engine, which is a huge benefit, but also requires rethinking the structure of VNgen 2.0 to take advantage. While I don't want to reveal too much just yet, I definitely look forward to sharing updates in 2024!
Hi, thanks for using Xzip!
Please keep in mind that even with the filesystem sandbox disabled, GameMaker projects are still subject to Windows filesystem permissions. Most likely, the application does not have permission to access your project directory. If needed, you can give GameMaker access to protected locations with the "get_open_filename" or "get_save_filename" functions, then pass the returned file path to Xzip functions.
Xzip does attempt to validate access permissions on its own, but GameMaker can silently redirect filepaths to the sandbox in some cases, so you may not be getting an error if, say, the file is being created under %AppData% instead.
Awesome! I'd recommend looking over the additional setup for HTML5 to get the best experience: https://docs.xgasoft.com/posts/xtend-html5-pixel-ratio-fix
Hi Ternox,
External factors have caused development to be put on hold multiple times since the original concept for 2.0. Fortunately, one of those reasons is improvements to GameMaker opening new opportunities to make it even better.
Lots of progress is being made behind the scenes that's not quite ready to share yet. The current plan is to resume regular development updates later this year, so please stay tuned a little bit longer!
Hi Max,
Certain elements are the developers' responsibility to position responsively. Basically, this means positioning by percentage of width/height rather than absolute pixel values. I'd recommend taking a look at the Best Practices section of the documentation for an overview and examples.
While stretching the GUI layer to the window will work around the need for responsive design, it's not a true solution to the problem. However, you can disable GUI scaling in the xtend_config script if you'd like to manage it yourself.
Thanks for using Xtend!
Hi Animacio,
Unfortunately, I'm unable to do any testing on real iOS hardware, so I have to rely on documentation alone for iOS-specific features. I believe this error report tells me everything I need to know to create a fix, but I'd like to confirm before pushing out an update. Be on the lookout for an email with further details!
Hello! What platform are you using? If you happen to be on HTML5, you will need to include a snippet of JavaScript to get full rendering quality: https://docs.xgasoft.com/posts/xtend-html5-pixel-ratio-fix
A few notes here:
- I still see window functions from another extension in your example. Some of these functions appear redundant to Xtend and may be interfering.
- Your code is using instance variables for things like cam, which is not a good idea. The actual camera ID assigned to a view can change, at which point your variable would become obsolete. It is best to always reference view_camera[0] directly or use a macro instead of a variable for shorthand.
Some debug ideas:
- Draw the value of view_camera[0] and check for changes. (If the camera ID changes and your cam variable isn't updated, the camera will stop following the player.)
- Draw the value of window_resized() and make sure it only returns true for one frame. If it gets stuck on true, something in your code is causing Xtend to always register a change in scale even when there is none. (If this happens, the camera will always attempt to correct its position for changes in scale and will never have a chance to follow the player.)
It looks like you're doing a lot of manual calculations to solve things Xtend provides for you. While not all of the code is visible in your screenshot, it's possible some of your existing camera system is conflicting with Xtend. I would recommend going through the Macros & Keywords documentation and updating your code to use Xtend's provided values. You should be able to remove a lot of custom code from your project this way.
Hello! Xtend allows you to move the scaled view, but if you're relying on an older method (e.g. backwards compatibility scripts from GMS 1.x) you will need to update to GMS 2 standards. Specifically, you should be using the camera_set_view_* functions, such as camera_set_view_pos, to move the view camera with your player.
Hi peardox,
Xzip can store any binary formats, including image files, but they would have to be briefly extracted to a temp location and then imported to GameMaker (the temp file could then be deleted).
A more straightforward way would be to use surfaces rather than sprites, then use the xzip_write function to store the image data directly within an archive. The xzip_read function can then fetch the image data without the need for extraction to a temp location first.
Both approaches have their pros and cons, so which is preferable simply depends on the demands of your project.
VNgen operates on a pretty different paradigm from the engines you mentioned. I think the best way to find out is to try it yourself! Some people might automatically consider any code-based system "advanced", but it doesn't have to be. Simple code is much faster and easier to work with than a complicated GUI.
Currently you'll find both versions to be mostly alike, but GMS 2 versions offer many quality of life improvements missing from GMS 1. You can see the full list of updates here. The difference will only get bigger over time as future updates to VNgen will apply to GMS 2.3+ exclusively.
Permanent GameMaker licenses are still available through Steam for now—I would recommend looking there if you aren't keen on a subscription. Alternatively, you can use the free tier as long as you wish and subscribe for a month when you need to export a finished product.
Hi, is the error related to running the mascot demo? If so, it is most likely a configuration warning because your project isn't setup for 4K resolution. The warning is intentional and contains the instructions needed to resolve it. You can also see how to configure your project here.
If this is not the error you're seeing, please copy the exact error message here or in an email to contact@xgasoft.com
That's the goal!
VNgen is code-based, but it uses a custom scripting syntax that's designed to be both easy-to-learn and powerful. Since VNgen is based on GameMaker Studio, you can either stick strictly to simple VNgen script, or you can expand with custom GML.
To get a feel for it, I'd recommend looking over the Getting Started guide in the included documentation: https://docs.xgasoft.com/vngen/getting-started/intro-qscript
What you're describing is DPI scaling. Xtend has built-in features for this, but the results are targeted for usability rather than identically matching physical size between mobile and desktop displays (which usually isn't desirable). You may wish to use the Linear scaling method combined with DPI scaling for the closest match, and you can also use the window_get_dpi and window_set_dpi functions to customize results with your own code.
Hello,
Xtend will automatically configure itself to work for most projects, but if yours requires special configuration, I would recommend checking the documentation in your project's Included Files area or online at docs.xgasoft.com/xtend
Especially make sure that the xtend.scale.view setting is set to the same viewport number as your camera is assigned to. Your camera resolution will be adopted as the base resolution, which may or may not be what you want. Consider how you want your game to scale on the lowest aspect ratio and the highest aspect ratio and set your viewport resolution accordingly.
Xtend is designed to remove black bars by expanding content to fill the empty space. If you don't have any viewports, Xtend will create one, so be aware that at least one viewport does exist.
It definitely doesn't enforce the original window size, though... that would defeat the whole purpose. Is your project configured to allow resizing the window? (This setting must be applied in GameMaker itself, not Xtend.)
If you're unable to identify the problem, feel free to send me your project by email (contact@xgasoft.com) so I can investigate and better advise.
Xtend uses aspect ratio scaling by default, meaning at any window size, a central area will be preserved that renders the original viewport. You probably don't want the entire room to be that central area—the room should never be used to set resolution.
I would need to know more details about your setup to say for sure, but it sounds like with your game setup, the default Xtend config is hitting the limit of what it can do on your display, and compensating for it the best it can.
I would recommend setting up your own viewport in your room settings and then customizing xtend_config appropriately for your project. The documentation will walk you through each available setting, and can be found in your project's Included Files area or online at https://docs.xgasoft.com/xtend
Thanks for your interest! VNgen and Edge VN are fundamentally different products. VNgen launched at a discount to give Edge VN users a chance to upgrade, but there's no special discount after that 140 day period. Future sales are a possibility, though. :)
I'm always keeping an eye on GameMaker updates to see what I can take advantage of in VNgen. Version 1.0.8 is well under way and might just be the biggest update yet. Stay tuned!