The Things Remaining – SMBX2b4

Hey there!

Some of the curious bugs among you must’ve noticed a little bit of a revamp happening to our To-Do list last week. As we move closer to release we decided to clearly distinguish between what’s necessary and what would be nice to have for the release, so that we can make decisions about what we might have to cut. It’s still a beta, so there will always be more opportunities, after all! But before I go into detail about those, I want to give a small update on the things happening.

The images in this post are largely unrelated to the texts below, I just figured it would be nice to have a couple things to look at in addition to words to read. They’re from various testing sessions, showcasing some fun interactions.

WOULDN’T IT BE COOL IF REZNOR WORKED?

Over the past months, the main topic of the Imperfections and Interactions post was being worked on – checking the imperfections of all newly added elements and making sure they work. The vast majority of this work is now completed, meaning that when the update releases, you won’t run into a game-breaking error when trying to use a large number of new additions! Hooray!

The exception right now are interactions between new npcs and other new npcs which, while not game-breaking, are awaiting a piece of new tech which will likely not be ready for release (and would delay release by a couple more months). It’s something to be wary of, but nothing to be staying away from new npcs for.

WOULDN’T IT BE COOL IF REZNOR CHASED YOU?

Another feature that will likely not be quite ready for release is easy NPC editing. In the future, all new basegame NPCs will be loaded through “npc-id.lua” files, where “id” is the ID of the NPC. Changing the name of the file will be enough to create a duplicate of the NPC’s behaviour for local use! No more “unloading” shenanigans like with Beta 3! In addition to this, having a local copy of, say, npc-301.lua (Thwimp) will cause both the basegame file as well as the local file to apply their code in parallel! This means that you can mod the Thwimp without copying all of its code over by just making a file with the correct name.

I’m trying port as many NPCs to this system as possible for release, but there is a high chance it won’t be ready for all of them yet.

THE NPC THINGS REMAINING

While most NPCs are ready, there are a few which still need some bugs ironed out. In particular, lineguided NPCs are the last NPC-related hurdle and are being worked on in parallel to all remaining issues.

THE PERFORMANCE THINGS REMAINING

A few things need a bit of a restructure in order to be more performant overall. You might have noticed in SMBX2b3 that new blocks in particular were very prone to slowdown when used in bulk. Stuff like that is something we will need to address sooner or later, and we want to take care of it sooner so that it doesn’t become a bottleneck that makes designing with these new tools unfun.

THE LITTLE THINGS REMAINING

Beyond the biggest hurdle of “performance”, there are a couple minor errors remaining in included episodes, editor preferences or factual errors in our documents which we’re working on to resolve. Little stuff that shouldn’t take long to resolve but is still important to sort out.

RELEASE DATE?

We’re not yet confident that development can continue at a steady speed until release, so we don’t wanna pin anything down just yet. The moment we’re ready to share a release date, though, it will be immediately announced alongside a trailer and a new blog post. It’ll be impossible to miss!

~Enjl

Imperfections and Interactions

Hello! It’s been a while.

While there hasn’t been a blog post in a while, that doesn’t mean we’ve just been dormant! A lot of work in areas outlined in the last post has happened, and we’re just not at the next big milestone yet. I figured I’d provide an update anyway to showcase some of the stuff that’s happened in more detail.

The largest bulk of progress that happened was in areas outlined in the last post – going through every element we added and making sure it works well and doesn’t suddenly break when someone tries to use it in unconventional ways. Not much more to describe about it, so I’ll shut my mouth now and let the gifs speak for themselves. These are only a couple of the ways in which new elements can be used in Beta 4:

Some NPCs expose a couple of configurations about them to the editor, letting you change their settings per-instance. An example is the fire snake shown above, which can have its length adjusted. Other examples are the SMW minigame cloud which lets you configure how many coins it throws, and the SMW Bowser statue which has a configurable volley of fireballs. The latter is included in another gif below. These settings will only be available in .lvlx level files, which will be the standard starting with Beta 4. Don’t worry, all .lvl files will still be perfectly functional.

Very common checks we are doing are against the reserve item box, generators, held and thrown state, as well as interactions of NPCs with other NPCs and blocks. The goal is to make all of them possible for all NPCs included. I hope you will check them all out and find cool things you can do with them!

