In pinball you use different paddles to hit a ball avoiding getting the ball in the centre hole so you can continue playing you useually get score for touching different bumpers and sometimes specific pinball machines will make up some of their own rules and ways to gain points. For example in some online games you can get a power up of multiball where a bunch of balls spawn and you cant lose lives until your back down to 1 ball.
Pinball (2024b) Wikipedia. Available at: https://en.wikipedia.org/wiki/Pinball#History (Accessed: 18 November 2024).
Pinball goes back early into the 1700s where it was adapted from other games that threw balls at objects e.g. golf + bowling however soon after that the spring was used as the plunger that is still used in todays pinball machines and quickly became used everywhere in terms of pinball machines.
in the 1930s people started developing coin operated pinball machines and 1 company started producing a ton of them totaling 400 machines.
it wasnt untill 1947 that flippers were introduced in Humpty dumpty however the flippers wernt that powerfull so they needed 3 to get the ball to the top, the next machine had the two flippers however they were facing outwards instead of the nowadays usual inwards although soon after a 2 flipper machine was made with them both facing inwards.
in the 1970s the game was given a lot more electronics to use for example scores and lights to make it look nicer than before.
Pinball is a good thing to bring into the video games industry because of how simple the games are and how much people enjoy them, aswell as being in the games industry makes them easyer to distribute as not everyone could find a pinball machine that fits a theme they liked as the places near them may not have had one, however with video games anyone who has access to a computer can now access a wide variety of different themed pinball machines and wont even have to leave their home.
The majority of pinball have a clear theme for example there are many of pinball machines related to nearly every topic there is for example there are tesla themed pinballs.
When thinking of themes i initially thought of an underwater theme after this i then thought about including more places e.g on mountains in the sky and volcano and these could change position as you increase scores or go through your lives.
you could then gain animals at different stages to give bonus points or different power ups
I'm constructing a GDD with the majority of game features and needed assets to make this game work how i intend it to this is being made on word and will be uploaded to my blog as soon as it's done. (probably at the end)
for the style i was going to make the main pinball machine a 3d object while the environment + ui was in 2D with a pixel art aesthetic. for this game I'm imagining a ton of animations and effects e.g stage change, pet idle wind and maybe the sun and sky.
Exploring 3D games with 2D sprites (2024) Polydin. Available at: https://polydin.com/3d-games-with-2d-sprites/ (Accessed: 04 November 2024).
When deciding on unique mechanics for my pinball machine i decided on different elemental pets that will give out different score bonus' depending on the pet that is equiped and the special power that pet has for example im going to implement a fire, water and earth pet but once they reach the maximum lvl i could then give them a special power that slowly reacharges like the water pet could give you another ball every 2 minutes the fire pet will give a score multiplier and the earth pet has yet to be decided
if i find the time id like to implement an air elemental just so i had all 4 and 1 for each stages theme however im not sure ill get enough time to do this although i will include it in my GDD.
I will make the actuall pinball and put everything together in unity.
All models i make will be done and unwraped in blender.
because of the brief i will use substance to create my textures for the pinball machine and paddels.
When getting work done at home i have access to aseprite and will use it to create assets that will be used in my game.
When at college we dont have access to aseprite and so i use piskel instead.
visual studio is where i'll be writing all the code for the pinball machine.
in the water layout i want to have a few fish swim across the screen but behind the pinball machine in the environment
for the air layer i plan for there to be no floor and that birds fly behind the pinball machine on ocasion
The layout of the mountains is planned to be nearly the same as the water layout however i plan to replace the flooring with clouds
the volcano layout will be the same as the mountains apart from the aesthetics will change fore example all clouds will go grey and there may be meateors however that second one hasnt been decided apon yet.
i plan to have a slow moving sky as the same backround for every scene. i did this bye moving 2 images next to each other slowly then when one got inbetween two very close points i set its x position back to the start to make it apear endless.
I only implemented this at first to carry the pet type chosen in the main menu screen along to the next however after finding out how simple it was i decided to use if for a few more things including a high score and...
i modeled the basic shape of the pinball machine so that i could put it in my environment to see how it looks there are multiple reasons as to why i cant use this on its own as my final pinball machine the main one being that the ball could get stuck in a few places and i would like to avoid that in my actual model so i will add more curves so that it'd be harder to get it stuck.
i found a font on dafont to save myself some time instead of making my own. however i may make my own if i have the spare time at the end of the project.
i decided not to use joes premade project because i wanted to make my own so i could change it more freely having to decipher joes code.
I did all the animation at home apart from some of the backrounds (water + sky) because i was already doing them at college before i had started properly on anything else so i could block out my game and make sure it looked how i wanted it too, I did all my pixel art animations for my pets on aseprite because of the ease of use in comparison to piskel.
While deleting a script i made that did the same thing as something else i had accidentaly selected a folder and without looking i deleted it luckily it was only my folder regarding the backround (sky and moving parts) however inside of it was the script that had precise locations as to where and when things needed to be moved and i didnt want to do that again so i searched up how to make a scrolling backround in unity and found the video on the button above this helped me save some time finding the precise angles and made it more univeral so i could use it on my main menu aswell as in the actuall game. To get this done as a backround i had to make a world space canvas that was behing everything else. Going into the future im going to be a lot more carefull with what i delete and making sure im clicked on the right thing.
its not working :( (its surposed to be transparent)
when watching the tutorial they used an option that i didnt have in our current version so i guessed witch one would work but i may have made a mistake somewhere else and so im going to re watch the video when i have more time and figure out how to get it working.
although the trail isnt working as its surposed to the texture i did make from the shadergraph looked fairly cool on the floor and pinball machines
Most pinball games will have something you need to hit a few times then you get a bonus and because of my game starting underwater i decided that i could put a clam in the top left corner and upon hitting it 3 times your ball turns into a golden pearl and gives a bonus score of 500 (not affected by multipliers) or if you lose your ball before being able to use it you wouldnt lose your life but your ball goes back to being regular afterone of the 2 happening.
i'm struggling to come up with ideas for a second objective and so i decided to make a quick mind map after doing the mind map i had a good few ideas of what i wanted to do (lava worm + treasure chest)
I put together a quick main menu where once pressing play you can select your pet (terry, perry or jerry) that will change the in game animating pet in the bottom right of the screen. with their unique animations and powered up abilities
currently known issues/ bugs are that if the ball moves too fast it will go through the flippers and kill you. When using the water/earth pet the timer still ticks down when in the spawn area so you can sit there and gain infinite lives ive currently sort of delt with it by adding a cap to lives and increasing the time between regening a life however there is nothing stopping them from just sitting there and waiting whenever they lose a life.
i assume i wont get everything done that i want to so ive decided to prioritize a few especially important and those are:
objectives (shell + lava worm minimum)
finished environments
finished pets
if i have extra time after doing these 3 things i will then try to add these:
pause menu
fix the trail
add sounds
The first major issue was that when you died it would take 2 lives instead of 1 at the exact same time so i thought it was colliding with a small bounce at first but after a while of trying things at home i found out that it was just 2 things tagged with the death border in the same place however one was animated and not surposed to be tagged that so it would sometimes look like i had fixed it but i hadn't.
Next when you fully died theres an option to play again when you clicked this it would take you back to the main menu to chose your pet again however once you chose you wouldnt be able to launch the ball again i found out the issue was that i wasn't reseting the gameOver bool when re loading the scene.
at this point in time i already had 2 of the 3 pets almost complete all that they needed was a death sprite for when the game was lost then i just needed my last pet witch was going to be the hardest of the 3 to draw and animate because of its complexaty.
Finishing the environments was the fastest to do out of the 3 so i decided that it would be done at home / at college if i leave it too late.
i quickly got the last 2 environments done in aseprite then imported them into the game.
water
air
mountains
volcano
I attempted to start with the shell objective however i never liked the model that i produced for it so i never got around to actually making the objective in the game. :(
Although i may come back and add this at some point in the future if i ever get bored.
I made a very quick model in blender by adding a shpere then a remesh modifier to turn it into a bunch of small cubes this was very quickly done and i can throw it straight into unity without any special texturing or anything
I decided that i should make some changes to the current models in the pinball machine and use substance for something so i decided to make some new bumpers...
Then i brought them into substance to texture quickly as it didnt need much (I made the front image in piskel)
i found a sound randomizer maker thing on youtube and used it to make all the sounds in the game.
Then after importing them all into unity i had to put it into code where they'd play (when you die, launch the ball or hit a bumper).
this was a challenge only because i didnt do it while writing the code up first so i had to go back through everything to find what did what and add diferent comments for each (unless they did the same thing then i could copy the older comments).
I threw all my code with comments into a txt file at home because i didnt get it done at college
There were a few things i didnt get round to fixing e.g. the trail or the ball going to fast and shooting through the flipper colliders, I rarely used substance in this project because of the ammount of 2d art i had in my game and the amount of bugs i ran into along the way with things not working.
I recorded the video in a built version of the game then went into the editor to showcase some things later on this was all recorded and edited at home then upload onto youtube to put on my blog.
I believe the pinball project went pretty well all thigns considered (unity version) although i think there was a few things that i could've done better e.g. The menu buttons i didnt like how they were all made in the same resolution then i scaled up some of them it made the outlines look off.
Some things i struggled with during this project was figuring out what to include inside the pinball machine and it wasnt as easy as i thought it would be to make the layout fun. I also struggled with many bugs and things breaking to this day
If i were to continue this project i would start by making some basic backround music, then i'd add a pause menu so that you dont have to lose to quit the game as these were things i thought were needed when play testing it that i never got around to adding.
I got bored a few nights before hand-in so after recording and editing the pinball showcase video I found some royalty free music to add with that version being the one on itch at the minute i also added a Pause menu with buttons (These wont be in the youtube video because i dont want to record and edit it again). Then fixed a few bugs that were in the game e.g. spawning a huge amount of empty objects when your on max lives?
Lastly i believe that if i had the time i should have re-recorded the video to include the more recent stuff and the things that are on the current itch page however i never had the time to do this.