Hey, scratchers, I wanted to make it known now that I have recently been working on a great new X-Y (or 2-directional) scrolling engine, which I have transformed into an editable maze engine!
Not to delay the link for those eager to check it out without first reading a detailed description, here is where you can go to see it: http://scratch.mit.edu/projects/DarthPickley/859113 (right now it is in its beta 1.0 and is looking for beta testers)
Right now, it even works perfectly fine WITHOUT downloading!
I've worked very hard on perfecting it, and I have encountered a bunch of glitches. But it now works EXTREMELY well, and I doubt that you will find any better similar project on the website.

Basically, how it works is, it uses 4 sprites (see the compacted version which uses stamping here: http://scratch.mit.edu/projects/DarthPickley/859609) to scroll in both directions, vertically and horizontally. each sprite has costumes for each type of room shape, and these different shapes add up to form a maze. The information about the maze is stored in a list called Level Layout. Each element of the list is a number describing the costume number, and there is a formula which transfers the coordinates that correspond to a two-dimensional array to those of a one-dimensional array, which turns the list into an effective 2-D matrix. This information is used to generate the rooms.
The other part of the engine is the Maze Editor.
The Maze Editor is based mostly off of SeanCanoodle's original slider design (I got several ideas, but not any scripts, from his project: http://scratch.mit.edu/projects/SeanCanoodle/369799) You slide a slider and there is a preview. you click on a box on the rectangular matrix and it stores the data to an array while stamping the new part onto the matrix grid. It also generates the current maze when you start it up, and you can erase it. I plan on, in the future, creating a way to change the dimensions of the maze. I could also do so many other things with it though, so I think it is time for the...
FUTURE DEVELOPMENTS section.
Near Term:
:: Adding multiple dynamic objects (perhaps even infinite by using an array and stamping)
:: Adding more backgrounds
:: Adding a Starting Point and (perhaps multiple) Goals that can be edited
:: Adding a Clear button and a way to re-dimension the matrix array
:: Exporting and Importing levels into short codes so that players could share levels
:: Hiding the Maze Editor (For gamers who don't want to cheat)
:: Simplify Code
:: Make Physics less glitchy (perhaps with circular cursor?)
Advanced Possibilities:
:: An underground miner engine (modification of 2-D matrix to 3-D)
:: A way to design a house layout
:: Make a RATMAZE-type game
:: Robot Odyssey? (uhh... without circuits?) (well, *I* don't have to design that part.)
:: Test an AI 'rat' in the maze
:: Use as a base for your scrolling games! An easy way to design your levels!
:: Much more! What can YOU make it into?
Progress Log:
{Asteroids & Scrolling:}
Asteroids - created the ancestor of the X-Y scrolling engine, at school, in 1.2.1!
Asteroids 1.1 - fixed a few glitches on the Asteroids thing, not really related to the scrolling engine
4-directional scrolling engine - I began to realize the fact of my creation of an x-y scrolling engine
{Maze:}
scrolling maze engine - When showing the engine to my sister, she wanted to know whether I was making the Rat Maze game (which I had shown to her earlier). This inspired me to use the engine to make a maze engine, which I hadn't seen done too much before. I made this prototype of the Maze Engine.
scrolling maze demo - In this version, I made the sprite a lot faster and created an actual playable level, with an actual goal and means of winning. It took me a long time to just design the level, because I hadn't created the level designer yet.
MAZE beta 1.0 - The engine is perfected to several degrees, and an Editor is added. The transition to this version took several hours. But it comes out with an awesome engine that works well online in presentation mode and online as well.
MAZE beta 1.1 - compressed the 4 scrolling background sprites into one, therefore making it simpler to add costumes to only one instead of to all four, and easier to tweak any glitches. Scrolling still works seamlessly and smoothly!
MAZE beta 1.2 - Lots of updates to the Editor; first, you can modify the matrix dimensions (redim) by clicking a button and changing the sliders. Also, you can set the Starting Place and Dirction by dragging around a green triangle, which will turn red if you try to place it anywhere where it would cause a glitch (like in the middle of an empty space)
MAZE beta 1.3 - Added a few more costumes (for the rooms - tiles with large spaces in the middle, added T and + tiles), and also made movement a little easier by adding a feature where you can click the cursor and drag it to make it move.
MAZE 1.4 - [No description currently]
MARS??? - My first attempt to turn the MAZE project into my Mars Quest game for my Computer Science Class final project. this did not result in a very good end product and the only part of it which was ever used later was the title/editor screen.
MAZE 1.5 - [No description currently]
MAZE 1.6 - [No description currently]
MARS 2.0 beta - In my opinion, probably the best-quality game I have ever made. In the Mars Quest game, the goal is to travel around Mars as an explorer, looking for samples (special blue crystal ore) and perhaps even signs of life. Basically, the project is MAZE 1.6, with the theme completely redesigned, and a few new script functions. the theme is mostly completed in a basic way, but some things like the points system and the alien attacks are very simple or nonexistant.
It's a-MAZE-ing! So Check it out!
Last edited by DarthPickley (2010-02-26 13:11:27)
Offline
Very impressive! I'm surprised how fast this runs. There's so much that can be done with this! Ideas you probably thought about: if it used list based collision detection, you could have ai's and bullets that go off screen and still behave. with simple wall layouts like this, each wall type can have the same sectors, (center room, up walkway, right walkway... though I would make it a 5x5 (or so) grid to allow more tile types) just sectors would be turned on or off for collision depending on what tile.
Ooh, this would also allow any-color custom designed tiles. I'm expecting something insanely cool here soon.
Obstacles include:
Detecting when objects are onscreen or touching others. You could have a list that that has 3 (or so) values for every sector, (all initially filled with "0") when an object enters a sector, it's object number is removed from the previous sector. (replaced with "0") and the next available sector holder stores the object number of the object) up to 3 objects can be in a sector, so collisions only have to be tested between those 3 instead of every object in the level. (like DOOM) so you could have hundreds of objects (enemies, powerups, bullets...) in the level. Though you would need to make sure only a handful are active at a time. Have an active object list, so you only have to run the ai and collision scripts on these.
as you scroll, it would look in this list to see what sectors are visible, and assign sprites to appear and act as those objects numbers (stored in another list, that would also hold the state of the object (health, location, direction, costume, ai type, time till it gives up hunting for the player and goes asleep (taken off active list) etc...)
Last edited by AddZero (2010-01-25 23:42:31)
Offline
How about enemies?
Last edited by gbear605 (2010-01-25 17:34:16)
Offline
gbear605 wrote:
How about enemies?
Enemies can be objects, like the yellow square that's included.
Just change the costume and make them take away hitpoints if they touch the player, and move by changing the x, y variables if you like. you could probably use similar collision detection as the player, while it is on screen
But getting them to not pass through walls while off screen is difficult. (see my above comment.)
Last edited by AddZero (2010-01-26 08:44:56)
Offline
I just got an idea! I thought that it would be fun to make this a two player game with the help of my latest discovery, mesh! http://scratch.mit.edu/projects/MathWizz/849173 It would be fun to have your sibling in the maze with you while exploring! I don't have time to do anything at the moment but maybe you could consider it.
Offline
MathWizz wrote:
I just got an idea! I thought that it would be fun to make this a two player game with the help of my latest discovery, mesh! http://scratch.mit.edu/projects/MathWizz/849173 It would be fun to have your sibling in the maze with you while exploring! I don't have time to do anything at the moment but maybe you could consider it.
![]()
Interesting Idea... I might make a condensed, simplified version or something, where the most difficult part would probably be what is shared and what isn't, especially sharing maze layouts.
Offline
DarthPickley wrote:
Hey, scratchers, I wanted to make it known now that I have recently been working on a great new X-Y (or 2-directional) scrolling engine, which I have transformed into an editable maze engine!
Not to delay the link for those eager to check it out without first reading a detailed description, here is where you can go to see it: http://scratch.mit.edu/projects/DarthPickley/859113 (right now it is in its beta 1.0 and is looking for beta testers)
Right now, it even works perfectly fine WITHOUT downloading!
I've worked very hard on perfecting it, and I have encountered a bunch of glitches. But it now works EXTREMELY well, and I doubt that you will find any better similar project on the website.
http://scratch.mit.edu/static/projects/ … 13_med.png
http://scratch.mit.edu/static/projects/ … 113_sm.png http://scratch.mit.edu/static/projects/ … 939_sm.png http://scratch.mit.edu/static/projects/ … 609_sm.png http://scratch.mit.edu/static/projects/ … 230_sm.png http://scratch.mit.edu/static/projects/ … 007_sm.png http://scratch.mit.edu/static/projects/ … 002_sm.png
Basically, how it works is, it uses 4 sprites (see the compacted version which uses stamping here: http://scratch.mit.edu/projects/DarthPickley/859609) to scroll in both directions, vertically and horizontally. each sprite has costumes for each type of room shape, and these different shapes add up to form a maze. The information about the maze is stored in a list called Level Layout. Each element of the list is a number describing the costume number, and there is a formula which transfers the coordinates that correspond to a two-dimensional array to those of a one-dimensional array, which turns the list into an effective 2-D matrix. This information is used to generate the rooms.
The other part of the engine is the Maze Editor.
The Maze Editor is based mostly off of SeanCanoodle's original slider design (I got several ideas, but not any scripts, from his project: http://scratch.mit.edu/projects/SeanCanoodle/369799) You slide a slider and there is a preview. you click on a box on the rectangular matrix and it stores the data to an array while stamping the new part onto the matrix grid. It also generates the current maze when you start it up, and you can erase it. I plan on, in the future, creating a way to change the dimensions of the maze. I could also do so many other things with it though, so I think it is time for the...
FUTURE DEVELOPMENTS section.
Near Term:
:: Adding multiple dynamic objects (perhaps even infinite by using an array and stamping)
:: Adding more backgrounds
:: Adding a Starting Point and (perhaps multiple) Goals that can be edited
:: Adding a Clear button and a way to re-dimension the matrix array
:: Exporting and Importing levels into short codes so that players could share levels
:: Hiding the Maze Editor (For gamers who don't want to cheat)
:: Simplify Code
:: Make Physics less glitchy (perhaps with circular cursor?)
Advanced Possibilities:
:: An underground miner engine (modification of 2-D matrix to 3-D)
:: A way to design a house layout
:: Make a RATMAZE-type game
:: Robot Odyssey? (uhh... without circuits?) (well, *I* don't have to design that part.)
:: Test an AI 'rat' in the maze
:: Use as a base for your scrolling games! An easy way to design your levels!
:: Much more! What can YOU make it into?
Progress Log:
{Asteroids & Scrolling:}
Asteroids - created the ancestor of the X-Y scrolling engine, at school, in 1.2.1!
Asteroids 1.1 - fixed a few glitches on the Asteroids thing, not really related to the scrolling engine
4-directional scrolling engine - I began to realize the fact of my creation of an x-y scrolling engine
{Maze:}
scrolling maze engine - When showing the engine to my sister, she wanted to know whether I was making the Rat Maze game (which I had shown to her earlier). This inspired me to use the engine to make a maze engine, which I hadn't seen done too much before. I made this prototype of the Maze Engine.
scrolling maze demo - In this version, I made the sprite a lot faster and created an actual playable level, with an actual goal and means of winning. It took me a long time to just design the level, because I hadn't created the level designer yet.
MAZE beta 1.0 - The engine is perfected to several degrees, and an Editor is added. The transition to this version took several hours. But it comes out with an awesome engine that works well online in presentation mode and online as well.
MAZE beta 1.1 - compressed the 4 scrolling background sprites into one, therefore making it simpler to add costumes to only one instead of to all four, and easier to tweak any glitches. Scrolling still works seamlessly and smoothly!
MAZE beta 1.2 - Lots of updates to the Editor; first, you can modify the matrix dimensions (redim) by clicking a button and changing the sliders. Also, you can set the Starting Place and Dirction by dragging around a green triangle, which will turn red if you try to place it anywhere where it would cause a glitch (like in the middle of an empty space)
MAZE beta 1.3 - Added a few more costumes (for the rooms - tiles with large spaces in the middle, added T and + tiles), and also made movement a little easier by adding a feature where you can click the cursor and drag it to make it move.
MAZE 1.4 - [No description currently]
MARS??? - My first attempt to turn the MAZE project into my Mars Quest game for my Computer Science Class final project. this did not result in a very good end product and the only part of it which was ever used later was the title/editor screen.
MAZE 1.5 - [No description currently]
MAZE 1.6 - [No description currently]
MARS 2.0 beta - In my opinion, probably the best-quality game I have ever made. In the Mars Quest game, the goal is to travel around Mars as an explorer, looking for samples (special blue crystal ore) and perhaps even signs of life. Basically, the project is MAZE 1.6, with the theme completely redesigned, and a few new script functions. the theme is mostly completed in a basic way, but some things like the points system and the alien attacks are very simple or nonexistant.
It's a-MAZE-ing! So Check it out!
maybe you could make a gun or sontin you could fire.
)
Offline