One note!
If you will use dummies with SMBX2, there are used together with lua to provide lots of new elements include their mechanics, and if you will try to use them in your level/episode, there are will work differently. So, use them carefully or notify that your levels/episodes (where you have used dummies) will work validly with Vanilla-SMBX, Clean LunaLua-SMBX (independent LunaLua installation outside of SMBX2), and "SMBX 1.3 Compatibility" config pack for PGE which keeps vanilla stuff as-is.
It does apply to SMBX2 or both? I've just used them for extra scenery and levels in my worldmap
One note!
If you will use dummies with SMBX2, there are used together with lua to provide lots of new elements include their mechanics, and if you will try to use them in your level/episode, there are will work differently. So, use them carefully or notify that your levels/episodes (where you have used dummies) will work validly with Vanilla-SMBX, Clean LunaLua-SMBX (independent LunaLua installation outside of SMBX2), and "SMBX 1.3 Compatibility" config pack for PGE which keeps vanilla stuff as-is.
It does apply to SMBX2 or both? I've just used them for extra scenery and levels in my worldmap
SMBX2 only. Vanilla never used them as there are originally reserved slots.
One note!
If you will use dummies with SMBX2, there are used together with lua to provide lots of new elements include their mechanics, and if you will try to use them in your level/episode, there are will work differently. So, use them carefully or notify that your levels/episodes (where you have used dummies) will work validly with Vanilla-SMBX, Clean LunaLua-SMBX (independent LunaLua installation outside of SMBX2), and "SMBX 1.3 Compatibility" config pack for PGE which keeps vanilla stuff as-is.
It does apply to SMBX2 or both? I've just used them for extra scenery and levels in my worldmap
SMBX2 only. Vanilla never used them as there are originally reserved slots.
Pop Yoshi Bros wrote:I have another question, why does the worldmap let you put custom music when you can't hear it? o_O
It's PGE-Engine (and SMBX-38a) only feature which will not work with vanilla stuff. However, LunaLua would handle them when WLDX format will be supported by it. SMBX-64 Standard(tech stuff of SMBX 1.3) disallows to have custom musics on world map.
And... I tried the dummy GFXs but the problem with them is that when you try to test a level that does have dummy blocks then appears a error message saying that the number of X dummy doesn't exist and then the game is closed
Pop Yoshi Bros wrote:And... I tried the dummy GFXs but the problem with them is that when you try to test a level that does have dummy blocks then appears a error message saying that the number of X dummy doesn't exist and then the game is closed
I already told that you must to creatre "default" graphics with same IDs as dummy elements in the SMBX's graphics folders.
Pop Yoshi Bros wrote:And... I tried the dummy GFXs but the problem with them is that when you try to test a level that does have dummy blocks then appears a error message saying that the number of X dummy doesn't exist and then the game is closed
I already told that you must to creatre "default" graphics with same IDs as dummy elements in the SMBX's graphics folders.
And that's what I did, but when I try to test a level that does have at least 1 dummy then a message is showed, something like "background-639 doesn't exist"
How do you add custom grapghics to this engine without replacing existing ones? i've seen people do it before so im pretty sure it's possible but don't know how to get the .tileset.ini files with the pictures?
Charlie59876 wrote:How do you add custom grapghics to this engine without replacing existing ones? i've seen people do it before so im pretty sure it's possible but don't know how to get the .tileset.ini files with the pictures?
adding to the editor is trivial
adding to the SMBX engine is very difficult
it's not a matter of adding "graphics"
Contents
- Introduction
- Technical details
- Development plan
- Researching the original SMBX fangame
- Download Editor and experimental Engine! Introduction
Hi there!
This is a major revision to this topic's main post to announce my project called "Platformer Game Engine Project" (short is PGE Project),
the code-name being "PlatGenWohl".
So what exactly is this? this is a free and open source alternative, advanced and exchanged implementation of SMBX's game engine which 100% compatible with them. The main parts of it contain would be a game engine and a toolkit for creating games.
One of the purposes of the project is a giving to SMBX game a new technical platform which should continue SMBX life after abandonment with giving able to add new stuff: new playable characters, new NPC's, new blocks, new BGO, more progressive backgrounds and more freedom with customization. The second purpose is giving able to use this SMBX-like game engine more useful to creating other non-Mario games.
I've been working on this project since at least December 2013, and after lots of hours spent in researching of SMBX 1.3 mechanics, I've figured out a way to retain compatibility with SMBX. This, in my opinion, is very significant as there are a lot of episodes and levels made for SMBX out there. And having a better implementation of that we can open/play/save in the original SMBX64 format is very much in need.
Currently only the editor is available. And you can actually already use this as an alternative (and much better) editor for creating/editing levels for SMBX 1.3/1.3.0.1 Technical details
I'm quite aware of the fact that VisualBasic (in which SMBX is written) is too slow for the type of purpose SMBX is created for. That's one of the reasons I'm creating my engine in C++ along with OpenGL, which means it should have much more productivity. And with the Qt library, the new engine should be able to have itself compiled on different platforms (such as Windows, MacOS, Linux, etc.).
While it would have been ideal if the source code for SMBX was available, we're working on adding support for SMBX via reverse engineering instead.
1) [completed] The reverse engineering phase, which is researching the original SMBX engine, is almost complete.
2) [released] Developing the the level/world editor - Periodically I upload updated alpha versions for everyone to test new features and give feedback or report bugs.
3) [In process] Developing the engine part for play games and allow test levels in the editor.
"SMBX64" Standard: research works of the original SMBX fangame
All the documents on what I've researched, are available on this page Download Editor!
This is a new, more advanced and featured editor which you can use for SMBX. This editor giving more flexible interface, a more smart system with bug protections, with Multi-File support, with customizable tilesets and counters, with multi-selecting, copy-pasting, context menu, exporting of huge screenshots of whole sections or world maps, etc...
Editor
Get current version: Note: If you looking up for engine controlling, read this text file. In next builds of engine I will add ability to set up custom control keys.
Online installer Get Online Installer for Windows. Online installer will download and install all necessary stuff automatically!
Portable packages
Standalone archives are including Editor, Engine, Playable Character Sprite Calibrator, GIFs2PNG, PNG2GIFs and LazyFix Tool. To get PGE working you must download one of configuration packages here
==============================================
Defautl controlls: <can be cusetomized in the controllers menu>
==============================================
Arrows:
--------------------
left-right - walk
Up/Down - enter into door/pipe
--------------------
Z - (jump) / enter to level from world map [on German keyboard will work Y key instead by unknown for me reasons ]
X - (run)
A - (alt-jump) (Temporary, fly up, use it to get inaccessible heights without vines!)
S - (alt-run) (Temporary, tail-whipping to destroy any blocks over face,
S+UP - destroy blocks over head,
S+Down - destroy blocks under self)
"~" - opens text input box in the levels where you can type special commands:
------------------
==Level specific commands:==
donthurtme - enable/disable god mode (the player will don't get from dangerous surfaces and will dont burn in lava)
iamsuperman - player has ability to fly up via alt-jump key
chucknorris - player via alt-run key will be able destroy any nearest object except BGO's, warps and other playable characters
iwishexitas X - exit from level with code X (replace X with unsigned integer
(usually from 1 to 8. Exit code hints you can take from a world map editor))
takesecretkeychain - enable/disable debug keys
==World specific commands:==
illparkwhereiwant - allows walking anywhere on world map
==Common commands==
redigitiscool - spawns a dummy message box, doing nothing. Try to type same command in the SMBX engine!
wohlstandiscool, kevsoftiscool, raocowiscool, joeyiscool - same as redigitiscool, but with another messages.
----------------------------------------------------------------------------------------------------------
Enter, Esc - pause/resume game, show pause menu
F2 - enable/disable drawing a debug rectangles of physical engine (render all hitboxes)
F3 - enable/disable printing of debug information
F12 - take screenshot (will be saved in the 'screenshots' folder which will be in PGE folder or in the %UserProfile%\.PGE_Project).
Screenshots will be written into PNG format and will have timedate based filename.
=======Debug keys=(disabled by default, to enable them, press "~" key and type 'takesecretkeychain')=======
F5 - pause/resume physical loopsteps. Used while collisions are debugged
F6 - enable slow mode of physical loopsteps. Everything will go slow. Used while collisions are debugged.
1, 2, 3, 4, 5 degits keys - spawn something effect (made temporary while effects system are debugged)
7, 8, 9, 0 - Toggle playable character and it's state:
- 7 decrease character ID
- 8 increase character ID
- 9 decrease character state ID
- 0 increase character state ID
Notes:
If you have problems with graphics render, please, see this topic first: http://wohlsoft.ru/forum/viewtopic.php?f=40&t=142
...or write (post here, on our forum, or PM to me) to me about found bugs, this is most important
If you have problem with music playback, please, read this:
2) If some MP3 files don't wanna play, please, check playable by your player, have you all necessary codecs?
If you haven't some codecs, please, install them (for Windows systems I recommend the K-Lite Mega pack, or you can install other).
- Will be better, if you reconvert your MP3 files with poor codecs to standard MP3-format (MPEG Layer III, 320 Mbps Voice Quality, [don't use 128 Mbps, don't kill audio quality!])
- you also can reconvert to WAV. WAV will be played by ANY players (Only if uncompressed format. If did applied codec, need to install them!). Regroupement de prêt
3) [For PGE Editor 0.2.0 and newer] If music playing is noisy and buggy, please check sample rate of this file (should be 44100 Hz), because all musics to be played in the united audio stream should be re-sampled into uniform sample rate, if sample rate is not same, music will be re-sampled in real time mode. Real-time re-sampling is not good for CPU and can cause noises or wrong playback. Re-sample your music into 44100 Hz and retry to add them into PGE.
Wow, PGE was much simpler than I thought. I can see I have been very conservative sticking with the original editor
OT: What are "dummy blocks"? And what is the difference between LunaTester and normal testing?
Dex wrote:
Wow, PGE was much simpler than I thought. I can see I have been very conservative sticking with the original editor
Legacy editor sucks by lots of reasons (not only because of bugs still not fixed), which a main reason why I made PGE Editor be different from original concept. As you see it's a part of a big project to completely replace legacy SMBX Engine with much more flexible, stable engine and toolkit.
Dex wrote:What are "dummy blocks"?
There are reserved elements made by Redigit and not used yet. Everything began from the dummy NPCs here: https://wohlsoft.ru/pgewiki/Dummy_NPCs_(SMBX)
With the hacks on LunaLua side, it's possible to have more dummy elements are using for Lua-coded creatures and things.
Dex wrote:And what is the difference between LunaTester and normal testing?
LunaTester is the IPS later over LunaLua subsystem. It allows running of level testing through legacy engine. However, on older systems this works clunky and SMBX is crashy or works unstable by crap of itself.
Normal testing that you meant, it's the testing through PGE Engine - it's a WIP engine intended to replace SMBX Engine which provides lots of own advanced features, works stable and fast without of system overloading, and has the native cross-platform support (as PGE itself which does support for Linux, Windows and macOS platforms). It allows you to run the testing of world maps in the interactive mode (without of entering into levels, but gives you ability to simulate exit code to probe the reaction of the path opener).
Wohlstand wrote:There are reserved elements made by Redigit and not used yet. Everything began from the dummy NPCs here: https://wohlsoft.ru/pgewiki/Dummy_NPCs_(SMBX)
With the hacks on LunaLua side, it's possible to have more dummy elements are using for Lua-coded creatures and things.
So they are NPCs that I can customize to anything I want?
Wohlstand wrote:There are reserved elements made by Redigit and not used yet. Everything began from the dummy NPCs here: https://wohlsoft.ru/pgewiki/Dummy_NPCs_(SMBX)
With the hacks on LunaLua side, it's possible to have more dummy elements are using for Lua-coded creatures and things.
So they are NPCs that I can customize to anything I want?
Look: That is true when you targeting Vanilla SMBX base (or standalone LunaLua-SMBX). But, in SMBX2 those NPCs are now busy with a new elements.