Just a bit of self-promotion cleverly disguised as a suggestion. (Or was it the other way around?)
The start+select problem can be fixed by making the NPCs use my Message Box + ASM hack. It allows any message to be accessed from any level without having to change the current level number, avoiding side effects like the start+select thing.
...although, of course, using Message Box + requires everyone who use the NPCs to install my ASM hack as well. ...not that there's much of a problem, seeing as the ASM hack is backwards compatible with Lunar Magic's message box system, meaning that info blocks and such will still work.
Just a bit of self-promotion cleverly disguised as a suggestion. (Or was it the other way around?)
The start+select problem can be fixed by making the NPCs use my Message Box + ASM hack. It allows any message to be accessed from any level without having to change the current level number, avoiding side effects like the start+select thing.
...although, of course, using Message Box + requires everyone who use the NPCs to install my ASM hack as well. ...not that there's much of a problem, seeing as the ASM hack is backwards compatible with Lunar Magic's message box system, meaning that info blocks and such will still work.
Still trying to see if there's some easy workaround that can be contained within the sprite. I could of course save the level number and replace it afterward, but the message system works in weird ways. I'd have to end up putting the level replacement on a timer.
The follow mode looks really nifty. If you want some ideas for useful features:
-Move forward and jump over obstacles without following Mario.
-Change message/teleport Mario/stop following when a certain screen is reached.
-Wander around until talked to, then follow Mario/move forward.
Things like that would make them very useful to add "quests" to levels, and would make it possible for to use the same sprite rather than change levels when you need to NPC to act differently. It is really impressive that you'll be able to do so much with one sprite, I hope that with so many features it doesn't get complex to use. Include a guide when you release the sprite for those of us who don't know their way around a .asm or .cfg
since people are requesting a bunch of behaviour features why not put together a script system where people can define their behaviour in simple steps:
Code
NPCScript:
db !WaitUntilSpokenTo
db !FollowMario,!JumpOverWalls,!FastSpeed
db !TeleportOnScreen,$03
behaviours can include parameters like the screen # following the teleport. give instructions unique identifiers and keep the current index in a sprite property table along with stuff like timers etc.
many other sprites already act as a finite state machine. this would give it a whole load of flexibility rather than hardcoding a bunch of behaviours.
I haven't done a whole lot recently as far as NPCs go, since I've been busy with SMTKO. But I'm about ready for a new release. I just want to make sure there's no bugs this time.
I encourage everyone to test the sprite, use it, and try to break it. Fiddle with all the options and let me know if anything needs to be fixed. Also, while you're at it, let me know if there are any simple suggestions for improvements and revisions. Stuff like "make them controlled by player 2" isn't what I'm talking about.
Follow Us On