Skip to content

Paints an image of Super Mario in the snowy mountains of the Mushroom Kingdom

Notifications You must be signed in to change notification settings

scacela/Mario-JApplet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 

Repository files navigation

ReadMe
------------------------------------------------------------------------
Sam Cacela
Villanova University
------------------------------------------------------------------------

Paints an image of Super Mario in the snowy mountains of the Mushroom Kingdom.

This Applet project was one of my favorites from my Algorithms and Data
Structures course because it was a fun way for me to exercise my creativity
and artistry. Below is a copy of my write-up report for this project.

------------------------------------------------------------------------

Much of the work for this project was accomplished over the weekend of
the fourteenth to the fifteenth. It was essentially complete before the
snowy Monday, and had taken several hours over the span of those two
days. This project was especially fun for me, as I have always loved
being able to apply my artistic ability and creativity in projects. I
chose to paint a picture that reminded me of the retro Super Mario games
that I grew up with, because I wanted to make it personal and special -
some qualities that always inspire me!

Many of the features of this picture have been mathematically blueprinted,
drawn out on paper, and encoded based on these calculations. I recognized
the while-statement that produced the bricks as one of the first 
challenges - though after some blueprinting, and writing an algorithm, it
was much easier to tackle. The three closest mountains are simply circles
dipped into rectangles. One thing I found puzzling was that while the
diameter of the circle was numerically the same as the width of its
corresponding rectangle, the circle still bulged out of the rectangle
slightly. I corrected for this, widening each rectangle, so that it would
produce a more realistic-looking image despite the two values not being
equal in the program, when they are expected to be equal.

These colorful mountains were still too dull as they were, so I added
the classic shine-marks to each one. These shine-marks were made using
overlapping ovals and rectangles, and I must say they give the image
that real retro feel that I was going for.

Since this is Super Mario, I knew there had to be a pipe on-screen. I
wanted to get the pipe and its shine-marks right, so I looked up an image
and drew out the different parts of the pipe in my notebook, marking their
coordinates, and established the image as a real Mario setting. The block
was very time-consuming for something so small, but it was because of its
small size that mapping out and gridding each individual pixel was a
meticulous and involved process. I eyeballed the positions of each pixel
from the image I looked up, and am proud of how it turned out. Whenever
I've showed people this picture, I told them to look closely at the block
so they could see how accurate it was - because from a distance it would
be impossible to see that so much care went into it!

At first, I was planning on making waves of water underneath and to the
sides of the brick platform. After putting the clouds in, however, I
decided that it would be most fitting for the scene to use a cloudy layer
beneath the platform instead. I took special care to make this cloud layer
look as if it was fading into the distance by darkening different
sublayers that approached its upper border. I had also used this effect
with the clouds, making the farthest cloud appear the smallest and
darkest, while the closest was made to look larger and lighter,
overlapping one of the mountains as well.

After the additional requirements of the random aspect and wave function
were called for, I went back to see how I could edit the image using
these new techniques without disturbing the sensation the picture
already evoked. After learning how to code for these features, I would
like to acknowledge and thank Dr. Papalaskari for the examples she provided
in the 'Classes and Objects' packet, which served helpfully as templates.

I customized the wave function in this project to make it appear to be a
far, purple mountain range that swerved across the horizon. For the random
function, I initially thought of making stars in the sky, but decided that
snowflakes were more fitting.

At first, playing with the wave function was tricky because it took a few
minutes for me to figure out what changes to make to achieve a desired
outcome, but I got the hang of it. Creating the random aspect was pretty
straightforward.

All of the colors in this image were chosen very strategically. In fact,
the only color I used here that was a given was black. The sky, the clouds,
and the mountains all demonstrate unity in such a way that the environment
resembles a plausible cloud world from a Super Mario game.

Likewise, all of the shapes and positions of each feature were chosen with
care to make the scene interesting to look at.

Mario - the man, the myth, the plumber - was perfect for making using a
MID and TOP. He is entirely made up of colorful ovals and rectangles, and
was planned heavily on paper. With Mario, there was a lot of trial and
error. I never looked up an image of him to model my version after, but I
knew well enough what a true Mario would look like, seemingly by the
pixel. Since Mario's my MID and my TOP, I could move his whole figure
around the scene just by changing those two variables! When the original
instructions for the project required for a copy of the program with the
MID/TOP object in a different position, I had him standing on top of the
pipe for the second version.

This was a project I simply loved creating. It was very fun designing each
aspect of the picture and seeing it look more and more like the real thing
with more progress. I felt like a real game designer!

About

Paints an image of Super Mario in the snowy mountains of the Mushroom Kingdom

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages