NOVEMBER – DECEMBER 2014
Ezzy World is a simple life-simulating game created with Python’s TKinter and Adobe Illustrator. The project was created for Carnegie Mellon University’s Fundamentals of Programming course (15-112).
Project source code can be found here.
• Developed the logic and animations using Python’s Tkinter and Object Oriented Programming
• Designed and animated Ezzy World using Adobe Illustrator
• Researched the market for appropriate approaches to this game
• Implemented a simple, yet enjoyable UI and UX
• Heavily used probability to create a more dynamic experience for the user
BREAKDOWN OF GAME
Ezzy World isn’t that technically challenging. However, it is a project that I created from scratch in my early stages of learning how to program. All of the animations you see are drawn using Adobe Illustrator and a Bamboo tablet. The motions of the animations are created by switching two files back and forth to create movement within the game.
The project uses Object Oriented Programming in Python in order to keep track of 3 main classes:
(1) The Tkinter application that runs the game and the overall logic of the game [for example: the player’s money, a list of instances of Ezzies, etc.],
(2) Furniture [each furniture object kept track of its own coordinates],
(3) Ezzies [which tracked coordinates, health statuses, name, etc.]
In order to set up autonomy with the Ezzies, the Python Random library was heavily used. A lot of the logic that went behind an Ezzy moving on its own, or performing actions on its own came from a simple “random.randint(low, high)” command. The program would check every few seconds or so whether or not the returned random value from random.randint equaled 0. Meaning if random.randint(0, 20) was used, there was a 1 out of 20 chance that an action would be “autonomously” done. This randomization came into play in the movement of Ezzies, whether or not an Ezzy completed an action with a furniture object in the room, and even in the “Get Twerk” mini-game where randomly generated strings were produced.
Other features of Ezzy World includes loading/saving, Ezzies aging over time, Ezzies dying if not treated properly, Ezzies changing animations if dissatisfied, etc. The project was created over a month’s span, and was a great experience in terms of learning how to design/implement a full-stack project.
Used Adobe Illustrator in order to manipulate vectors easily to create the animations
Menu screen for Ezzy World
About page for Ezzy World
Ezzy page describing what an Ezzy is / can do
Create an Ezzy
Create page where you can customize which type of Ezzy you want to create
Gameplay of an Ezzy surrounded by some furniture