Lolo 2 inspired UNNAMED game, Devlog

m8si

Active member
Lolo engine is finally starting to come alive. I hope I can soon make my own version of my favorite childhood game Lolo 2.


By the way. The logic you see on the video is the same logic how the official game does block pushing. My"engine" is only using two objects to make all this happen. One for the player and another for the moving block.

This is how to do it in NESmaker. Not the only way, but this is something I have figured out.

1. Block is a special tiletype
2. Player collides with the Block tile
3. Make object with similar sprite image to the Block, ontop of the Block background tile
4. Replace the background tile containing the block with the floor tile.
5. find out which direction player pushed the block from
6. check if there is a spot with a #$00 floor tile after the block
7. change speed of the sprite to make it move (at the correct direction)
8. when sprite has moved 16px draw a new Block as background tile
9. destroy Block object right after the new background Block has been drawn
10. update collisionTable with new values. #$00 for the old position and Block tile number for the new position.

Well that's quite a lot for a simple block pushing logic. But one great benefit of doing it like this is you can have virtually unlimited amount of blocks on the screen without any slowdown and also don't have to worry about 8 sprites per scanline.
 
Lolo engine is finally starting to come alive. I hope I can soon make my own version of my favorite childhood game Lolo 2.


By the way. The logic you see on the video is the same logic how the official game does block pushing. My"engine" is only using two objects to make all this happen. One for the player and another for the moving block.

This is how to do it in NESmaker. Not the only way, but this is something I have figured out.

1. Block is a special tiletype
2. Player collides with the Block tile
3. Make object with similar sprite image to the Block, ontop of the Block background tile
4. Replace the background tile containing the block with the floor tile.
5. find out which direction player pushed the block from
6. check if there is a spot with a #$00 floor tile after the block
7. change speed of the sprite to make it move (at the correct direction)
8. when sprite has moved 16px draw a new Block as background tile
9. destroy Block object right after the new background Block has been drawn
10. update collisionTable with new values. #$00 for the old position and Block tile number for the new position.

Well that's quite a lot for a simple block pushing logic. But one great benefit of doing it like this is you can have virtually unlimited amount of blocks on the screen without any slowdown and also don't have to worry about 8 sprites per scanline.
Are you ever gonna share this code? Looks Amazing!
 

m8si

Active member
I will make a tutorial some day. There is a lot of happening in different places so that would be a mess if I would share it now.

If you are trying to do it on your own the biggest caveats I faced was converting sprite X,Y to nametable address and to collisionTable,x. Also had a really hard time figuring out what was the issue when tile triggered multiple times.

But yea. I was actually thinking of making a NESmaker module, but has anyone tried to make one? Is it complicated?
 

Bucket Mouse

Active member
I will make a tutorial some day. There is a lot of happening in different places so that would be a mess if I would share it now.

If you are trying to do it on your own the biggest caveats I faced was converting sprite X,Y to nametable address and to collisionTable,x. Also had a really hard time figuring out what was the issue when tile triggered multiple times.

But yea. I was actually thinking of making a NESmaker module, but has anyone tried to make one? Is it complicated?
Not really -- there's an "Export Project Module" option in the toolbar.
 

baardbi

Well-known member
Well that's simple. I'll have a look. It would be easier to share everything in one package.
Very nice work! Looks really smooth. Making a module is really simple like Bucket Mouse said. I do it a lot. If you have not changes any core NESmaker files (like the main Subroutines, Macros etc.) then you just make a new folder under "...\GameEngineData\Routines\BASE_4_5\Game" called MOD_Puzzle (or whatever) and put all the new files in there. The Export Module function exports variables, constants, script settings and all that stuff. So then you can just share the new MOD_Puzzle folder and the Puzzle_BASE.MOD file (that export creates).
 

m8si

Active member
Very nice work! Looks really smooth. Making a module is really simple like Bucket Mouse said. I do it a lot. If you have not changes any core NESmaker files (like the main Subroutines, Macros etc.) then you just make a new folder under "...\GameEngineData\Routines\BASE_4_5\Game" called MOD_Puzzle (or whatever) and put all the new files in there. The Export Module function exports variables, constants, script settings and all that stuff. So then you can just share the new MOD_Puzzle folder and the Puzzle_BASE.MOD file (that export creates).
Thanks! I believe I have a working module now. I Put all the scripts I modified into new Module folder and hit export module. I'm pretty sure it is working. Just need to double check it before sharing
 
I will make a tutorial some day. There is a lot of happening in different places so that would be a mess if I would share it now.

If you are trying to do it on your own the biggest caveats I faced was converting sprite X,Y to nametable address and to collisionTable,x. Also had a really hard time figuring out what was the issue when tile triggered multiple times.

But yea. I was actually thinking of making a NESmaker module, but has anyone tried to make one? Is it complicated?
I plan to make a strategy module after I finish my game & make the code simpler/more organized
 

smilehero65

Active member
Thanks! I'm in doubt if the music is too joyful? Tried to capture that happy feeling from Lolo 2 in music.
I personally think is perfect the way it is. The tune is catchy. Also I think we often need to departure a bit from our influences, and get our own style once the game starts to take form ^_^
 

m8si

Active member
Great. My only concern is, it may become annoying after a few repeats. But if I add some variation and a "B" part it will be a bit more interesting.

But yea definitely music needs to fit the game it's on. For example can't really fit a heavy metal song with this game. xD Althought that would be something I would like to do. Or maybe some metal for a boss stage... Who knows. ;)
 
Great. My only concern is, it may become annoying after a few repeats. But if I add some variation and a "B" part it will be a bit more interesting.

But yea definitely music needs to fit the game it's on. For example can't really fit a heavy metal song with this game. xD Althought that would be something I would like to do. Or maybe some metal for a boss stage... Who knows. ;)
Maybe a gimmick with the B button?
Something like an attack, warping for the puzzle how we handled the midnight zone in the byte-off, etc
Another idea is having boss fights with the current gimmick pushing a type of slippery block into the boss... explosive boxes... yeah
 
Top Bottom