I am choosing to continue work on my Inform 7 game, Ground Level. I did have another idea for a new story, but after some positive feedback and seeing things I could improve upon, I am going ahead and adding more to this interactive fiction instead.
For Thursday I plan on addressing the issues with objects in the game, fixing some descriptions, and changing a few puzzles and timers. More clues as to what the player should do next, though kept to a few, should help first time players enjoy the experience.
For Tuesday I am aiming for adding an additional level of the building the player is currently in.
Since, I rarely use interactions with people in my game, that is one area I hope to improve.
Unit 1: Scratch
Tanks! - A Game In Scratch
Unit 2: Inform 7
Ground Level - An Interactive Fiction created in Inform 7
Unit 3: HTML + CSS
My Portfolio created in HTML + CSS
Take a look at what my classmates have created.
Originally, the Music, Games, and Comics section simply linked to blog entries and my profile in Steam. After revising the project, I gave them each their own unique page.
Click here to view my website.
Check out the video below of a first time user trying out the site.
Watch the video below to see the code behind it.
After Scratch, we had Inform 7 to revise and add on to.
My interactive fiction project, Ground Level, had to have some ideas cut originally because of lack of time. Before revising the project, I had a working game that had the player move through a variety of locations and interact with a few objects. Because the game was about escaping, I had to keep interactions to a minimum to fit with the "need to escape" mentality, otherwise it would seem rather ridiculous if the player examines everything in the kitchen for ten turns while the enemy stands idle in the next room. To address this issue, I went back to the game during the revising week and added in conditional statements that would end the game if a player stayed to long in a room.
Because the game ended on a cliff hangar ending, I needed to put a proper ending in place. After the player gets to the previous ending location, a puzzle was added along with many more locations in which the player has to navigate before ultimately finishing the game.
Take a look at the video below of a first time player playing the game.
Watch the video below to see how it all works.
After the class had completed the three units and presented what we had made, our next objective was to revisit each and add more features. First up was Scratch.
For my Scratch project I had made a two player tank battling game. Before working on it for our revisions, I had created an introduction screen that would display the instructions for the game, mainly the controls. After that screen was displayed for a few seconds it would then fade out and the actual game would begin. So to summarize, I had one level, two working tanks, and an instructions screen.
When the week began to make revisions to our Scratch project I had some ideas of what to do. I wanted a full menu screen, complete with a separate page for instructions, level select, and credits. Some sort of animation displaying the game's title was also on the list of things to do. I also planned on creating more levels and another type of block in the environment.
At the end of the week long Scratch revision process, I had the menu in working order, two additional levels, and another block type. The title screen displays the game's title (Tanks!) then two tanks slide into view from the left and right side, fire, and then when the bullets meet in the middle, the three titles of the menu options (Instructions, Level Select, Credits) come into view from the bottom. When a player clicks anywhere on the three options, the screen will change to whatever title they clicked on. Clicking on instructions will display the instructions. Clicking level select will bring the player to a screen with three levels that when clicked loads that specific level and starts the game. Clicking credits will display the credits. On all three screens there is text with the words "Back to Menu" that when clicked, changes the screen back to the menu screen.
Take a look at the video below to watch two players test out the game.
Watch the video below to see how it all works.
The purpose of this portfolio is to get a behind the scenes look at what into making my game in Scratch, Inform 7, and website in HTML / CSS as well as my influences and difficulties I had to overcome.
For the Scratch unit of this class we could either make an interactive story or a game. I chose to go with a game. After looking at some example projects that other users had created on the Scratch website, I thought about making a Pong-like game. Further browsing on the website revealed a lot of games that took Pong as inspiration so I decided to change my plans. I remembered using a similar software in grade school that was advertised in one of those Troll or Scholastic book order forms. Doing a bit of research now I found out that EB Worlds, another 2D game/story creation software, was released in October of 2002. Wow. Eight years is a very long time, but yet it left a lasting impression on me. So much so that one of the sample games packaged with it was a tank battling game. My idea for a Scratch game was found.
Since the tank game included in EB Worlds was already a complete, finished game, all one had to do was load it up and play it to have a good time. As I stared at the almost blank screen of Scratch (the Scratch cat mascot thing always staring at the ground) I realized just how much work would be needed to get even the basic action of shooting up and running.
There were a lot of things to consider. What would the tanks look like? What would the level look like? Are there objects in the level that the tanks can interact with and destroy? How is movement defined? Does each tank's turret move in the same direction as the tank is facing? How is hit detection determined? What happens if one tank runs into the other tank? If a tank is shot, what happens? Are there winning screens, menus, rewards, music, sound effects, credits? I was in for a lot of hard work.
First I decided on an overall look for the game. Not being an artist, the low tech look fit perfectly. Each tank had its on color as well. The level was made so that tank bullets would not extend past the border. In addition I created a few blocks as barriers for the tanks to navigate around.
Next, came controls for both tanks. Since I was making a two player game I needed to have separate controls for each player. Ultimately I decided to have the standard arrow keys for one player and the pc gaming equivalent too -- W, A, S, and D.
Shooting and tank/bullet hit detection came next. For each tank I created a unique bullet that would start on whatever location the tank was currently positioned and travel in a straight line until it hit either a wall, barrier, or tank. Conditions were set so that if encountering another tank, a message would appear telling the players who won.
I then added a menu screen with instructions after doing some user testing. Overall I am happy with the game I managed to create. The graphics work, but the gameplay is what really matters. Grab a friend and try it out at the link below.
Our second unit focused on interactive fiction. We were asked to create a game in the program called Inform 7. Previously I had worked with Inform 7 in the Video Game Culture & Theory class so this was a chance to review what I had learned before.
Before we began working on our own projects the class had a chance to try some published works of interactive fiction. While it was interesting to see what others were able to create I ultimately drew my inspiration from movies and games.
My interactive fiction tells the story of someone who needs to escape to ground level from an apartment building. They are considered a wanted criminal and so are chased by police forces. While originally designed to have a variety of floors to explore while making the journey to the bottom, I had to cut back due to time constraints and adding in extra details.
When I set out to create my game I first drew a map of the locations that I wanted to be able to explore. The first thing I coded in Inform 7 was all the rooms, making sure that everything was in the right direction in relation to one another. Next I added in windows and doors. Then came the hard part of adding descriptions for everything. Most of my time was spent on this task.
Populating most of the rooms with objects was my next priority. Because my game was about escape, which meant running away, I tried not to add too many objects that would cause the player to stop and examine them.
Random events, descriptions and scenes are what I'm most proud of. If a player is in a certain location for too long, certain events will happen. In addition, if a player enters a location for a first or any time after, a random description will be displayed. I did this to give the sense of a living world where everything is constantly in motion, like the player should be. Try it out below.
HTML / CSS
Our third and final unit was on HTML and CSS, or Hyper-Text Markup Language and Cascading Style Sheets. We could make anything we wanted as long as it had enough content to fill a few linked pages. I chose to go with a portfolio.
Having never used HTML or CSS at anytime in the past, this unit, unlike Inform 7, was completely new. I had seen HTML before but never actually went about creating anything. Additionally, Dr. Jerz wanted us to make a site that looked good on an iPad.
At first it was difficult understanding what code made what change to the page, but I quickly grasped the basics. After some prototypes I had a basic outline of what I wanted to complete. In the two weeks that we had available to complete our project I managed to complete all my goals. Take a look at the link below.
Who: Anyone with a story to tell.
Where: Anywhere there is internet access.
Why: So anyone can play it.
How: See below.
First, let's make sure we have everything.
- Inform 7 installed and open with publish ready interactive fiction.
- A web browser open with your blog entry that you wish to put the link in and http://parchment.googlecode.com/svn/trunk/zcode.html
- A working internet connection
Good to go? Follow these steps:
1. Is Inform 7 installed?
goto step 2
Head to inform7.com and download a copy. remember to select the correct operating system.
2. Did you publish your interactive fiction?
goto step 3
Start the Inform 7 program and open the work of interactive fiction you would like to publish. Next, click on "Release" which is located at the top of the window to the right of "Replay" and to the left of "Window". In the menu that appears click on "Release". In the right side of Inform 7 you should get a confirmation message explaining that the process was successful.
3. Can you find the .zblorb file?
goto step 4
Locate the folder that your project is saved in. Find the folder labeled "[YOUR PROJECT NAME] Materials" where YOUR PROJECT NAME is the name of your project. There should be a folder called "Release" inside it. Enter that directory and there you will find your .zblorb file.
4. Did you upload the .zblorb file to a server?
goto step 5
Go to your Seton Hill blog and with an entry open, click on the "insert file" icon which is to the left of the underlined A and to the right of the "insert image" icon. Once the screen pops up, click upload new file then browse and find your .zblorb file then click upload. Once it finishes uploading click finish. You should now have a hyperlink that when clicked, will prompt the user to download the file. Right click on the hyperlink and click "Copy link location".
5. Did you upload the .zblorb file to google parchment?
goto step 6
Head to http://parchment.googlecode.com/svn/trunk/zcode.html and put the url of the file in the box. Click enter. You should now have a link to your playable story. Copy that link.
6. Go back to your blog entry, highlight whatever words you want and insert the hyperlink to your playable story like you would any other link. Congratulations! Your story is now on the internet. Facebook it, tweet it, send a chain letter. Show people what you created.
Click here to play Getting Your Interactive Fiction Online.
On my homepage at the very top, a picture of me, my name, class, school and major are prominently displayed. The school text is also a link that takes the user to Seton Hill's website where they can find out more about the school.
I also have a variety of sub-menus broken down into three categories: writing, interests, and contact. In the writing category there is a direct link to my school blog. Underneath that is a link to my writing that is considered New Games Journalism. When clicked, it takes the user to a new page in the same style as the home page but with further links to blog entries and more descriptions. In the Interactive Fiction section I give links to the two works I've completed: Silent Horror and Ground Level. Finally in the Code section, users can find out about my project in Scratch, what programming languages I've worked with and more. The Interests category contains links to non-school related things that interest me. As of now, users can read two articles on music and comics and see my profile for Steam, a major pc game platform for buying digital games, instant messaging, voice chat, in-game matchmaking and more. Finally the contact me link takes the user to a page displaying my email and other social media sites.
The biggest challenge to overcome on this project was learning both HTML and CSS as I have never written anything with them in the past. Understanding the code words, the building blocks keeping everything together behind the scenes, took a of couple hours to get comfortable with and I frequently had to look something up, but that experience was part of the fun. It was a puzzle that had to be looked at from a variety of different angles. There are a lot of variables that can be thrown into the mix. Many unique tags all had to work together. I had to keep track of where one ends and another begins or where to put an ending tag when one tag is within another tag, but I am very happy with what I managed to create.
Click here to go to my website.
Setting and Tone
My interactive fiction game titled Ground Level is set in an exclusive apartment building filled with many floors of living areas, entertainment spaces, numerous hallways and dining halls. The tone of my game could best be described as a mix between action, exploration, and escaping. I also tried to write everything so that it had a sense of urgency.
I was influenced by a variety of stories, both in interactive fiction and video games, and from films. For interactive fiction, Adam Cadre's 9:05, which Dr. Jerz had introduced to the Video Game Culture and Theory class, led me to try and come up with something similar, yet change it up a bit. The two movies I looked to for ideas were The Matrix and Cloverfield. The part where Neo is trying to get away from the Agents in the various buildings ("Your other left!") is really the type of frantic movement I wanted the player to experience and be a part of. Since Cloverfield was shot in a first person style, many scenes were what I thought was a good representation of a setting where escape was possible but yet still felt dangerous and unknown. Such as relatively early in the film where everyone rushes back inside after standing on the roof, or when getting to the subway and away from the military / Cloverfield monster. Then for games, a Half-Life 2 modification dealing with fire safety and one of the campaigns in Left 4 Dead titled Dead Air added some more background material for me to work with.
As the game stands now, everything is pretty much temporary -- a beta or alpha release -- so although the introduction text establishes the basics of the game -- who you are, what your motives are -- I plan on changing the exact wording in the future. That being said, it manages to get the point across that you need to get to the ground floor and meet up with someone or else.
Although this piece of code is in my story, it could be used in any other as long as the descriptions were changed. The following bit of code describes a room.
"[if visited]The reinforced metal platforms sway in the wind.[one of] The street below is alive with activity.[or] Below you, the street is filled with activity.[at random] Far ahead to the north you can see a ledge. [one of] It looks just big enough to walk on.[or] You should be able to walk on it.[at random][otherwise]You climb through the broken window, landing on the scaffolding. The reinforced metal platforms sway in the wind.[one of] The street below is alive with activity.[or] Below you, the street is filled with activity.[at random] Far ahead to the north you can see a ledge. [one of] It looks just big enough to walk on.[or] You should be able to walk on it.[at random]"
Looks a bit confusing? Let's break it down.
If the player has already visited this room
print one of the following (at random)
and then print another description (also at random)
Otherwise (this is the first time the player has entered the room)
print description five and one the following (at random)
and then print another description (also at random)
Therefore, if we have a player enter the room for the first time we will get:
description five + (description six or description seven) + (description eight or description nine or description ten)
and if the player enters the room again:
(description one or description two) + (description three or description four)
From the start of the game until the end, the main focus is on movement. You are required to keep moving from area to area otherwise you will get caught. Because of this, interactions with objects is kept to a minimum. Descriptions of rooms are for the most part randomized and detailed enough to make up for the lack of object oriented gameplay, at least for now. Future versions should include a couple puzzles and plenty more rooms.
Because of time constraints I had to settle for a different ending then I had originally intended. But now it is sort of a cliff hangar and can lead to a great puzzle mechanic in future releases. So it worked out for the better.
I used the built in documentation in Inform 7 to look up how to build scenes, teach Inform 7 to understand more than one word to create the same result, and end the game.
Usability Test Report
Even though I thought my description at the beginning of the adventure set the stage and gave out clear directions, playtesters found it difficult starting the game. They did not have any clear goals set. Additional problems that came up in the playtest was backtracking to rooms that I had considered "dangerous" as in, the story had advanced so far that something had happened where it wasn't smart to be there. Another problem in one room was the unclear labeling of an exit. Since this is the way story moves along, it is an error that needs to be the top priority when working on the project again. There were some good results that came about from playtesting though. One playtester kept on typing "run (direction)" instead of the usual go south or just s, so this shows that they understood the need to get away from the enemy chasing them. In addition, they liked the few items that were in the kitchen and the descriptions for each one.
The following list is taken from my previous blog post on my plan for an interactive fiction game, and I've added comments about the progress of each item.
Possible problems to overcome:
Haven't made this yet.
I want to see if I can finish the complete 14th floor layout that I had mapped out, with plenty of descriptions, random events, and items, then maybe I'll add this in to the first elevator part.
Probably add this when I make another floor of the building.
The majority of what I've been working on involves the SWAT team. It's the driving force that makes the player advance further along in the game world.
Climb outside the building and get back inside on a different floor
I've partially added this in -- the climbing outside part. When I add an additional level to the game this can be fully developed.
Slide down railings
More of a description of the action and imagery I want to convey. Yes, I totally imagine the player doing this like from the game Mirror's Edge.
Jump over construction work
Haven't added this in yet but I have an area already in place that it could work in.
Navigate office complex
This ties into the next item and will probably have to wait until I add another level.
Office birthday party
I really wanted to try and add this in but developing the start of the game, the pacing, etc has stopped me from adding in the really heavily detailed parts of this design.
Yep, there in the game already, although a bit blank as of now.