We’re also beefing up some older elements. The new blocks of Beta 3 didn’t always support contained NPCs, for example. There was some room for improvement which we’ve now used. That isn’t to say the old elements were weak. See it more as a Power-Up for Beta 3 elements.

The above gif is from my own testing and tweaking of these elements. The others are compilation of some of these results.

(debugging of Stretches)

The goal is that people don’t have to worry about any crashes when using SMBX in creative ways, and I hope you understand the long development time that comes as a result of this.

That’s all for today. See you next time!

~Enjl

Bringing The Project Into Peak Condition

Long time no see!

I think it’s about time we show what’s going on behind the scenes and state how we’re gonna swing back around to a release from where we are. It’s nothing to be worried about, just something that isn’t a trivial task.

WHAT’S LEFT?

Currently, we have implemented or done great progress on just about every new end-user feature we want in the beta 4 update. The big hurdle ahead of us is ironing out all bugs that exist within that content. We’re working on a massive checklist for NPCs which represents the biggest bulk of remaining work, which with just about 200 NPCs to check is going to take a bit of time.

There are a few more features which aren’t quite ripe yet, such as effect.txt files and a new comprehensive documentation, but most of the tasks on our Todo-list are either of relatively small scope, or tie into the NPC checklist in one way or another.

Make sure to keep an eye out for these lists if you wanna see where we’re at. For now, though, let me fill you in on a few things that happened since I last posted gifs here:

NEW NEAT THINGS

The job of making everything compatible with everything spawns some really exciting interactions. Grrrols and the Veggie Buster NPC shown in the video at the beginning have to be my personal favourite NPCs right now, purely because of how ridiculously fun they are to use. You can hold Grrrols in front of you like sawblades, and become unstoppable! Unless a bigger Grrrol comes along…

One thing you might notice in the gif above is that Grrrols and Monty Moles have their death effects! Some of you noticed in previous posts that death effects for certain NPCs weren’t looking right or were outright missing. Well, we fixed that! New NPCs actually already support effect.txt files, too!

In addition to the powerup blocks from Beta 3, we now have powerup filter blocks! These blocks immediately set your powerup, and there are also variants to filter your mount or held item. If you don’t want players carrying something further than intended, these are a great choice.

As you can see, the star blocks from Beta 3 can now also contain enemies! We have corrected the spacial anomalies which prevented this from happening previously. And yes, Wigglers now wear their pretty flowers, too.

The Beta 3 ice block now has a hot counterpart. Instead of being slippery, it’s harmful unless carefully approached with an ice flower. And it can be destroyed by various cold things, just like the ice block can be destroyed by hot things.

I might share more cool interactions and mechanics we create in a later blog post, but that’s it for now. Make sure to join the codehaus discord if you want to talk to us or want to see developer discussion directly.

See ya!

~Enjl

 

….

ENJL’S CEREAL

Bumps, Boings and Boundless Blocks

Hey all! How’s it going?

One thing we value while making new content for SMBX2 is to create new ways for designers to build their levels and new ways for players to play these levels. Having things that interact with the environment in the same way the player does is something we always wanted more of in SMBX, so let’s take a look at some that are coming in SMBX2 Beta 4!


BUMPERS

Of course, front and center in this post are the bumpers from Super Mario Maker. Though we’ve added some of our own flavour! The blue variant also bounces NPCs around, while the little ones have less power in their bump.


MUTANT VINES

For the Bramble Blast lovers out there we now have complex vines which even come with a thorned variant! The purple heads use a redirector BGO that’s only visible in the editor for steering, while the orange one is controlled through player movement. Another BGO toggles the thorned state, though the thorned and regular vine pieces can also be placed directly in the editor. And don’t be mistaken! Mario can still hold onto the thorned vines! If he survives, that is…


SPRINGS

I’ve already shown these a bit but figured I’d showcase them here again due to how much utility they provide when coming up with obstacles. Watching stuff bounce back and forth is incredibly satisfying and I’m excited to see what crazy contraptions people come up with once the update is ready.


CLEAR PIPES

These really need no introduction. I’ve already had a ton of gifs on them in an earlier blog post:

🎸 EXTREME PLUMBING 🎸

