Showing posts with label Little City. Show all posts
Showing posts with label Little City. Show all posts

10 November, 2010

Little City Mega Update: Part 3, Greybox

This is the third of a three-part update. Also check out Parts 1 and 2

Map greyboxing is mostly finished! Items finished include:

  • Traversal from beginning to end, including some tuning to prevent fall damage along the critical path (the player could possibly escape the police bots with 1 health point and there are no healing items.)
  • Basic stand-in meshes and BSP (such as cars and rubble), with blocking volumes for gating. All meshes were created with in-editor 3D tools, but future meshes will be imported as .ase or .fbx files.
  • All basic scripting and triggers are in, such as police bots and animated doors.

Greyboxing proved its worth enormously, as level layout took only a few hours. Some major issues were quickly exposed, and easily fixed since the barebones assets present were easily re-arranged. Some notable fixes:

  • Overall map size was way too small: speedrunning took about 90 seconds. It only took a few minutes to increase the map size by 50% which I think will help play length without creating boredom.
  • The dimensions laid out in the 2D map didn’t translate well to the skyrails in the 3D level, which were easily adjusted in both mediums.
  • Greyboxing turned up a spot where the player could easily misinterpret environmental cues and miss the police IFF, which is crucial to success. This was also easily fixed with little work lost and a huge amount of potential player frustration prevented.

Here’s the video of progress so far:



If you like what you see here (or dislike, it's all good,) leave me a comment and don’t forget to subscribe to the RSS feed!

09 November, 2010

Little City Mega Update: Part 2, 2D map

The 2D map has undergone some changes and additions:
  • Greyboxing revealed spacing issues with the skyrails, which had to be moved and is now reflected in the map.
  • Based on feedback from potential artist team members, more environmental information has been added. Notably: the crash vector of the pod that brings the player here; traffic flow directions (so parked/crashed cars point the right way in concept art and in the level; the line indicating critical path has better coloring and is added to the map legend; news kiosk locations are added.
  • While greyboxing, I realized that a player might miss the police IFF completely and proceed through this intersection, figuring that they have to make a break for it (see this previous post about why stepping off the sidewalk is a bad idea.) Doing so would lead to being shot at and a locked door. For explorer-type players this probably won’t happen, but others will be frustrated by not knowing how to succeed at their current task.

    (Unclear path – Click image to enlarge)


    This can be fixed a number of ways: 1. move the IFF, 2. move the critical path, 3. provide better environmental cues indicating where to go. Number 1 is out, because I want explorer-type players to feel accomplished in discovering the police IFF and moving it closer might compromise that. Number 3 is out, because a primary goal of this project is to design a solid level without assuming an artist will be involved.

    So, Number 2 it is: I changed the critical path to go through a series of locked doors at the ground floor of the center building while fully blocking off the intersection (which is gated by an old car crash.)

    (Clear path – Click image to enlarge)


    The critical path is now more linear without changing the exploration difficulty, and as an added bonus the knowledge that the police IFF will open locked doors is reinforced.

With no further ado, here’s the latest map version. Enjoy!

(Updated map – Click image to enlarge)


The third and final Mega Update post will have video of the greyboxed level!

08 November, 2010

Little City Mega Update: Part 1, Police bots

This post concerns the police bot AI in Little City. The creation process was helped tremendously by LucidChart and the UDN tutorial chapter on state programming.

I previously talked about the police bots that regulate player movement in Little City. Brief recap: the city is long abandoned, but the automated police still enforce the law. Until the player retrieves the appropriate item, they must still follow pedestrian traffic laws.

Pictured below is a condensed flowchart of the basic bot state machine. It doesn’t contain every single action contained in the code, but describes how the bot behaves.

(AI state flowchart - Click image to enlarge)


In simple English:
  1. The bot remains idle until given a target* (a foolhardy jaywalker.)
  2. Upon target receipt the bot goes to yellow alers. It waits (to give the player a chance to get back on the sidewalk if they stepped off by accident) then checks to see if the target has been unassigned.
  3. If the target is still assigned, the bot goes to red alert. It first confirms the target is good, and that there is a clear line of sight to the target. If the target is bad (either killed or the data is garbage,) it is unassigned and shooting is disabled.
  4. If the target is all good, the bot acquires a shot vector and fires until the target dies or escapes.
  5. If the target manages to hide, the bot stops shooting and a stand down timer starts. The timer will clear and the bot will immediately resume firing if the target re-appears.
  6. If the timer goes off, the bot stops shooting and goes back to yellow alert. A hiding player can safely emerge onto legal ground (a sidewalk or crosswalk with a walk signal.) If the player stays legal, the bot goes idle. If not, the bot returns to red alert.

*Target acquisition is done with trigger volumes surrounding forbidden areas. Stepping in the volume assigns the player as the new target for the bot. Stepping out of the volume unassigns the target. Trigger volume setups can be easily and quickly re-configured in Kismet, while confining the state machine and “tick” (or “frame” or “game loop”) functions to UnrealScript code.

Here’s a video of the bot in action (currently lacking a mesh and appropriate audio:)



The next Little City post will cover updates made to the 2D map, followed by greyboxing. Stay tuned!

08 October, 2010

Critical path and Beat chart

I’ve been sitting on this post for a while, distracted with other stuff. I’m actually partly done greyboxing, but today was sidetracked by setting up an SVN server (VisualSVN + DynDNS.com for the win!) on my computer anyway so the blog gets some time, too.

Computers are fantastic tools for creation, but they aren’t everything. This list was born on a humble yellow legal pad (any debate nerds in the house know what I’m talking about?)

Below is the critical path of the level with notes tracking the beats (action) associated with each event (see the end of this post for some neat graphs.) Formatting is: “Brief description of what player does. Action Result.” Steps in (parentheses) are outside the critical path. Steps in [brackets] are permutations that could be swapped to add or remove tension to the moment, as informed by playtest feedback.

“Action Result” is what I imagine is happening to the action curve, and is described in simple terms like “down” for a falling curve or “neutral-up” for a curve that may increase for some players but remain flat for others. It will obviously need playtesting and iteration to verify.

Level flow:

  1. Establish bearings in alleyway. up
  2. Emerge from alley onto city street. up
  3. (Try to cross the street, get shot at by traffic bot for jaywalking. UP)
  4. Walk up street toward police barricade. neutral-up
  5. Crosswalk to north impassable, wait for walk signal to west. down
  6. Cross street to flashing news kiosk on opposite sidewalk. up
  7. Receive instructions to head to nearest evac point. netural-up
  8. Follow signs to evac. down-neutral
  9. Find Police IFF at evac point. up
  10. (For Explorer-types: news kiosk in front of collapsed skyrail is now accessible. Refers to biological outbreak, evacuation, and quarantine zone. up)
  11. Walk up street toward skyrail terminal visible above car crash. neutral-up
  12. (For Exporer-types: keep walking to the police barricade at the end of the street. Barricade responds to IFF instructing police bot to maintain their patrol of the quarantine zone. up)
  13. Enter rail terminal, use IFF to call stopped elevator to ground level. up
  14. Wait for elevator to arrive. down-neutral
  15. Ride elevator up to Track 1 platform. [glass elevator. up]/[enclosed elevator. down-neutral
  16. Jump from platform down to rail and walk along Track 1. [covered track with walls. neutral-up]/[uncovered track with no walls. up]/[uncovered track swaying in wind, creaking. UP]
  17. Enter covered track section, stop at damaged window before collapsed section. neutral-up
  18. Push out window pane to access Track 2. neutral-up
  19. Fall and land on top of covered section of Track 2. up
  20. Follow Track 2 to office building. neutral-up
  21. Jump down to track and then onto rail platform in office building rail station. neutral-up
  22. Use IFF to access utility stairs next to non-functional elevator. neutral-up
  23. (For Explorer-types: go down the stairs for an easter egg. The cake is a lie? neutral-up)
  24. Climb stairs to roof. down-neutral
  25. Cross roof to pedestrian skybridge leading to central tower. neutral
  26. Cross skybridge, which creaks and groans under weight. up
  27. Skybridge is collapsing! Run! UP
  28. Reach the tower as skybridge collapses and falls to street below. up-UP
  29. Enter the tower. neutral-up
  30. Door slams, lights go out. up

AND SOME GRAPHS!

I assigned numeric value to each beat in Excel and graphed it (UP +2, up +1, neutral 0, down -1.) This graph isn’t scientific; It’s a first draft visualization of this level’s beat chart, to make sure that I’m starting in the right direction. Since most of the events shown above have multiple possible values, I graphed a few ranges.

(Halloween themed beat chart – Click image to enlarge)

  • HI Max running (hollow orange line), running total of highest possible value for that beat.
  • HI Avg running (solid orange line), running average of high values.
  • LO Avg running (solid black line), running average of low values.
  • LO Min running (hollow black line), running total of lowest possible value for that beat.

In simpler terms: solid lines represent projected low and high ranges of excitement, with an attempt to factor in deterioration from boredom, uncertainty about objective, environmental distraction, etc. Hollow lines are the outliers and mostly there for fun. (The hollow orange player is an excitable person, hollow black is asleep or distracted.)

19 September, 2010

Little City: map scale and progression IFF notes

As promised, the police IFF explained:

The original concept for this small game included a block of an abandoned metropolis, so brainstorming included ways to make walking from Point A to Point B more interesting. I looked at ways that other games have gated the player in the otherwise wide-open space of an urban block without traffic flow. Most of the gating I saw involved some combination of collapsed buildings, car crashes, and police roadblocks. These work quite well (I’m using all three!) but I wanted something more.

Another original concept idea was the automation of this abandoned city. I thought of the automated police force, still faithfully enforcing the law, including jaywalking! Even though the player can see the other side of the street, they still have to use crosswalks or risk consequences. I’ve explored this idea as a means of creating tension (setting up a goal for the player) while guiding the player along the critical path.

Thinking as a player, though, waiting for walk signals is going to get boring. Being forced to use the sidewalk is a novelty; We take crossing the street for granted, but this limitation doesn’t support gameplay or the story. This got me thinking: What can the player do within this story world to empower themselves and solve this problem? They could always disable the police bots on the street, but I want to avoid the “go here, press a button, you win” or “go here, shoot stuff, you win” mechanic in this situation.

So what do we have to work with? An automated city, that is abandoned, that has been abandoned for a long time. In the absence of caretakers, even the most robust machines break down. I got the idea of a broken police bot with exposed IFF circuitry that the player can find/be guided to and extract. IFF – Identifcation Friend or Foe originally refers to radio transponder systems used to positively identify friendly military units from a distance. Possessing the IFF, the police bots now view the player as one of their own. The player can jaywalk in peace, as well as access new or restricted areas.

Coming up next: part 2 of my Kane and Lynch 2 breakdown, followed by the step-by-step level flow and beat chart (a.k.a. “action curve”) of Little City.

28 August, 2010

Little City Update: map scale and progression

Note: I’m switching to mostly present tense. Writing these posts in past tense, while chronologically accurate, feels weird; like referring to oneself in the third person. Nathan had a substitute teacher in third grade that did that. He found it unsettling.

So, with the basic layout settled, I am dying to visualize things a bit. I also want to get a feel for the scale of the environment. My main concern is verifying the scale of the central skyscraper versus the triangular park to the north. I fired up UDK for a basic scale test using BSP and stock materials. The layout is a good start, though the scale may be too small. This map will later serve as a jumping off point for greyboxing.

(Perspective view - Click image to enlarge)

(Top orthographic view - Click image to enlarge)


Now it’s time to start thinking about flow and traversal. Since I don’t yet share payroll with writers, concept artists, and programmers, my goal is to design and build a mechanically solid level while introducing minimal story or complex gameplay.

In terms of drama, here’s my starting line: the theme, an abandoned city under automated lockdown; a plot goal, escape the city somehow; the level objective, Get To Point B. To help myself focus, I brainstormed very simple mid-level objectives for the player that take advantage of the map’s topography and fit with the dramatic elements listed previously.

Here’s the list:
1. Emerge from starting alleyway (Ground level)
2. Take Police IFF device find (Ground level)
3. Take elevator to skyrail metro station (Ground level to mid elevation)
4. Jump from Track 1 (broken track) to Track 2 (Mid elevation)
5. Follow Track 2 south into the building (Mid elevation)
6. Take the elevator from the platform to the roof (Mid to high elevation)
7. Cross from that building to the central building using the skybridge (High elevation)

Step 2, the Police IFF, will be expanded on in a later post. Step 4 was in my head from almost the beginning when I was thinking of how to gate the city streets without duplicating the same police barrier or car crash. Forcing the player to drop down or fall is a classic gating technique that I’m approaching from the perspective of this story world.

Here is the flow mapped out in Illustrator as a green line:

(Click image to enlarge)


It’s a work in progress. I still haven't decided on how to gate the player from traveling north on Track 2. Possibilities include track damage, a stopped train, a physical gate on the track (perhaps a Stop sign for the train operator,) or rubble from the collapse on Track 1.

The next post will talk about issues of level flow (mainly critical path and action curve.) Also coming soon: design comments on Kane & Lynch 2.

18 August, 2010

Little City Double Update!

I've been without home internet access for a bit, so this post is a double update to include back content. So long, Starbucks, and thanks for all the internets.

Here’s the very first concept work done in Illustrator:

(Click image to enlarge)


This establishes a very basic layout. It isn’t meant to be a readable map yet, since there’s no scale or significant content. It’s a springboard for brainstorming.

I’ve been switching between pen & paper and Illustrator to help flesh out the space and environment. Seeing the actual environment in some form helps change my perspective and keep creativity flowing.

(Click image to enlarge)


I wanted to experiment with the skyrails around the central tower. Birds-eye isn’t the player perspective, but it’s helpful in creating basic global level flow. I decided I wanted the player to enter the tower via a skybridge connecting to a nearby building. Working backward yielded a sequence: ride the elevator up to the skyrail terminal, get on the tracks, fall from one skyrail down to the other, follow that track inside the building and get to the roof. At this point, the “why” isn’t important. I’m approaching the “how” just to have some content to bounce off of. If this configuration doesn’t fit the story or gameplay it can still be changed in the design phase.

Back in Illustrator, things are getting a bit cluttered with building details and the skyrails:

(Click image to enlarge)


My solution was to change the tone of overlapping objects to indicate their elevation, darker objects being higher up. This de-emphasizes unimportant buildings but also provides a physical cue our brains, which expect farther objects to be lighter due to atmospheric haze. It’s a small detail, but helps readability with no extra work. Thus, the basic area map is finished.

04 August, 2010

Little City Update

I started with a single city block and built out. Required elements for this design include: a central building which serves as primary focus for the level, vertical traversal, and a feeling of largeness and urban sprawl without exceeding the scope of the project.

Here’s my very first pen & paper work, just to get started.

(Click image to enlarge)


The same day, Lindsey and I talked about the basic design using a chatroom with drawing functionality (shown below.)

(Click image to enlarge)

03 August, 2010

Project Intro: Little City

Little City is the working title of a small, simple level built in Unreal to showcase my design and world building skills and the environmental art skills of my friend and colleague, Lindsey Anderson. This exercise starts with a simple idea and will end with a playable level, published using the Unreal Development Kit.

The elevator pitch: you have woken from a crash-landing in a city. The city appears uninhabited except for the automated systems which continue to function, oblivious. Signs point to an emergency of some kind. Robotic police still patrol quarantine barriers, though the overgrown vegetation and apparent disrepair of the city suggest that no one has been here for a long time. You must find a way out.

The project is currently in early design stages and will be documented here until it is finished or until I find a game studio job.