Conception [R&D Case Study Ext.] : Designing a Creative Challenge Generator
Note: This post is the original case study written for the portfolio, and acts as a more in-depth analysis of my process. The current version of the case study is shortened for lighter reading.
At the start of my game development journey, I read a number of articles talking about where I should even begin. Much of it was overwhelming, but an important piece of advice I had found is to just "start." Even if it's a paper prototype, just get your hands dirty and stick to the basics.
After playing around with Game Dev Tycoon, I started by journey by crafting a deck of cards with either a Topic or Genre written on it, shuffled them separately, and then matched each Topic with a Genre-- and I would do that ten times. I'd then write down an idea for each combination, then choose an idea I enjoyed most. For nearly a year, this is how I approached every game idea, from hobby projects to game jams, and the process ensured that I'd love every game I ever worked on.
By February 2016, I had gotten my hands wet with six paper prototypes, tried out the Unreal Engine for some weird audio-based project, and gave GameMaker another shot for the Global Game Jam. I had some ideas regarding how to improve the deck-based system after repeated use, and chose to dedicate the next week to creating a digital version of the Conception card game.
How could I create a creative constraint generator that was unlike anything else currently available?
- Objective: Overhaul the Conception card prototype, with the software also acting as a game design dictionary containing useful terms, definitions, and various systems.
- Concept: Conception is a creative brainstorming toolkit that allows game developers and designer to push their skills to the limit.
- Project Duration: 1 Month [Feb 2016, Full-Time]. Research - 2 Weeks, Design - 1 Week, Development - 1 Week.
- Approach (Chronological Order): Card game prototype, use the card prototype for game jams, create board game paper prototypes for the first four weeks of One Game a Week, design the software version of Conception, conduct research on game design and UX design fundamentals, create assets, develop software, package and upload, share and assess feedback, write postmortem.
- Role(s): Software Developer [Solo Dev]
- Collaborators: N/A
- Tools Used: GameMaker: Studio, Adobe Photoshop.
- Links: Download [Windows]
Before I had started pursuing game design in May 2015, I had picked up some HTML/CSS programming earlier that year. I was holding down a couple part-time jobs at the time, but still wasn't making enough to pay rent and eat comfortably. By pursuing web development, I hoped that learning how to program would provide me with a place to start learning a useful skill set. Khan Academy gave me a good primer on the topic, but I still had no idea how to realistically apply HTML and CSS towards a real project.
A few months later I had watched a couple videos of someone playing Game Dev Tycoon, a game I had never heard about until then. I soon became curious about game development as a career and studied game psychology and system balancing. But like HTML/CSS, I didn't know where to start making a game once I had finished my online curriculum.
To help brainstorm some ideas, I went through Game Dev Tycoon's list of genres and themes used in the game, wrote down each of their attributes, and created a card game with the same genres and themes. Attributes were determined based on the topic's affinity to a certain audience (Everyone, Teen, or Mature), as well as how the topic matched up with a specified genre in terms of marketability. After factoring all these variables together, a rating of "X" is easiest to brainstorm for, while a rating of "XXXXX" would be the most difficult. I'd match a random genre with a random topic and would do that ten times. I'd brainstorm a game idea for each combo, and then choose my favorite out of the ten to move forward with. And if there were other ideas I liked, I'd try those out later.
Less than a year and a few games later, I was ready to create a software prototype of Conception. The case study provided below is an overview of the entire process.
I started with a search to define what a "game" is. By taking into account how various cultures, time periods, and technology mediums have previously defined games, I determined that a game is "a structured form of play". This meant that as long as a single rule is established (ex. "be the last person to hop on only one foot"), you have a game. Even simulations, which abide by realistic constraints, can be considered a game; win/lose states do not need to exist, either. By establishing a broad definition, I could start defining other aspects of game design.
The MDA research paper was used as the foundation for the rest of the software project, and major constraints were primarily grouped by Mechanics, Dynamics, and Aesthetics. The definitions are slightly tweaked to better reflect the MDA concepts within the scope of the Conception project.
- A mechanic is a game-based interaction that occurs between the player and an in-game object.
- A dynamic is a psychological method that influences how a player behaves with a mechanic.
- An aesthetic is an impulsive emotional reaction that results from processing the dynamic.
By defining basic terms ahead of time, all constraints could be clearly understood as a way to better understand game design techniques. Other categories like Topics, Themes, Genres, and Systems were also defined.
- A topic defines the narrative setting.
- A theme is defined by a set of mechanics and aesthetics.
- A genre is defined by a set of mechanics and one or more themes.
- A sub-genre is defined by one or more mechanics, in addition to at least half of a parent genre's set of mechanics and themes.
- A system is defined by a pre-existing game's set of mechanics.
After composing a list of current genres and themes as noted by Wikipedia, the terms were redefined in a separate document to work within Conception. The database of terms that have been defined based on the two weeks of research and documentation can be found here.
While the aesthetics in Conception are limited, there are 420+ sprites that were made for the project.
Since I had limited experience working with GM:Studio at the time (I made a game the week during Global Game Jam a week before as a sink-or-swim test run), I was most comfortable using the software's drag-and-drop functionality as opposed to writing code myself. This meant that nearly 500 terms needed to be drawn on Photoshop.
I drew a 60-symbol font (uppercase, lowercase, symbols, and punctuation) with each letter being drawn as a separate sprite on an 8x8 raster canvas. To create a sprite for a word, each letter would be given a layer on a single canvas, irrelevant letters would be made transparent, and duplicate letters would be copy-and-pasted in order to spell out the word. The term would then be saved as a .png sprite, and I'd repeat that process at least 400 times.
Yep. That took about a week.
Since my coding ability was limited at the time, I needed to rely on basic drag-and-drop functionality.
I was unsure as to how to display a description for a term if the mouse hovered over the text, so I made each term its own sprite instead. Each sprite had its own collision area based on the size of the sprite, so detecting mouse position over the sprite was much easier to implement (albeit tedious).
Similar to the previous problem, I had limited practice with arrays and data structures; so storing all the terms and definitions in a single array wasn't an option at the time. To display the description text, all 420+ term sprites were given their own GML script that displayed a simple string of text.
Lastly, the categories of terms were divided up by using a tool in GM:Studio known as Rooms, and Conception uses about 50 rooms. The user navigates between the rooms by selecting the UI header icons within tool guide (or by selecting the same icons in the "Generate" section). I chose to use rooms rather than wiping the sprites and generating new sprites since, like the previous solutions, that was the only solution I knew of. It's messy, but it works!
By the end of the fourth week working on the project, I packaged it up and shipped the prototype on itch.io.
Since releasing the prototype to the public on February 26, 2016 (and as of July 9, 2018):
- Conception helped raise $10,581.48 as part of the Hurricane Relief Bundle in September 2017.
- Has been viewed 5,852 times and downloaded 1,266 times, and continues to see download spikes during game jam events.
- $15.00 has been donated from 8 users.
- Added to 223 user collections.
- 91 up-votes on Reddit since the original post.
The original One Game a Week post was too lengthy for the portfolio, so I hope this case study is a little more digestible! Conception has needed a number of changes over the last two and a half years-- many of which are addressed in my current project, Joybloc.
Thank you for reading!