But I wanted to draw more attention to some elements which have been added since: The one-way pipes and cannons! Also, yes. The fact that these are featured again means they’re definitely coming as a basegame feature, since we’ve now breached the block limit.


SWITCH PALACES

Another thing previously showcased that benefits from having new block slots. We felt it would make sense to seperate level-specific and global switch blocks from one another, since level-specific ones are regularly used for challenges within levels and having a second set for global switch blocks would allow these challenges to coexist with switch palace blocks.


THWOMPS

Speaking of switches, you might’ve seen a small blue one in the video above. That’s only the beginning of the madness that is Thwomps pressing various switches! I should mention that POW blocks are sturdy enough to only be hit by Thwomps that destroy turn blocks.


LAST,  BUT NOT LEAST

We have added a pretty peculiar red square NPC. This NPC acts exactly like the SMB1 axe NPC, but is only visible in the editor and is not affected by gravity by default! This should make event-triggering contraptions a lot more accessible and less prone to someone forgetting the custom graphics and NPC code for the invisible axes.


That’s all for today! I hope you are excited for all these new features. We’re doing our best to get them delivered to you as soon as possible.

Aesthetics 2.0

Howdy!

Last week marked the introduction of a long-awaited feature, which people on the team were hoping for ever since we got access to more NPC IDs. Namely: The same for background objects! Yes, in SMBX2b4 you will not only be able to resize and change the frame count of background objects at will, but also add as many as you like! Just like with NPCs we are reserving the range of IDs from 751 to 1000 for personal use, meaning that all 250 of these IDs can be used on a per-level or per-episode basis. That’s far more than the amount of BGOs currently in the game!

As you can see in the video above, we quickly started filling up some of the slots we got access to. In addition to the big topic of lineguides, made by Sambo, I have added the arrows from Mario Maker and Monty Moles as a new NPC, as well as their dirt as a BGO.

The new lineguide set comes with 22.5°, 45° and 67.5° slopes, small and big quarter circles and the usual horizontal and vertical straight line. And unlike with the old lineguide system, here NPCs aren’t going to fall off once they meet a sharp turn! Various NPCs come in three different speeds per default for extra variety and you can even attach non-standard IDs to lineguides with just a bit of lua (we will probably be able to remove the need for coding in the future).

Another thing showcased in the video is the breaking turn block, which is a breaking bridge in Beta 3. In Beta 3, this block didn’t account for its contents. However, with the new update you will be able to hide any NPC in it for a little surprise, or just a friendly set of coins.

The last thing worth mentioning are the red springboards which, after a recent overhaul, work well with a wide range of NPCs, both old and new! Ever wanted to make the player face a horde of bouncing goombas? When this update lands, you will be able to!

Okay I lied. There’s one more thing I want to touch on. It’s also noticable in the gif, but still work in progress: Progress has been made towards making effect.txt files a thing. More about this in a future post, though.


Apologies for the sparse amount of images this time. I hope the video made up for it. Before I sign off, here’s some breakfast:

Hoeloe’s Full English Breakfast

Preparing Yourself For Updates

Hey!

Continuing the stream of polish posts I want to address some inconsistencies that we’ll have to bring upon you to improve the overall SMBX2 experience. These changes aren’t going to break anything, but it’s best to be aware of them and take measures to consider them early on.


FINISHING WHAT 1.3.0.1 STARTED

The 1.3.0.1 update brought a few changes to basegame graphics. Most notable were the changes to various sizeables, as well as changing tilesets to use the AllStars colours, rather than the Advance colours. In Beta 4, we’re bringing two big changes to vanilla tiles:

The SMB3 cave tileset has, honestly, never even been using the SMB3’s pattern. We weren’t able to figure out how the current tileset was constructed, but we figured we should update it to properly resemble the source game.

The other change involves various sizeables in the game which we’ve changed for one reason or another. Most of these have their bottom segment changed to prevent cutoff, allowing them to be placed in midair or as part of a ceiling. Others had their bottom segment adjusted to better fit with the style of similar tiles (SMW sizeables). The airship block in the bottom right has been reverted to its SMBX 1.3 appearance, as that appearance suited its intended environment better.

