• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 05:39
CEST 11:39
KST 18:39
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Code S Season 1 - RO12 Group A: Rogue, Percival, Solar, Zoun11[ASL21] Ro8 Preview Pt1: Inheritors16[ASL21] Ro16 Preview Pt2: All Star10Team Liquid Map Contest #22 - The Finalists21[ASL21] Ro16 Preview Pt1: Fresh Flow9
Community News
2026 GSL Season 1 Qualifiers25Maestros of the Game 2 announced92026 GSL Tour plans announced15Weekly Cups (April 6-12): herO doubles, "Villains" prevail1MaNa leaves Team Liquid25
StarCraft 2
General
Code S Season 1 - RO12 Group A: Rogue, Percival, Solar, Zoun Team Liquid Map Contest #22 - The Finalists Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool MaNa leaves Team Liquid Maestros of the Game 2 announced
Tourneys
GSL Code S Season 1 (2026) SC2 INu's Battles#15 <BO.9 2Matches> WardiTV Spring Cup RSL Revival: Season 5 - Qualifiers and Main Event SEL Masters #6 - Solar vs Classic (SC: Evo)
Strategy
Custom Maps
[D]RTS in all its shapes and glory <3 [A] Nemrods 1/4 players [M] (2) Frigid Storage
External Content
The PondCast: SC2 News & Results Mutation # 523 Firewall Mutation # 522 Flip My Base Mutation # 521 Memorable Boss
Brood War
General
Pros React To: Leta vs Tulbo (ASL S21, Ro.8) ASL21 General Discussion [TOOL] Starcraft Chat Translator JaeDong's ASL S21 Ro16 Post-Review Missed out on ASL tickets - what are my options?
Tourneys
Escore Tournament StarCraft Season 2 [ASL21] Ro8 Day 2 [ASL21] Ro8 Day 1 ASL Season 21 LIVESTREAM with English Commentary
Strategy
Fighting Spirit mining rates Simple Questions, Simple Answers What's the deal with APM & what's its true value Any training maps people recommend?
Other Games
General Games
Daigo vs Menard Best of 10 Stormgate/Frost Giant Megathread Nintendo Switch Thread Dawn of War IV Diablo IV
Dota 2
The Story of Wings Gaming
League of Legends
G2 just beat GenG in First stand
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia Mafia Game Mode Feedback/Ideas TL Mafia Community Thread Five o'clock TL Mafia
Community
General
US Politics Mega-thread European Politico-economics QA Mega-thread Russo-Ukrainian War Thread 3D technology/software discussion Canadian Politics Mega-thread
Fan Clubs
The IdrA Fan Club
Media & Entertainment
[Manga] One Piece Anime Discussion Thread [Req][Books] Good Fantasy/SciFi books Movie Discussion!
Sports
2024 - 2026 Football Thread McBoner: A hockey love story Formula 1 Discussion
World Cup 2022
Tech Support
streaming software Strange computer issues (software) [G] How to Block Livestream Ads
TL Community
The Automated Ban List
Blogs
Sexual Health Of Gamers
TrAiDoS
lurker extra damage testi…
StaticNine
Broowar part 2
qwaykee
Funny Nicknames
LUCKY_NOOB
Iranian anarchists: organize…
XenOsky
Customize Sidebar...

Website Feedback

Closed Threads



Active: 2533 users

An Inside Perspective

Blogs > memcpy
Post a Reply
memcpy
Profile Blog Joined April 2010
United States459 Posts
Last Edited: 2012-12-17 06:24:51
December 17 2012 06:23 GMT
#1
[image loading]


Preface: This is my first blog on TeamLiquid. Today I’ll be writing about a game I worked on called Perspective, which you can download for free on http://www.seewithperspective.com. If you haven’t played it yet, or at least seen a video I suggest you do so before reading. The rest of this post is a summary of my journey, from concept to finished product, of a game that I have spent countless hours working on and the process involved. I have nothing to gain monetarily from this as all the games described below were created as free to play student projects.

It all started nineteen months ago. Spring semester of my sophomore year at DigiPen had just ended. Having just finished my first year-long team game project I was quite disappointed with the result. The game, Barry’s Magical Spacecapade was complete, but nothing more than a generic 2D platformer with mediocre graphics and gameplay.

[image loading]
Barry’s Magical Spacecapade


I knew I was capable of doing better, and hoped to find a team that shared my dedication to making games. Junior year would be the most important year as a game team, as seniors are typically busy with internships or job hunting to work on another year-long project. The school had also just awarded their game of the year award to Nitronic Rush, easily the best DigiPen game to date in terms of gameplay, graphics, audio, and just about everything else. To say the bar had been raised was an understatement and the idea of creating something to surpass Nitronic was daunting.

[image loading]
Nitronic Rush


During the final week of the semester, I asked one of my teammates what this plans were for the fall. He told me that he had already found a new team. Three of the four members of the team that created Nous, an IGF 2011 student game finalist and best sophomore game of the year, were already forming their new team for the fall. I realized this was the opportunity I was looking for and talked with them about joining. At first they weren’t too interested, telling me that the core team roles had already been filled and weren’t exactly sure what I would be doing. I suggested that I could work on tools, as it’s something I had enjoyed doing in the past. They had also seen the relatively impressive editor I had made for my freshman year project. A few days passed and I was informed that they would like to have me on board.

[image loading]
Nous


Design meetings began in the summer. Essentially the plan was to meet at school every week, whiteboard marker in hand, and come up with game ideas. The original plan was to make some sort of halloween themed racing game, however the idea didn’t evolve past a basic art direction before it was tossed aside. We talked about our goals and expectations for our Junior game and decided to make something that would be a worthy successor to Portal in terms of innovation and would have the potential of catching the interest of Valve and IGF. Two previous DigiPen teams were hired straight out of college for making Narbacular Drop and Tag, which later had their core mechanics incorporated in Portal 1 and 2 respectively. We hoped to follow in their footsteps.

[image loading]
Narbacular Drop


We began brainstorming ideas for a 3D puzzle game. One suggestion involved using a camera and projector pair in order to project one section of the world into another. We decided that it was a neat idea, but way too similar to Portal. However, that led us to discuss various world-manipulating puzzle ideas and we eventually came up with the idea of generating a 2D world from the projection of a 3D first-person camera. The idea was intriguing, but incredibly difficult to visualize. At this point, the whiteboard became essentially useless for describing the gameplay, as it involved the manipulation of 3D shapes. We soon found ourselves moving our hands around like a viewfinder at different angles to demonstrate new puzzle ideas.

[image loading]


Since we would be building the game engine completely from scratch in C++ and DirectX, we didn’t have the luxury of prototyping and testing puzzles early to see if the game concept even worked or if the mechanic was too powerful. We decided to use Google Sketchup to at least build the levels so that we could visualize a 2D player navigating his way around a 3D environment.

[image loading]
Google Sketchup Level Prototype


It wasn’t until around October or so that the graphics and physics were in place to implement the projection of a 3D scene into 2D. The initial method for creating the 2D world involved manually projecting the visible scene geometry and using a triangle splitter to create convex shapes which could be used by the physics system. This method turned out to be too problematic as it was slow for real-time projection and there were a ton of edge cases (literally) that were difficult to deal with. The second and final approach involved assigning IDs to each of the objects and rendering the scene to a texture using those IDs. We were then able to use the texture as an extremely fine tile map for the 2D player.

For our initial school presentation, we wanted to disguise the game as a 2D platformer. A simple level was created with platforms arranged in a similar manner to that of the original Donkey Kong. However, once the player made it to the top and collected an object, the camera rotated, manipulating the previously disjoint and angled platforms to create a single path toward the goal and revealing that the world had been 3D all along. The final version of this level can be seen towards the beginning of the finished game.

Soon after this presentation, three artists, a level designer and a music composer were added to the team. The same artists and composer had previously done work for Nitronic Rush and once they saw the game prototype were immediately hooked. Our next major task was to come up with a concrete theme so that we could spend the next semester generating art assets. Finding a theme that was both interesting and made sense in terms of gameplay was one of the most difficult tasks encountered on this project. We eventually settled on a space theme because it was simple and gave us an explanation for having floating objects, something which at the time we thought would be important to level design. The space theme stayed throughout the remainder of the project, but the overall theme of the game evolved into something different entirely. More about that later.

[image loading]
First Level in Editor


The next milestone was “First Playable” and our goal was to create a full level which would teach the player different ways to use the perspective mechanic in order to reach a goal. The original levels are far from what’s seen in the final game, where each mechanic is split up into separate levels. Instead, we had a single level with multiple puzzles in sequence. It was incredibly difficult for players to understand. Oh, and we also had pipes!

[image loading]
First Playable


Initially the 2D player would walk on black objects, usually pipes or panels affixed to walls. Additionally, the player would die to red objects, which were added after we realized that black objects were not enough to constrain player movement and would in fact simply allow them to use the blockades as new platforms from a different angle. After a few months of designing levels, we realized that using real objects to create puzzles and keeping the graphics simple enough to where the player could understand what was “black” or “red” was going to be a problem. We decided to fix both problems at once by creating new objects known internally as “hypercubes”’. These hypercubes would be blue and red boxes which could be scaled and placed anywhere in the levels as we saw fit. Because they were not a part of the actual world, the hypercubes could be placed anywhere in the level and still make sense, giving us the flexibility needed to create whatever puzzles we wanted. The hypercubes were also made to be visibly distinct so that the player would know for certain which objects were platforms and which objects would kill them.

[image loading]
Hypercubes


At the end of my Junior year Perspective was already a solid student game, spanning over 20 levels and earning us DigiPen game of the year. I don’t recall us ever making a formal decision to name the game Perspective, it just sort of happened and the name stuck. By the end of the school year we already decided to spend another semester on the game and use the first few months of the summer break to prepare Perspective for PAX and various other competitions and shows.

About a month into summer, the team was caught entirely by surprise. The originally trailer for Perspective went viral, ranking #1 on the front page of reddit after being posted in /r/videos and eventually made its way onto various news sites. The part that surprised us the most was that we never actually released a “trailer”. The video was a gameplay clip from our final presentation at school and had been posted on the DigiPen youtube channel a week later. Either way, seeing the positive responses was extremely motivating and really helped us get the game to where it is today.


Original "Trailer"


However, the game was far from complete in our eyes and after taking a break in August, we went straight back to work on the final version. While we kept the space assets and a handful of puzzles, just about everything else was created in the fall, including a new character, new levels, and the “Arcade” hub worlds.

The 2D character, nameless in the game but referred to internally as “the Avatar”, was initially a series of hand drawn sprite animations. His infamous jump animation was a hot topic among viewers of the trailer, noting the striking resemblance between his jump and that of another blue hero. Some even claimed that the animation was a direct spritesheet rip that had been drawn over.
Regardless, we knew the character had to be redone. This time we decided to go with a cleaner look by rendering the player in 3D and taking screen captures for each frame. Fun fact, this was actually the method used by Blizzard when making units and characters for the original Starcraft and Diablo II.

[image loading]
[image loading]
[image loading]
Top to Bottom: Megaman, Original Drawn Character, Final 3D Character


During the fall, most of the levels were redone from scratch. Puzzles were merged, reordered, split up, or removed altogether. Over two-hundred hours of formal and informal playtesting helped us iterate level design and fix bugs, leaving only the best for the final build. Over 100 level were created in total but the final game shipped with around twenty or so. We wanted to create a short but sweet gaming experience that slowly revealed different ways to use perspective and ended with a culmination of everything the player had learned.

