CREATING AN ORIGINAL 2D GAME PROJECT
UNDERSTANDING CREATIVE MEDIA COMPANIES (#1)
(04/11/2024)
Introduction
There are three primary company types in the media industry which include developers, publishers, and exhibitors.
Developers are companies concerned with producing products relative to the industry whether music, fashion, media, or cinema.
One example of a developer is the game development company SEGA which centers its media franchises around the well-known series: Sonic the Hedgehog.
Publishers are companies concerned with publicly endorsing and publishing works produced by developers.
Publishers assist with endorsing the works by gaining public and communal recognition and certification from the media and gaming community to seal the worthiness of the publication of the works.
An example of a publisher is Nintendo. Nintendo has been responsible for consolidating the publication of various open-world fantasy games and platformers including Super Mario Bros, The Legend of Zelda, Donkey Kong, etc.
Company logo:
Nintendo is commissioned by external developers to certify and publish the video games for public awareness and promotion.
Exhibitors are companies that deal with the distribution and marketing of the products produced by developers.
Modes of Integration
Horizontal integration is defined as a supply chain that consists of cooperative parent companies that are financed by developers.
Vertical integration is defined as a supply chain that encompasses internal operative subsidiaries which are all owned and maintained by a head company.
COMPANY RESEARCH: DISNEY (#2)
Disney is an American media corporation renowned for their television franchises and characters. Disney's heyday was when projections of animations featuring the fabled character Mickey Mouse, grossed billions of dollars in revenue.
When Disney was in a state of financial boom, it purchased ownership of their operative subsidiaries including television programs and distributors to broadcast and market their productions without budgeting or financing external suppliers or marketers. Disney also invested in airing their own television networks aimed towards youthful and teenage audiences such as Disney Channel, Disney XD, and Disney India which is an international version of the Disney network and is only broadcast on Indian television.
Network logos:
Because their target audiences are youthful or adolescent groups, the programs broadcast by these networks are primarily sitcoms starring teenage characters. Cartoons featuring famous Disney characters are also broadcast.
Another notable subsidiary is Marvel. Disney and Marvel have collaborative relations and both help in commercial promotion. For example, Disney is recommending to users cinematic productions directed by Marvel. As for Marvel, they are co-starring characters from Disney in their heroic plots.
Another subsidiary is Disney Cruise Line which was founded by Disney. The cruise liner accommodates public facilities including a restaurant and theatre. It also accommodates entertainment venues similar to the ones found in Disney Land.
Reflective Journal - Developing Contextual Awareness
28/10/24
The objective of the lesson was to be able to define the different video game genres and classify video games by their genres and subgenres founded on their gameplay conditions.
A genre is a form of characterization of a given product based on factors such as its narrative or gameplay.
A verb is an in-game action that is performed and initiated by the player's command.
A versatile verb is a constructive in-game action initiated by the user that results in a wide range of outcomes.
An invisible tutorial is a tutorial that teaches the player indirectly through subtle hints in the environment. This is beneficial because it voids the need for direct and explicit explanations.
11/11/24
The objective of the lesson is to design an educational or beginner video game level to aid the player in understanding the game's features and controls.
Video game genres are differentiated from novel and film genres because of individual attribution from other products such as player interactivity - the player's influence on the game's storyline or setting which cannot otherwise be altered in movies and books.
Beginner-standard Video Game Level Development
Below is an illustration of a video game level adapted to the easiest difficulty. The level is specially designed to help teach the player the fundamental verbs and interactable elements such as the collectibles and blockers.
I proposed that the level begins with the player in a two-block deep depression to hint to the player that there is a jump command. With the player's gained knowledge, the level continues with an elevated platform that further encourages the player to jump and understand the nature of certain collectibles.
Further into the level, the player is met with its first blocker: an enemy. The enemy is confined in a space to hopefully compel the player to interact with the enemy and understand its behavior.
Approaching the end is a gap alluding to the player that every gap should be cleared and that the player's session will restart if gaps are undershot.
EXPERIMENTAL VIDEO GAME DEVELOPMENT (#3)
For this project, we experimented with the tools and coding systems of the game engine, Construct3.
Play the game here:
To understand the fundamentals of Construct3, we developed an interactable and rudimentary video game level featuring surfaces and player-controlled elements in a 2D space. From this, we learned how to insert and purpose objects, modify their settings such as their behavior and interactability, and embed grided backgrounds.
The technical terms for Construct3 are:
Object - An object is an element that can be programmed to interact with the environment or player. Objects are a crucial building block for video games as they reinforce player interactivity.
Behaviors - A behavior is a condition that is applied to an object for functionality. Behaviors purpose objects to interact with the environment or player.
Event Sheet - The event sheet is a script that is used for scripting in-game actions to controls so that actions are executed by the respective inputs.
First Iteration
The earliest design of the level is an experimental, semi-developed level and was constructed educationally to familiarise ourselves with the features and systems of the game engine. The level features a playable object and solid ground on which the player can move. As I discovered, a solid, navigable surface is crucial for playability because physics-based objects such as the player will be influenced by gravity and will be pulled downward into the void unless there is solid ground beneath the player.
As for the player, the player will need to be represented as a moveable object. The behavior "Platform" was assigned to the object representative of the player and enabled the object to move by the player's command.
I soon discovered how to expand the template and sought to expand the level's course as well. The ground was divided into parts and the parts were positioned at varying heights.
The level had its visuals improved when a grided and textured background was embedded. The ground's color was also set to blue.
Reflective Comment for First Iteration
We have covered many of the features and systems of Construct3. I found many of Construct3's features to be easy to understand and simple to operate except the scripting of the controls in the event sheet, as it was slightly more technical compared to everything else that was covered.
Second Iteration
The level was updated introducing new additions to the level including intractable objects such as blockers and collectibles, and HUD elements including a subtractive timer timed at 25 seconds, a working health system, and a coin balance.
Reflective Comment for Second Iteration
We have learned how to insert HUD displays and code HUD displays to be non-interactive and process data. One difficulty I encountered was how variables can be scripted and what variables were relevant for the coded script. An example is the variable integrated inside the script for the timer. For the timer to function as a timer, a variable that simulates a set parameter or numerical counting down or up is to be applied to the timer so the timer functions as intended; followed by conditions as to when the timer should start counting down or up and whether the timer should count down or up from the set number.
Third Iteration
The objects featured include:
Playable Objects
Player
The object named Player is the object that is controlled by the player. The object has been programmed to be movable by conditioning its behavioral state to "Platform". Its behavior has been also set to "ScrollTo" so that the center of the screen focuses on the object wherever the player moves.
Its appearance was squared and filled with green in the Animations Editor window.
Non-interactable Objects
Ground
Ground was lengthened and was filled with blue.
Blockers
Spike
Spike is the first blocker that has been introduced into the level. Spike acts as an obstacle that presents a hindrance to the player's completion of the game.
Spike has been programmed to drain the player's health by 125hp upon contact with the player. The player is expected to jump over this blocker to avoid loss of health.
Its appearance has been shaped like an isosceles and filled with red. The color red has been applied to act as a visual warning to the player that they should be evaded.
Enemy
Enemy is the first non-playable character to be coded into the game. This blocker has been programmed to move back and forth to cover more range and drain the player's health by 125hp upon contact.
Its appearance has been edited to be resemblant of a particular blocker in the Super Mario series.
Collectibles
Penny
Penny is a collectible that has been programmed to add one unit to Counter and one second to Timer (scroll further down for Counter and Timer brief) when collected by the player. The coin also disappears upon collection to avoid exploitation with the coin system.
Its appearance has been designed to appear as a literal penny by the coloration and the numerical on its face.
10 Coins
10 Coins is a coin that adds 10 digits to the Counter and 5 seconds to the Timer upon collection. Its appearance has been edited by the filling of yellow on its face and orange on its frame, and the addition of the number ten on its face.
HUD
Timer
The timer at 15 seconds by default.
The timer is a non-interactable unit that displays the time remaining before the player's session restarts. The timer has been programmed to immediately begin counting down from 15 seconds when the game is launched. Also, when the player collects a coin, half of the coin's value is added to the timer (seconds) if half of the coin's value is an integer.
Penny (1c) = 1s (because half of the value of Penny is not an integer, the same value is added)
10 Coins (10c) = 5s
If the timer reaches zero, the player's progress will reset. This includes how far the player is into the level, the amount of coins collected, and any lost health.
Counter
The default counter before the player has collected any coins.
The counter is another HUD element that displays the player's current coin balance and records every coin collected by depositing the value of every coin collected into the balance.
GMT (#4)
Game Development Document
"The Pre-production of a Small Game" Video
Uploader/Youtuber: GDQuest
Date of upload: September 10, 2025
"How to Become a Game Designer" Document
"How to Become a Game Designer" Video
Uploader/Youtuber: Game Maker's Toolkit
Date of upload: March 22, 2021
COLLABORATIVE GAME DEVELOPMENT PROJECT (#5)
For this project, we will be developing an interactive and rhythmic platformer video game as an indie team, themed around The Rise of the Guardians. The player's objective is to strike and dodge oncoming objects rhythmically to play a melody.
We have proposed that the video game will feature pixelated TROTG-themed interactable and non-interactable elements and playable characters. The characters will be animated and will be able to perform verbs by the player's command. Those actions include walking, jumping, kicking, and punching.
Game Concept Sheet
Photographs of one of the members of the team posing shot-by-shot which will be used for animating the in-game actions.
Walking
Jumping
Punching
Inconveniently, we discovered that these photographs are immaterial and useless for editing because the subject's legs are not captured within the shots.
Intervening Production Schedule
(for the first week; see progressively updated schedules further below)
We have formulated a weekly updated schedule to abide by which will help with systematic and strategic development. The team members were color-coded and certain branches of the development were entrusted to each team member. In my case, for the first week of production, I was tasked with illustrating and animating the characters in every frame.
The updated schedule for the second week of production after the first "Crits" session:
The schedule for the third week of production:
Character Design and Animation
These animations all revolve around this screenshot of the character standing (stationary; not moving).
The image's resolution is poor because it is a magnified view of the image.
For animating the protagonist of the platformer, I ordered the frames of the character and retextured the pixelated visuals of the character in every frame to visually simulate a continuous animation consecutively.
Running
1
This is the starting frame that plays when the player starts sprinting. The limbs are retextured to depict the arms swaying back and forth, and one of the legs on the ground with the other kicked backward.
2
The arms are retextured to illustrate successive brachial movement with the left arm swaying backward and gradually out of sight as it is obscured by the character's torso. And as for the right, swaying forward in front of the torso.
The legs are retextured to appear as though the front leg is lifting off the ground and the one behind is slowly coming in front.
3
The left arm is further obscured by the torso as it continues swaying further back. The right arm is swaying forward and now spans the torso completely and is partially obstructing the left arm.
The legs are not retextured and are left unchanged from the previous frame for the sake of time.
4
The right and left arm to their peak of swaying mid-sequence. The illustration of the legs is a duplication of the legs in the first frame to save further time.
5
This frame is a duplicate of the third frame that has been minorly retextured, particularly the arms. The right arm has been retextured to be slowly swaying backward and the left arm swaying forward in contrast to the third frame which illustrates the right arm swaying forward and the left swaying backward.
6
The final frame for the running animation. The first frame has been duplicated for the development of the sixth frame for time's sake. When the sixth frame plays and if the player continues sprinting, the frame sequence restarts at the second frame depicting the right arm swaying forward and the left arm backward.
Diagram representing the sequential system of the running animation.
Reflective Review of Animating the Character Sprinting
I am pleased with the final version of the running animation. There were a few areas that I was unknowledgeable initially including operating the features of an editing software I never used before and feasibly retexturing the character several times to illustrate the character performing certain actions.
Fortunately, I discovered the software to be simple and easy to understand was able to quickly familiarize myself with the software.
Moreover, I was able to find a feasible way to illustrate the character multiple times and develop the animation sequence frame-by-frame. I devised my own technique which involved drawing temporary guidelines in a distinct color to help me highlight the character's posture. I would then erase any pixels outside the guidelines and fill the existing pixels with the appropriate colors.
To conclude, I am pleased with the final version of every frame and so are my team members.
Jumping
1
This is the starting frame that plays when the player executes a jump command. It has been retextured to appear as though it is crouching down and preparing to lunge forward.
2
The left arm has been retextured to appear straightened and forced upward as the character launches itself into the air and gains aerial momentum. The entire body has been retextured to illustrate bodily motion.
An earlier and disused version of the frame with the torso appearing unusually wider:
This frame plays when the full extent of momentum is reached. The arms are depicted to be wrapped around the legs with the legs kneeled down as the character starts to lose momentum and descend.
4
The character's body has been retextured entirely to illustrate the legs under muscular pressure and the body slightly bent down as the force from the impact physically tensions the character's body.
Alongside these edits, a supplementary visual effect beside the front leg has also been added to the frame to further visualize the landing.
Reflective Review of Animating the Character Jumping
I am happy with the final version of the jumping animation sequence. Because of previous experience with the software Pyxel Edit, I was able to speedily develop every frame in good time. There was one minor difficulty: animating the necessary body parts.
While I did use the same, effective technique as I did when developing the running animation, animating the character jumping posed a slightly greater struggle as more parts of the body such as the torso and the legs needed to render in motion. Thankfully, it was not too great of an issue I was able to seamlessly work my way around the struggle and the development of the animation sequence eventually saw its completion.
Overall, I, and my team members, are happy with the outcome of the development.
Peer Criticism and Feedback
See the document recording the critical comments and pieces of feedback provided by members of the class:
Final Product for this Project
Winter Haven
The completed version of the game:
Game Project Evaluation
For this project, I was tasked with developing an indie platformer game collaboratively. When the project was first announced to me, I did not necessarily dread the structure of the project but only when the collaborative factor of the project was specified as I am, bizarrely, usually allocated in a group including the most unenthusiastic and stagnant people in the universe. And so, I worried that this project might not go as it should.
Thankfully, my group was punctual and skillful.
During the project, I encountered a light issue involving the development of the game's protagonist's animation: how to animate the character feasibly and in good time. Favorably, I was able to methodize a feasible approach to the issue: draw temporary guidelines in a distinct color to outline the shape of the character and then erase excess pixels and fill pre-existing pixels with the appropriate colors.
This counteractive resolve proved successful and beneficial: all animations of the character, from sprinting to jumping, were completed on time and before the project's deadline.
When I first started developing the animations of the character, I was enlightened on fashioning pixelated illustrations. Before the project, I did not have any experience with pixel art, but the project revealed to me my high potential in pixel art.
Surprisingly, me and my team had little to no issues with communication and organization. I was able to communicate with other team members perfectly at times when it was necessary such as when I needed clarification or assistance. Also, we were well-orientated and abided by our schedule without any organizational inconsistency.
When the project was coming to a close, the game was not fully complete and up to our expectations. During the final stages of the project, we planned to supplement more features as well as improve on already existing features, but time was short and we prioritized the fundamentals only: ensuring all systems function as intended and the game's playability.
One additional feature was an "Attack" animation that the character would perform when the user presses the respective key to strike obstacles that cannot be avoided. But because there was no time to code this animation into the game, obstacles simply disappear and the character runs continuously when the user presses the key.
As to the feedback given to us by people who played the game, the pieces of feedback stated that the game was almost unplayable because the obstacles were virtually impassable; the player had to time the jumps absolutely perfectly. This was because of improper hitboxes and collision with the obstacles that reset the player's progress when touched. This issue was resolved shortly after we were given the feedback concerning this issue.
To conclude, for the most part, the project has been a success. I am pleased with how information was being circulated between us and how we were able to organize material in harmony with one another's availability. One difficulty was completing the game within the given timeframe. I believe one of the reasons we were not able to fully complete the game was members of the team were repeatedly suggesting more ideas and we were not able to employ those ideas in time. Another reason was availability between team members: we did not have much time outside college hours to devote ourselves to the project.
No comments:
Post a Comment