The important takeaway from these updates is: Some of these blocks’ masks are changing! This is important in cases where you (or someone else) make a custom .gif graphic for a block and decide to not copy its mask over, since it matches the basegame mask (we’ve seen this with switch blocks in beta 3). Furthermore, we encourage you start sticking your sizeables one tile deep into the ground if you want them to stay grounded:

Don’t worry, due to how SMBX sorts its blocks you won’t run into layering issues with this!


TWEAKING BETA 3 CONTENT

You might’ve noticed that, on the Claims Sheet we have marked the NPCs from Beta 3 as “Pipelined”, rather than “Already Included”. This is because they’ve all seen rewrites or tweaks which change their behaviour in one way or another. These inconsistencies are minor, so it’s unlikely that anything will suddenly stop working on your end, but here are a few things to be aware of:

  • Maverick Thwomp’s detection radius has been overhauled. Its range is slightly shorter and its movement is slightly move gradual. It will now no longer immediately charge at you when it spawns.
  • Boo Circle now uses NPC 469 for the boos in its circle, rather than relying on just a lua hitbox. This means that it is possible to change the individual boo’s NPC code or run code over it in lua!
    • The entire new_npcs folder within the graphics folder no longer exists, since all other NPCs also have their files from there now integrated into their default sprites.

NERFING DRESS-UP

Beta 3 had a lot of costumes for every character. Looking forward, it’s going to be impossible for us to keep up with all of these, especially when new powerups get added in the future. We’re not throwing all costumes out, just the ones which are unlikely to ever see use anyway. In addition to this, Megaman’s default spritesheet has now changed from his 8-Bit design to his 16-bit Wily Wars design. The 8-Bit design was moved to a costume, in light of the 16-Bit one meshing better with the usual SMBX level. Our characters are subject to bigger changes, but most of these will come with Beta 5. Here’s a video of Megaman in action:


That’s all for today! Make sure to check your levels if anything from this is going to affect them. I’m gonna leave you with a video of Mario picking up ghosts from a boo circle:

Why Are We Still in Beta?

Another blog post this soon? Impossible!

In contrast to the last post I would like to talk about some more technical things which don’t impact the average user tonight. I hope you’ll still find them interesting, though!

Recently, we’ve sorted out some things under the hood. We’re degreasing the engine, changing the oil, rotating the tires, and checking the brake pads. In short, we’ve made some changes to improve the overall usability and quality of SMBX2. “Beta”, for this project, means that we’re still sorting the foundation out. Updates like this break some compatibility to the previous beta, but will help the project in the long run. We’ll stay in beta until we’re at a point where the foundation is so smooth it won’t cause us trouble down the line. This means that at that point we won’t have to make changes anymore like the ones you’re about to witness.


Let’s take a look at all the cleaning we’ve done, starting with LuaScriptsLib:

No longer sticks out like a sore thumb! Before we delve into it I want to take a quick detour into the renamed _ini_examples folder, though (now named _templates):

Here you can now find templates for paralX2 background files, background and npc code txt files, lunalua libraries, music and sounds.ini, particles and shaders. Simply copy them over to where you need them, rename as necessary and adjust!

Another new folder is the “logs” folder. This is a new folder where all the crash logs will be. A far better location than the data folder itself if you ask me.


Okay, now onwards to scripts:

While we’re still in the process of sorting this out fully, you can see that the number of folders and files vastly decreased. Going forward, we’re aiming to include only useful and necessary libraries per default, rather than everything ever made. The folder got very messy from the previous approach (to the point where we had half a dozen timer libraries!), so now you should be able to find what you need more easily.

As for the underlined Legacy folder:

This folder has a special purpose. Before deleting any library in future versions, we will move them over to this folder to mark them as deprecated. In the version after that, they will be gone for good. If the game finds that a level tries to load a library that’s in there, it’ll inform about it (but only in the editor, so it won’t disrupt normal gameplay!). This is to give developers time to update their episodes before anything actually breaks.


Further updates

On a less technical note: All NPCs in the games have descriptions now! When you hover over the icon, these boxes will show up after a second. They’re here to inform about the NPC’s behaviour; when necessary, in very detailed ways:

It’s probably not something you ever considered, but hopefully it made you go “huh, this sounds useful”.


That’s about it in terms of updates for now. There are still more juuust around the corner, but I can’t yet give an estimate for when those will be presentable.

Hoeloe and Enjl’s cereal

