Recently I posed a series of questions to the various modding communities that use Valve's Hammer Editor to create environments, levels, maps, and campaigns. I want to thank that entire group of 46 participants that submitted a response to the survey (the full list is at the bottom with website links) and I will conduct more surveys in the future. The answers below are just some of the highlights that I selected to share, and in cases where the same answer appeared frequently between participants I made a note of it.
How long have you been using the Hammer editor?
Experience of participants ranges from 1 month to 16 years (including WorldCraft experience).
What projects have you created using the editor?
The most commonly mentioned games were Left-4-Dead 1/2, Counter-Strike: Source/Global Offensive, Half-Life 2, and Team Fortress 2.
For people just starting with the editor what key pieces of advice can you offer them?
What do you find to be irritating when using the editor?
If you could add one feature to the editor what would it be?
Overwhelmingly, the most popular response to this question (43% of those surveyed) was the desire to have some form of real-time preview mode so that designers can properly see the lighting of their environment without having to compile.
When preparing to start a new map/level/campaign how do you start?
The answers to this question ranged from no 'preparation work at all' to a very robust process of pre-production.
What is an important and often overlooked element in map making?
The most popular response to this question, by far, was lighting.
What is your work process like?
Any funny or crazy editor stories to share?
The majority of responses involved some form of corrupted or lost files.
If you have ever collaborated with other developers please share your experience.
Have you ever used any other level editors? If yes, which ones and how do they compare?
The most commonly mentioned editors in this response were Unreal/UDK, CryENGINE/Sandbox, & Unity.
Do you have any interesting Easter eggs in any of your designs?
Survey group: TZK203, internethandle, Filip, novalin, Punishment, Wouter Pleizier / Blueberry_pie, Jacol, George "Noface" Campbell, Bernt Andreas, Brickinator, marnamai, Arran Seaton, David Zetterdahl "LordDz", SM Sith Lord, Ark11, Nijbu, Nicole, Rectus, Hopna, Jess Nielsen, Oliver "FRAG" Curtis, Garrador, The_Blazer, DerpyBlade or Alex, HoliestCow, Peter Brev, unknown, SotaPoika, Text_Fish, Mr Funreal, Roflmahwafflz, Fauckers, Rev_deaddiet, insane3004, someone, Marcy, Sam Morris, Leafo, Devieus, 4echo, Element, needadonut, Dan, BlazingOwnager, RainingMetal, & RuninWivSizors.
OK, I will admit, "fan" might be a bit of a stretch here, which the dictionary defines as "an ardent admirer or enthusiast", neither of which I can prove the posters of these screenshots are. Nonetheless, these images were posted by Tour of Terror players on Steam, and I would like to share a few of my favorites.
I am pleased to announce that Tour of Terror, my custom campaign for Left-4-Dead 2, has received over 1 million downloads as of 6/3/13. Thank you to those of you that supplied some of the textures and artwork, all the players that provided feedback back when it was in Beta, and to anyone that has enjoyed the Eastern European experience.
Today I am joined with Anders Fray, creator of the Left-4-Dead 2 map The Final Cut and world builder for Forge. You can find more details on his other projects on his website.
Brian Riggsbee: How did you get started in game development?
Anders Fray: My first game development experience would be making maps for the demo of Delta Force 2 (released 1999). DF2 was the first online FPS that I had ever played, and I had a blast. The maps were infinite in size because of the tiling landscape which was used, so you could be a badass sniper from hundreds of meters away. Learning to arch and lead your bullets far ahead of your enemy was a necessity, as there would be epic sniper battles from one hill to the next. Seeing an FPS multiplayer map with an infinite size was pretty amazing to me, and it helped to further spark my interest in the genre. The limiting aspect of making maps for the demo of DF2 was a fun and rewarding experience. Because it was the demo, the tools and assets I had to work with were of a limited nature. This forced me to get creative and explore what I could accomplish with limited choices. The level maker was very simple, with just an overhead view of the map. There was only one landscape to build on, and only a couple assets to use in total. There was a very simple logic system which allowed for some basic gameplay scripting, but I didn't know much about it so it wasn't used in many of my maps. Including the full version of the game, I probably made over fifty maps for the Delta Force 2 series. I actually have screenshots of 37 of my demo maps over on my own blog, if anyone is curious to what my first ever maps looked like.
I had an amazing time making maps for the demo of Delta Force 2, as the community was small and most people knew each other. Making a map for a game which you love to play, and then showing it off to your online buddies is a very rewarding experience. My love for DF2 helped push me in to learning how to create more things on the computer, such as making websites for my DF2 maps, and making Flash website intros for clans that I played with. On the link I just posted, there is an example of some of the horrible Flash work I did back in high school (everyone has to start somewhere!). It is an FPS game I tried to make in Flash using a combination of 3ds Max, Flash, and Swift 3d.
BR: What are some of your favorite past projects and why?
AF: As mentioned before, definitely making maps for Delta Force 2. Having control over my gaming experience was a wonderful thing to experience during high school, as it helped to give me direction during that time with the end result being myself getting a degree in game design, leading to my first job in the video game industry.
My second memorable project would have to be a character rig I made during school at The Art Institute of Portland. After my second character rigging class I polished up one of my projects and uploaded it to creativecrash.com (formerly highend3d.com). It was a character rig named “Chip”, who was very plump and comedic in nature. The character amassed a good 35,000 downloads or so, and was animated by students and professionals from all over the world. Every now and then I would have an animator e-mail me about their usage of my character, and it was very rewarding to see how grateful people were to be able to animate the character for their personal projects. Near the end of my time at The Art Institute, I discovered that he was animated in a popular SIGGRAPH animation competition by a couple of teams participating. Much like my Delta Force 2 maps, it was great to see people enjoy and be grateful of the work and effort I had put forth in to my digital projects.
My third very memorable project would be one which I worked on professionally: Kinect Adventures. During my time at Liquid Development I worked on a variety of projects. Some of those projects lasted for longer then the work I did on Kinect Adventures, but Kinect Adventures is one which I can remember well for the fun I had. The main thing I did was Unreal Integration, which would be the importing/integration of artist's content in to the game (models/textures). Even though a lot of what I did on Kinect Adventures could be described as tedious (Unreal Integration, fixing bugs, cleaning up sloppy artists' work), my over-arching experience was a very positive one. A large amount of my co-workers were all on the Kinect Adventures project, so there was a lot of collaboration and comradery between everyone. Stepping in to the side office to have a quick River Rush competition was a common occurrence. Working on Kinect Adventures was also the first time I ever went on a business trip. That trip included going up to Microsoft Game Studios to assist them in optimizing the game, and then on a 2nd occasion to fix a backlog of bugs which were being neglected. Collaborating with new people in a new work environment helped to show me the possibilities of what a video game studio can be.
My fourth memorable project would have to be The Final Cut for Left 4 Dead 2, as the map helped me to acquire a World Building / Level Design job at a different video game studio, SuperGenius. As I found myself wanting to expand my horizons and move on from Liquid, I went on unemployment and started searching for jobs. I filled most of that time with working on The Final Cut, and also playing a LOT of Mount and Blade: Warband (Native Module). I know it doesn't really look like it, but a good 1000 or so hours went in to the production of The Final Cut. A lot of that time was spent searching for information about Source to troubleshoot issues with the map, and to figure out how to make certain things, such as a working elevator. I worked on the map for a year to year and a half, and it ended paying off with the World Building job that I have now. That time wasn't entirely spent working on The Final Cut, but a good chunk of it sure was. It has been very rewarding to see how many people have downloaded and enjoyed playing my map, since I am used to not seeing so much usage and feedback/comments directly relating to my work.
BR: I originally ran into your work while playing your L4D2 map The Final Cut. Tell us what the theme means to you and why you selected it. Is it based on a real place?
AF: To be frank, the theme of The Final Cut doesn't mean all that much to me. I think I ended up creating a theater map due to not having any better ideas. It just made sense to make a theater map for L4D2. After working on The Final Cut for a good while, I discovered that there had already been a popular theater map made for Left 4 Dead 2 (I can't seem to find it on L4Dmaps.com), and I was a little disappointed. I kept chugging through production though, since I was already a ways in. For some reason I thought I was being original.
BR: Why L4D2? What drew you into that series?
AF: L4D and L4D2 were the first FPS games which I played where both teams were of a distinctly different nature with different mechanics and gameplay. I have always loved first person shooters, ranging from the original Wolfenstein, to Duke Nukem 3D, Goldeneye (N64), Delta Force 2, Global Operations, Call of Duty 1 and 2, etc... and the L4D series showed me a new way of looking at the FPS genre. The early days of L4D was a very cool time for me. I remember my first “Oh shit!” moment when I battled a Tank for the first time. Everyone was running around chaotically freaking out, because nobody knew how to coordinate together to take him down easily (hilarious stuff!). The early days of L4D were some of the most fun for me, as I was still very new to the mechanics. While I did have a lot of fun with L4D2 also, the game felt more of a grind then anything, as I knew what to expect and how to counter it. I did have a lot of fun playing with some old clan mates of mine doing some competitive Scavenge, but that died off relatively quickly when everyone decided to stop playing that game mode.
BR: What are you working on now?
AF: Nowadays I am making maps for an indie game called Forge, using the Unreal III engine. It is a pretty amazing PvP game at its core, but still has a ways to go before the game establishes itself in the PvP scene. The next couple of patches for the game will address some of the largest glaring omissions in the game, such as the lack of a server browser. The game will continue to grow as production cruises along, and will eventually turn in to a full-fledged awesome PvP experience.
BR: What are some of the biggest differences about mapping in Unreal v. Hammer/Source? What’s one thing you find to be painful or difficult about working in each?
AF: I haven't touched the Source engine in a while, so I may be a little off on my recollection. The Hammer World Editor is a bit of a challenge to use. There isn't as much information on the internet about the level editor as there is for Unreal III. This can be an extreme nuisance when trying to teach yourself to use the editor, as you will be sifting through the Source wiki and every forum you can find on the internet that has any information about using the Source engine. The video tutorials on YouTube are quite scarce and not every helpful also. Some of the issues I had on The Final Cut took months to troubleshoot because of this fact. The more specific of a question or issue you have, the harder the answer will be to find.
Making maps in The Hammer World Editor tends to consist move heavily of brushes then Unreal. Brushes are just primitive shapes (boxes, cylinders) which you piece together in a lego-like fashion within the editor to lay the foundation for your map. While Unreal also makes use of brushes, most game companies which use the engine these days tend to use them sparingly. The foundation of Unreal games consists more of terrain/landscape and static meshes. Hammer's asset/content browser is quite crude in nature and unintuitive, whereas Unreal's browser is very user friendly. The integration of assets (static meshes, textures) is also an unnecessarily complicated process in Hammer compared to Unreal. I worked on a source MOD project during school, and during that time I integrated a lot of assets in to the game. The process was not intuitive in any way shape or form. I suppose if I wanted to simplify my answer to this question, it could be summed up very easily:
Source engine / Hammer World Editor = not very intuitive and user friendly (less support and information)
Unreal Engine = much more intuitive and user friendly with more next-gen features/technology (with more support and information)
The Unreal Engine is a widespread engine that many companies use to make video games, whereas Source is not.
BR: What unreleased games are you looking forward to?
AF: I am very very bad at following video games nowadays. I tend to get caught up in my work and stick to a single PC game for a long period of time: my last game being, Mount and Blade: Warband. There isn't any particular game I am waiting to come out. At the moment I am playing a lot of Forge: trying to keep ahead of the curve while staying a part of the community so that I am able to fix the issues in the game and make maps that compliment the mechanics of the game.
BR: What is a game that stands out to you from your childhood that had a big impact on you as a developer?
AF: Now that I think of it, I think Goldeneye for the Nintendo 64 had a pretty big impact on me as a developer. I remember the excitement of getting an N64 for Christmas, as I had two older brothers to play with. I think our constant multiplayer action and competitiveness towards each other helped fuel my interest for first person shooter video games. The complexity of interaction between people in a fun multiplayer environment can be an amazingly fun experience. It can also be a very stressful thing. I hope to work on more video games in the future which help redefine the typical FPS experience.
Today I am joined with my first of many guests, R.T Frisk, creator of the popular Left-4-Dead 2 campaign Suicide Blitz 2. You can download his campaign at l4dmaps.com and find more information on his website.
Brian Riggsbee: How did you originally get involved in game development?
R.T. Frisk: Well, it all started with Doom 3 actually. I fired up those tools not knowing what to expect, and ended up making my first room out of some gooey, flesh looking walls. Not as gratifying as I had hoped. Pretty crappy actually but it did open the door of mapping to me. After that, I did some mapping in Battlefield 2, F.E.A.R. and Crysis. I did these mostly to write tutorials for others.
BR: What are some of your all-time favorite games?
RTF: Let's see: Half-Life series, Starsiege Tribes, Asheron's Call, Portal series, Battlefield 1942, and Psychonauts just to name a few!
BR: What about L4D/L4D2 drew you into playing them, initially?
RTF: Zombies and co-op! When I first heard that this was going to be a reality, I was immediately hooked. Not to mention the great atmosphere they created with No Mercy when I first played the demo. It didn't take much, I was hooked very quickly.
BR: Tell us a little bit about your inspiration for Suicide Blitz 2. Is it based on any real locations?
RTF: In between all the games I mapped for previously (and Left 4 Dead), I tinkered around with Source quite a bit. Made some CS and Half-Life maps mostly for fun. So when I heard that there was a zombie co-op game coming out, I KNEW I needed to map for it. When I started on Suicide Blitz for L4D, I just wanted to make an urban style map with some locations that had some familiarity. So Suicide Blitz started out pretty basic. Basic city, and some underground parts not too different from the original L4D series. This always bugged me, so when I heard about L4D2 coming out, I knew I could go back and really spruce up my campaign how I originally wanted to. So with that in mind, I went through every single map and revamped it. There are definitely some real-world references in the campaign. Map 2: The Riverwalk, is based on the Riverwalk in San Antonio, Texas. Granted it is loosely based off of it, but it is a massive influence in the design and look. The bowling alley is based off this old bowling alley in Houston I used to bowl in when I was younger. The police station/jail is based off some pictures and artist renditions I found on the web. The Stadium is a bit of a mish-mash of different stadiums I had been to growing up. The ramps that lead up to the upper levels is based on the Astrodome outer ramps and the concourse area is based off the Astrodome as well. Even one area on map 4 is based off a scene from 'The Walking Dead'. Basically, I like to use real-world locations as either inspiration or accuracy, albeit they are not always perfectly copied.
BR: What is your favorite feature in SB2?
RTF: Probably the train ride! I always loved the idea of having a cinematic escape scene that was live action. This map was originally intended to be entirely fought in such a manner, but proved too difficult with the nav. So I settled for this little scene instead.
BR: What aspects of development did you find to be challenging when creating SB2?
RTF: Optimization for sure. People tend to list NAV I have noticed when being asked that, but I really found the optimization to be the most challenging given the amount of custom content I wanted to include. I learned a lot in doing this, so no regrets.
BR: When creating a campaign for L4D2, what is your general process like?
RTF: First, I just thought over the campaign for a couple of weeks. After some ideas started to come to me, I started taking notes and doing some rough outlines of how I wanted the levels to turn out. I always wanted to try and do a switch off of different fighting areas. Basically, close quarter and a more open area fighting. Once I had a good grasp on how I wanted the levels to go, I would then start the mapping process. I didn't always map SB(2) in a straight line. I would often jump around from map to map to keep my brain on its toes as well as break up the monotony of mapping on the same level extensively. Plus when I went back and looked at a map I had previously been working on, it seemed more "fresh" to me. Always good to take a break, if only from ONE of the maps. After a map's building stage was done, I would go through and detail it. I used to try and make navigation on the go as I was making these maps, but proved annoying to edit the nav whenever I added player level details. Detailing would be an ongoing thing even after I thought I was done. Oh and then more detailing, and then MORE... well you get my drift. I could probably talk about this for a week so I will compress it the best I can.
1. Brainstorming layout and overall theme of the campaign
2. Level Design - Co-op, VS and other game modes
5. PLAYTESTING A LOT - By myself and others
6. Taking the feedback from playtesting and implementing
7. Getting a working alpha/beta and first release for testing
8. More playtesting
Summarizing years of work into 8 points seems so easy!
BR: If you could request any features for L4D3, what would they be?
RTF: This one is tough. I like the recipe for gameplay that Valve achieved with the L4D series, but would love to see a bit more immersion in a L4D3 version. More NPCs, more assets by default, more characters to choose from, Workshop being available from the get go with A LOT of cloud space and for the game to be designed so custom content can be easily implemented from the start. I could probably think of more things but these are important to me.
BR: What are some things you learned about the Hammer editor that you wish you knew earlier?
RTF: Utilizing the crap out of hotkeys and if one doesn't exist, creating my own via script in Autohotkey.
BR: Are you working on any new projects right now?
RTF: I am currently working on a Portal 2 "campaign" if you will, that I want to release through the workshop. It is going well, and I will be releasing it this year.
BR: If the zombie apocalypse were to happen, what would be your plan for survival?
RTF: Ah ha! So you want my super-secret Zombie survival plan eh? Well, I would try to meet up with my family in a sort of out in the middle of nowhere place we have discussed before. That's right, we already have a zombie outbreak plan in the works! Unfortunately, the plan only calls for meeting somewhere if it were to happen. So I would assume after that, we would eventually all be eaten by zombies... So with that in mind, my survival plan is to be turned, and become king of the zombies.
Check out the below video to see a comparison of some of the reference photos versus the actually in-game geometry I created for my L4D2 campaign Tour of Terror. If the video does not load in your country, please use this alternate Vimeo version.
Hi all – Today I would like to share out the general process I follow when creating a mapping project. This process can apply to a simple Counter-Strike map to a more complex 5 level Left-4-Dead 2 campaign, and is geared towards personal projects (not something you create while working for a company). Also, this process may not work for everyone, and can be tweaked for your own personal style.
If anyone has any suggestions or feedback, please drop a comment in. And if anyone wants more details on anything, just let me know.
Concept & Theme
The first step of the process is to come up with a concept, or list of potential concepts. For me, everything starts with a written list, and I recommend coming up with multiple ideas before gravitating to your favorite one. Take into consideration your experience level, your timeline, and your resources when deciding on a project. In other words, don’t tackle something that is over your head and you don’t have the time to complete.
One of the best ways to formulate a concept is to first develop a theme, which in turn tells a story. A theme and story will also inspire you as you develop your project. For a Counter-Strike map, such as de_cefalu_go, this may be as simple as “A small, coastal city in Sicily, which accommodates tourists, with the main attraction being a large, central church. The architecture ranges from courtyards and cafes, to hotels and a small beach. Terrorists have moved into the town in order to destroy one of two key landmarks, and counter-terrorists have been deployed to thwart their efforts.” Whereas for a longer, more complicated linear experience as with L4D2, my theme/story was “Four American tourists in Eastern Europe are holding up in a large hostel after the zombie apocalypse has plagued the Earth. Their food and water supplies are running thin, and the hostel, which was once housing multiple survivors, has caught fire forcing them to venture out in search for rescue. Their only hope is to push forward and work together.”
If you decide to work with a team of developers, such as for models, sounds, and textures, then I recommend reaching out early into the process. Make sure you are comfortable coordinating the entire process as well, or assigning a point person that you trust to do this. If the project is complex, leverage a free task/bug tracking tool. Set goals with each person and create a list of work that you want each person to accomplish (and by when).
Now that you have selected a project, start collecting reference photos -- Take your own photos and/or using resources like Google image source. Save these images in an organized manner, such as using a naming convention. E.G. castle_exterior_01, building_ornatedetail_01, etc. This may seem time consuming, but it tends to save time in the long run, especially for the bigger projects.
Create mock-ups by drawing over your reference images, drawing concepts from scratch, creating inspiration boards that are a collage of specific key areas, and drawing top-down layouts on grid-paper. If your project is large, like mine was for L4D2, buy a poster board and attach your various mock-ups so you can see your entire layout in one glance. Take notes on your mock-ups, such as where items might be well placed, what type of lighting/mood you want, etc.
When creating layouts, I use grid paper so that I can draw to scale. Also, don’t feel like you need to perfectly emulate reality when referencing images. For example, the layout of a house may not work for your game experience. Take into consideration where twists and turns are important, where you want bottle-necks versus large, open areas, and what works not only visually but best for game-play.
I also like to use tracing paper when working on areas that have multiple levels (e.g. an apartment building), so I can see how everything will vertically align before I start building it.
Rough Layout & Detailed Section
With your concept locked down, reference images organized, and mock-ups situated, you are now ready to start building your map or level. If you are working on a multiple level campaign, decide which level you want to start with (this does not have to be level 1). Start with blocky, rough layouts first, and try not to get caught up in the greater details yet. Once you have your level roughed out, detail out just a small area so that you can set a standard for the rest of the level.
Feedback & Testing
It’s important that you test often when developing your map or levels. This not only allows you to capture and fix errors easily, but it also allows you to play-test your work before the details go into place. Once your details are in, it becomes much more difficult to rework those areas. Share the level with a few friends and just get feedback on the layout, game-play, difficultly, etc. as well as the detailed area you created. Create a list of questions for them, if needed, to help guide the feedback conversation. For example: What works well and why? What areas did you not like and why? Was the frame-rate/performance good? Any bugs?
Continue to Develop
For the larger projects, start blocking out the remaining levels. Once everything is blocked out, get more feedback on the remaining levels, and then begin to detail everything. I generally follow this order when developing my levels and maps: block out, detail geometry and place large models, apply textures, add lighting, place smaller models, apply decals and overlays, and add in SFX and VFX. All along the way I am compiling and testing, as well as optimizing.
When detailing an area, I determine what details to place based on my theme and story. For example, in the lobby of my L4D2 hostel I boarded up the entrance windows, because the survivors in this building were first keeping the undead out at this location. I selected objects like the cabinets and chairs to block the windows because those were objects available to the survivors in this building. In front of the boarded up windows are piles of dead bodies, which implies a battle had taken place there, in which the survivors seemed to fair well.
When lighting an area, consider what you want your lighting to accomplish. For Counter-Strike, the game-play and balance is very important to players since this is a competitive versus style game, so I tend to use more full lighting in most areas so players can see the opponents more easily. Whereas the lighting in L4D2 serves an entirely different purpose, as it sets the creepy mood by juxtaposing dark and light areas, as well as guiding the player through the linear progression of a level without making it feel too linear. In other words, the headlights of a car will point to the next area the players need to explore whereas the dark corners are dead ends.
I recommend first promoting a little before you are ready to release your Beta, so that people start to anticipate your project. Make sure you have a realistic launch date for your Beta, so that you are not communicating false promises to your future community. When promoting, be consistent: don’t post something 10 times the first week, then only once in the next month. Also, do not over share too much content, like screenshots of every area, otherwise the project won’t feel very fresh when you actually release. Once your project does hit Beta make sure to inform any threads you may already have started of the actual release with a link to the download page. Finally, don’t confuse “promoting” with “spamming” – your Facebook friends don’t want to hear about your personal project every day.
Where to promote is really up to you, and depends on the game you are developing for. Look for forums that relate to your project and make sure to follow the forum guidelines when posting. For Steam games, you can create a steam group. If you have your own website or blog you should of course mention your project there.
Promoting doesn't have to just be text and screenshots either. As part of my promotions I like to cut together videos that show off the environments and game play.
Even if you feel incredibly confident that your project is “perfect” I strongly encourage you to release a Beta first so that you can gather feedback on game-play, balance, difficulty, and bugs. Take constructive feedback seriously and encourage a system of feedback from the players that are testing your project. Try not to take the trolling negativity too seriously either.
When my L4D2 campaign Tour of Terror was in Beta I would join games and watch YouTube videos on my campaign, while taking notes on things I could improve. I discovered that I actually learned more from a YouTube play through than I did from most written feedback.
Create and Release Updates
Make changes to your project based on good feedback and fix any bugs that have been discovered. If there are a lot of issues you may need to triage your list of feature improvements and fixes, so that you are fixing the higher priority features and issues first. Sometimes with personal projects it’s easy to say “I have unlimited time to work on this, so I will just keep adding more and more features”, however, I find that it is important to find that critical stopping point so you can call the project complete and move on to other work. Art is never perfect, and there will always be something you will look back on and say “I would do that differently if I was doing it again now”.
Your project now plays well and doesn't have any major issues. You feel you are ready to call it complete and release the final version.
Hi all - This is my first blog entry, and to get things started I'm going to talk a little bit about my custom L4D2 campaign Tour of Terror. This 5 level campaign was inspired by a vacation I took to Europe, in which I traveled to Berlin, Krakow, Amsterdam, Prague, and Milan. I found a lot of the architecture to be rather amazing, and when I would see some of these incredible buildings, castles, etc. I would say to myself "I have to build that". Originally I was going to build this campaign for L4D1, but once I heard of the inevitable release of L4D2 I quickly switched over (this was early into development). As the only designer/mapper it was a long process, although I did have a bit of help from friends (e.g. the posters and a few textures).
Brian Riggsbee is a program manager and designer, living in San Francisco CA. He enjoys practicing Brazilian Jiu-Jitsu, creating art, gaming, chasing adorable dogs, and spending time with his wife.