The Arcade hub was actually more of a design choice rather than a thematic one. One of the problems we encountered with the earlier versions of Perspective was that each goal would be followed immediately by the next level. The game seemed repetitive and players had no way of knowing when it would end. We thought the hub world would be cool because not only does it provide the player with a sense of progression, but it also presents a subtle narrative and allows the 2D player to follow you seamlessly from one level to another.

[image loading]
The Arcade Hub


December was quickly approaching and one of our final tasks was to create an ending for the game. The goal was to create some sort of relationship between the player in real life and the 3D character, just as there’s a relationship between between the 3D character and the Avatar. I’m not going to spoil the ending for those who haven’t yet played the game, but I just want to say that it was impossible to test in a formal playtesting session. We took a huge gamble with the ending and if you feel like checking it out for yourself I guarantee that you will be pleasantly surprised.

I just want to conclude by saying that I’ve been incredibly fortunate to work with a group of such talented and passionate individuals. Ever since I started using the Starcraft map editor in elementary school, it has been a goal of mine to create a game which could be enjoyed by thousands of players. It’s been over ten years since then and now I can finally say that I have accomplished my goal.

Please feel free to ask me anything!

*****
LeafMeAlone
Profile Blog Joined November 2010
United States301 Posts
Last Edited: 2012-12-17 06:46:10
December 17 2012 06:44 GMT
#2
Looks nice

I know CecilSunkure goes to Digipen too
~_~
mizU
Profile Blog Joined April 2010
United States12125 Posts
December 17 2012 10:14 GMT
#3
Holy shit! I saw the trailer for this when I was super baked and I was tripping balls! So exciting!!!
if happy ever afters did exist <3 @watamizu_
docvoc
Profile Blog Joined July 2011
United States5491 Posts
December 17 2012 14:10 GMT
#4
I'm much less into the kind of fake-ish 3d than I am into different styles of art direction, that said this looks great. It looks like you've put a LOT of thought into it, especially with the narbacular drops, that takes not just a lot of puzzle game knowledge but also shows that you know what people have loved from previous games and made it your own. Very well done.
User was warned for too many mimes.
Mementoss
Profile Blog Joined February 2011
Canada2595 Posts
December 17 2012 14:43 GMT
#5
This game looks amazing, congrats!!
http://www.youtube.com/watch?v=uu96xMwFVXw
CecilSunkure
Profile Blog Joined May 2010
United States2829 Posts
Last Edited: 2012-12-17 18:04:28
December 17 2012 17:57 GMT
#6
On December 17 2012 19:14 mizU wrote:
Holy shit! I saw the trailer for this when I was super baked and I was tripping balls! So exciting!!!

Oh my god lol

Also great blog sean, was looking forward to reading the entire thing once it was up. Is there a correlation between "the avatar" in 2D and a certain movie that recently came out, featuring blue avatars? It seems like you guys just copied them or something for your 2D character... No I'm just kidding