I’ve showcased this level in the last post as well. This is actually the new hub for the Mario Challenge. Hoeloe and I sat down to give the game mode more flair and personality. It now has a dreamy airship serving as its hub, with new loss and victory screens that support the theme.

Things Going On in the Background

SURPRISE!

It’s been a while since the last blog post, aplologies for that. There are a lot of features currently WIP and approaching presentability, but nothing quite ready to be showcased. As we move closer to Beta 4’s release, I will post more blog posts as well, so stay tuned!

Today’s highlights aren’t exactly a recent addition, but I noticed they’re something I haven’t covered before, and they’re really useful features:


Background Object .txt files

The struggles of handpicking BGOs to be replaced based on dimensions and priority are finally over! Beginning with Beta 4, BGOs will be highly and easily customisable. Its features heavily overlap with those from NPC txt files. Configurable properties are:

  • width
  • height
  • frames
  • framespeed
  • priority

The only unfamiliar one is “priority”, which lets you set the render priority of the BGO. Here’s  a list of render priority values for reference. Yes, you can have background objects in front of the HUD now. Here’s how a level folder might look like with this new feature:

Oh, one more thing: Notice the highlighted item: background-53. Notice how it’s rather big, without having a .txt file attached. This is because the properties “width” and “height” are set automatically to fit the image’s dimensions! Adding large background objects can’t possibly get easier!


ParalX2: Magnetic Hustle

People often complain about the necessity in using lunalua to get anything out of SMBX2, and I’m happy to announce that these features are just the beginning of us making features more accessible.

People who’ve used paralx for a while might’ve struggled once or twice with setting all the layers up, loading the images, getting things to align well, etc…

Introducing ParalX2! Now you have to write no lua at all to get a really fancy looking parallax going!

Parallax configurations are now stored in .ini files named after the background which the config should apply to. Please note that Because Redigit there is a difference between the ids in the game and in the editor. Here’s an example of a paralx2 setup:

Looking inside, one will find many layers of parallax individually defined, much like a NPC config file:

And further down in the folder are the textures:

The result is a gorgeous and complex sky setting, accomplished without writing any lua code! Details on the configuration files will be publically available when we release Beta 4.


And that’s it for today, but I’m not quite done with looking at this level. Expect it to return in a future blog post coming soon. And now…

Rocky’s Cereal

You might’ve seen this video making the rounds, but I figured I should spotlight it in particular. It showcases enhanced camera and animation controls.

And I would walk 500 NPCs

Image result for 500 mario super

Hey garners. While we chip away at bigger issues delaying the release of Beta 4 I’ve recently discovered that NPC IDs beyond 500 are being claimed. This doesn’t mean that all of them will be available next release, but it does mean that a doubling of the Beta 3 NPC count is closer than you might think! Over 100 NPCs have been completed and will be added to SMBX2 with Beta 4 at this point, and i figured I should show some more of them.

A new type of container

 

If you played SMW you will remember Mushrooms popping out of bushes on occasion. This “Hidden Mushroom” Sprite, as it’s referred to in Lunar Magic, was modified by me to serve as a container for any npc!

Original Enemies

Sometimes we come up with AI that enemies could have which don’t fit any specific enemy from existing games, so we come up with new designs and these enemies are some of the more unique ones in the game so far:

These enemies are called Blerts. They reproduce within a small radius and die when the core is killed. Rockythechao came up with these in the context of wanting to design an enemy simulating Conway’s Game of Life, and the regular blerts you see here were created as an alternative. In the future, Golblerts simulating Conway’s game will be added.

Grafs are small bats by The0x539 whose AI is determined by a graph function. This gif showcases some basic graphs such as a sine wave, circle, tangent and an accelerating Graf. Their electric variant is called Van de Graf and is immune to regular jump attacks.

New Bosses

Two new bosses have been added to the game! Fry Guy from Super Mario Bros 2 and Reznor from Super Mario World:

Other

The SMB2 set of NPCs has been expanded with Snifits that fire while held and Trouters. Pansers are older but I haven’t given them the exposure they deserve yet.

Lugi bullies babies.

 

That’s it for today! Hope you enjoy the news!

~Enjl

Hoeloe has eaten his cereal THIS TIME. WHAT A LOSER.