I don't see that it's difficult, basically you make an engine that does smooth scrolling. Then you give the player a rectangle of screen space within which they can move without scrolling occurring, you can make this rectangle whatever size you like. The player can move within the rectangle but when they get to the edges they `push` the scroll position. You can then make the rectangle 1 x 1 pixel and this forces the scrolling to lock onto the player position, or you can expand it to maybe a half of the size of the screen so the player can move around a little bit without scrolling but then when he gets nearer to an edge the screen scrolls with him, or you can make the rectangle the same size as the screen. When he gets to the very edge of the screen area, then, the screen would scroll - the only difference you have is that instead of the player pushing the edge of the screen, you consider it a special case and instead freeze-frame the player and animate the change of the scroll position from the player being at one side of the rectangle to being at the other, or however else you want to animate it.
Megaman style scrolling
BlitzMax Forums/BlitzMax Programming/Megaman style scrollingThe Forum Archive is locked. These are the original blitzbasic.com forums, kept so their posts can still be read and searched. No new topics, replies or edits can be made here. To join the conversation, head over to the Blitz3D+ forums.