But seriously the megaman jump was the best.
hp.Shell
Profile Blog Joined April 2010
United States2527 Posts
Last Edited: 2012-12-18 05:48:46
December 18 2012 05:47 GMT
#7
This game just gave me a MASSIVE brainmelt... wow! I hope you get to develop some amazing game at a proper studio, maybe something in the Perspective "franchise" .... go make millions Widdershins team!
Please PM me with any songs you like that you think I haven't heard before!
CecilSunkure
Profile Blog Joined May 2010
United States2829 Posts
January 02 2013 12:39 GMT
#8
Just bumping because of how awesome of a game it was, and good blog too!
TylerThaCreator
Profile Blog Joined May 2011
United States906 Posts
January 02 2013 15:52 GMT
#9
Really cool blog, didn't know that you were not only talented at sc2 but also at programming stuff!
aka SethN
]343[
Profile Blog Joined May 2008
United States10328 Posts
January 02 2013 18:50 GMT
#10
wow, amazing work! I didn't understand what was going on from the description, but the video cleared up what you meant by "projection" :O
Writer
CecilSunkure
Profile Blog Joined May 2010
United States2829 Posts
January 02 2013 21:53 GMT
#11
On January 03 2013 03:50 ]343[ wrote:
wow, amazing work! I didn't understand what was going on from the description, but the video cleared up what you meant by "projection" :O

Yeah it really is a hard game to describe isn't it?
Please log in or register to reply.
Live Events Refresh
Replay Cast
09:00
PiGosaur Cup #72
CranKy Ducklings64
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
ProTech140
Nina 63
StarCraft: Brood War
Sea 2771
Mind 717
firebathero 671
Shuttle 544
Hm[arnc] 357
actioN 233
Leta 177
Stork 152
Killer 118
Sharp 105
[ Show more ]
Hyun 75
Soulkey 69
Hyuk 68
ToSsGirL 55
Zeus 54
NotJumperer 34
Bale 33
yabsab 24
Nal_rA 22
hero 18
sSak 15
zelot 14
Terrorterran 13
Shinee 12
Rush 12
Backho 12
910 10
ZerO 9
ZergMaN 9
ajuk12(nOOB) 8
Sacsri 6
EffOrt 1
Dota 2
resolut1ontv 1069
monkeys_forever422
XcaliburYe303
League of Legends
JimRising 536
Counter-Strike
shoxiejesuss1850
Stewie2K1291
Other Games
summit1g7029
singsing850
ceh9601
crisheroes180
NeuroSwarm127
Livibee85
MindelVK6
ZerO(Twitch)6
Organizations
Other Games
gamesdonequick503
Dota 2
PGL Dota 2 - Main Stream214
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 14 non-featured ]
StarCraft 2
• CranKy Ducklings SOOP4
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• TFBlade1314
• Jankos950
• Stunt695
Upcoming Events
Escore
21m
INu's Battles
1h 21m
Classic vs ByuN
SHIN vs ByuN
OSC
3h 21m
Big Brain Bouts
6h 21m
Replay Cast
14h 21m
Replay Cast
23h 21m
RSL Revival
1d
Classic vs GgMaChine
Rogue vs Maru
WardiTV Invitational
1d 1h
IPSL
1d 6h
Ret vs Art_Of_Turtle
Radley vs TBD
BSL
1d 9h
[ Show More ]
Replay Cast
1d 14h
RSL Revival
2 days
herO vs TriGGeR
NightMare vs Solar
uThermal 2v2 Circuit
2 days
BSL
2 days
IPSL
2 days
eOnzErG vs TBD
G5 vs Nesh
Patches Events
2 days
Replay Cast
2 days
Wardi Open
3 days
Afreeca Starleague
3 days
Jaedong vs Light
Monday Night Weeklies
3 days
Replay Cast
3 days
Sparkling Tuna Cup
4 days
Afreeca Starleague
4 days
Snow vs Flash
WardiTV Invitational
4 days
GSL
4 days
Classic vs Cure
Maru vs Rogue
GSL
5 days
SHIN vs Zoun
ByuN vs herO
Replay Cast
6 days
Liquipedia Results

Completed

Proleague 2026-04-29
WardiTV TLMC #16
Nations Cup 2026

Ongoing

BSL Season 22
ASL Season 21
CSL 2026 SPRING (S20)
IPSL Spring 2026
KCM Race Survival 2026 Season 2
Escore Tournament S2: W5
KK 2v2 League Season 1
StarCraft2 Community Team League 2026 Spring
2026 GSL S1
BLAST Rivals Spring 2026
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026

Upcoming

Acropolis #4
BSL 22 Non-Korean Championship
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
Maestros of the Game 2
2026 GSL S2
RSL Revival: Season 5
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.