<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Isaac Lean</title>
	<atom:link href="http://isaaclean.com/feed" rel="self" type="application/rss+xml" />
	<link>http://isaaclean.com</link>
	<description>Blog and Portfolio of an Aspiring Game Developer</description>
	<lastBuildDate>Sat, 12 May 2012 09:28:43 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>What it&#8217;s like being an EA Engineer</title>
		<link>http://isaaclean.com/starting-game-development/what-its-like-being-an-ea-engineer</link>
		<comments>http://isaaclean.com/starting-game-development/what-its-like-being-an-ea-engineer#comments</comments>
		<pubDate>Sat, 31 Mar 2012 11:50:01 +0000</pubDate>
		<dc:creator>Isaac</dc:creator>
				<category><![CDATA[Game Industry]]></category>
		<category><![CDATA[Starting Game Development]]></category>

		<guid isPermaLink="false">http://isaaclean.com/?p=965</guid>
		<description><![CDATA[During my C++ class last quarter at UCSC (which was really only about three weeks ago), senior gameplay engineer Michael Duke came to visit and tell us what it&#8217;s like being an engineer at EA. Duke has 7 years experience in engineering games (1 year at Schell Games and 6 years at EA) and is [...]]]></description>
				<content:encoded><![CDATA[<p>During my C++ class last quarter at <a href="http://ucsc.edu">UCSC</a> (which was really only about three weeks ago), senior gameplay engineer Michael Duke came to visit and tell us what it&#8217;s like being an engineer at <a href="http://ea.com/">EA</a>. Duke has 7 years experience in engineering games (1 year at <a href="http://www.schellgames.com/">Schell Games</a> and 6 years at EA) and is heavily involved in university relations (presentations, interviews, etc.). At EA he worked on <a href="http://thesims3.com/">The Sims 3</a> series.</p>
<p>If you&#8217;re looking for a more general post about what EA looks for in new applicants, check out my other <a href="http://isaaclean.com/starting-game-development/electronic-arts-ucsc-presentation">Electronic Arts UCSC Presentation</a> post. If you&#8217;re aiming to be an engineer, you&#8217;re looking at the right post already, although it wouldn&#8217;t hurt to read the other post for other information like where to apply for jobs, other employment opportunities, and more.</p>
<h2>Game Development Stages</h2>
<p>The first thing Duke talked about was the stages a game goes through from start to finish. He also remarked that most AAA game developers other than EA follow a very similar process.</p>
<ol>
<li><strong>Ideation</strong>: Coming up with an idea for the game. It usually involves a small team and creative director. The idea can really come from anywhere, in or out of work. It can be a new intellectual property (IP), expansion pack, anything. Talk to a senior producer about it.</li>
<li><strong>Green Light</strong>: Once the ideas are set, build a powerpoint to pitch game explaining how long it will take to build and how much money you think it will need. What usually happens is you define what you need for the next 3-6 months to prove that the game will pull through and then come back to get it screened again with specific information like ship dates and costs.</li>
<li><strong>Pre-Production</strong>: If the idea passes the green light, the game goes into this pre-production. 5-10 people on the pre-production team start building the prototype. Most teams don&#8217;t pass this stage. The keys to passing are a solid prototype, good plan, and an actual market for the game.</li>
<li><strong>Production Green Light</strong>: Your game is checked again. You now have to have concrete numbers rather than estimates for information such as budgets, team plans, and ship dates.</li>
<li><strong>Production</strong>: Once you get your production green light you go into official production. Unfortunately, this is not a guarantee your game will actually live to see a shelf or digital download. If team doesn&#8217;t meet &#8220;intervals&#8221; (specific wording he used&#8230; not sure if there&#8217;s any difference with deadlines?) they promise, the development of the game can be cancelled by the company. The development team still has to worry about staying within the budget, on schedule, with the plan, and really prove themselves that they can make the game succeed. Essentially production focuses on building all of the planned features to get to what they call &#8220;alpha functionality&#8221;.
<p>A bit of time is taken out of production to evaluate the development and forward changes not originally in the plan to change review. Everyone on the development team is encouraged to send their new ideas to change review (ex. UI change). The production and design team constantly look through the change review and order the list of ideas that should be worked on during the change review development stage. Each requested feature is calculated a cost (development time, difficulty, etc.) which determines its placement in the change review, or if it is even included in the change review at all.</li>
<li><strong>Change Review</strong>: Time is taken out from following the original plan and development deviates a little by following the change review. This addresses problems and requested features that came up after the plan was defined during the actual development process. This stage is more about refinement and polishing.</li>
<li><strong>Alpha</strong>: The game is considered to be in &#8220;alpha&#8221; when all of the features that were planned are finally in the game. However, everything is very buggy. No longer is the development driven by features, now it is driven by bug-fixing. Quality assurance (QA) starts bug testing the game and sending feedback to the development team. Engineers get hit the hardest during this stage. You might realize that bugs are not coming from your own code, so you have to communicate with those who coded it and find solutions.</li>
<li><strong>Beta</strong>: The game is considered to be in beta the first time the team reaches zero bugs. Duke comically, yet at the same time seriously remarks that zero bugs in the bug list might only last for two minutes. (QA apparently finds bugs really fast!) Some bug fixes are pushed passed the release date as patch fixes since they might be too risky to ship the game with as bug fixes often bring newer bugs. Ideally they want patches to just be things like game balancing or like &#8220;little enrichments&#8221;, but the reality is a lot of times the games are just too big and they can&#8217;t get enough test coverage in. From Duke&#8217;s experience, some of the worst bugs are from bug fixes at the very end of beta, so it&#8217;s best to avoid fixing bugs as the deadline comes unless they are particularly game breaking.</li>
<li><strong>Final</strong>: This is the first hope that this will the last time they think they will develop the game since the game should be in an acceptable state to ship. The game stays in this stage for at least 2-3 weeks as QA constantly tests the game and and reports any issues they come across. Again, if the problem is not game breaking, then a fix for it will be pushed later on as a patch fix. If the problem is significant enough they will go and work on it.</li>
<li><strong>Gold</strong>: After about 1 week or so with QA tests, if there are no bugs coming up that require immediate attention, then the game finally reaches the point where the main development cycle ends. This version of the game is the version that consumers get on the shipment date.</li>
</ol>
<p>The development team does postmortems (evaluations of their own game) after the game is released to figure out what they did wrong and how they can learn from their experiences to make better games in the future.</p>
<h2>Perforce</h2>
<p>The next thing Duke talked about was <a href="http://perforce.com/">Perforce</a>. Perforce is a revision system that EA uses manage their code. (If you&#8217;re used to Subversion or Git, it&#8217;s in the same realm as that.) According to Duke, most AAA game development companies use Perforce.</p>
<p>EA keeps three different code lines (or more officially, &#8220;sandboxes&#8221; since each code line is technically a sandbox):</p>
<ul>
<li><strong>Development Line</strong>: Where the developers check-in their most recent, working code. It is the main build that QA tests.</li>
<li><strong>Main Line</strong>: The code that stays a little more clean and only gets the code from the development line when they are ready to go into the final stage.</li>
<li><strong>Release Line</strong>: The exact copy of the code that is built and shipped to the consumer. It is generally used for emergency fixes that shipped on release.</li>
</ul>
<p>An important concept Duke emphasized is called personal sandboxing. This is where you separate the code you personally work on from everyone else. The problem is that if you work directly on the development line, you can potentially break the entire game for the entire team (which can span up to hundreds of other people), slowing down development and angering a lot of your co-workers. By personal sandboxing, you keep your code to yourself until its ready to be checked into the development line. Also, it saves your work so just in case if your harddrive fails (which according to Duke happens to someone on his team every couple of months or so), so instead of losing months of work on your computer, at most you&#8217;ll lose maybe about a day&#8217;s worth. You can also share your sandbox with other people on the team which makes your personal sandbox into a shared sandbox.</p>
<p>Another note about EA&#8217;s code management is that they rely on many automated builds which will will run off your code. These builds are run by build machines which take your client specifications, sync to them, and run automated tests on your code and assets to let you know if anything broke. This is to help prevent anyone from breaking the development line.</p>
<h2>Feature Workflow</h2>
<p>Duke went on to talk about the workflow on a feature as an engineer.</p>
<ol>
<li><strong>Pre-FAMES</strong>: The first step is called Pre-FAMES (FAMES stands for Effect Animation Modeling Engineering and Sound, what EA considers the main disciplines are required to make a game). Every discipline gets to see the features in the design document and determines how much work each feature will take. It gives the designer and producer an idea of how much work needs to be done and how long it will take. During the planning process, a process called design iteration is considered where people leave room for feature fixing and refinement from feedback.</li>
<li><strong>Design Review (DR)</strong>: The team sits down and designers explain the design and goals. Everyone throws around ideas. Only about 10% of the ideas actually make it into the game, but it&#8217;s the time where people start saying, &#8220;Wouldn&#8217;t it be cool if&#8230;?&#8221; and stuff.</li>
<li><strong>Implementation Review (IR) Preparations</strong>: Any of the questions in the design with regards to implementation are worked out by the engineers. For advice you can talk to your lead or you can talk to other department to get more specific information on the feature. If the feature is technically impossible, find other possibilities to achieve the feature instead.</li>
<li><strong>IR</strong>: Everyone who is involved in a feature meet up and plan how they will work together. Before this all estimates are rough, but this is where the numbers, dates, and tasks are finalized since details from everyone becomes clear. If there&#8217;s any last questions on design this is the time to ask.</li>
<li><strong>Code</strong>: You finally get to code! You still spend a lot of time communicating with a lot of people, making sure you guys are on the same page and that your work will come together the way you want it to. When you make changes, you must communicate those changes to everyone else involved.</li>
<li><strong>Demo</strong>: Demo to it to the designer/producer! A lot of little changes are made from feedback.</li>
<li><strong>Suggest Chain Review</strong>: If there&#8217;s any big suggestions that come up in feedback, forward the idea to change review.</li>
</ol>
<h2>Check-In</h2>
<ol>
<li><strong>Code review</strong>: Code review is the process of checking your code for any bugs or problems. Most people prefer in-person code review. There are also online options where the code is posted online and other people can log-on to a system and give you feedback digitally. Duke says that surprisingly while you talk to another person about your code, you yourself catch so many bugs.</li>
<li><strong>Check into sandbox</strong>: When you check into your personal sandbox, leave detailed comments in logs. It is extremely important to go into detail on what exactly you&#8217;ve done, because someone might be looking at your code years down the line! (As an example of how long code can be used, Duke states that The Sims 3 codebase is currently 8 years old and will live on to probably be around 10). Also you yourself will forget about the code you wrote, so comments will greatly help jog your memory if you ever need them. You can never be too careful.</li>
<li><strong>Run a check build on your code</strong>: To ready the work in your personal/shared sandbox for the development line, run a check build on your code. If it fails, then you have to go back and fix your errors until it passes the tests. Then you have to start the check-in process all over again at the code review step.</li>
<li><strong>Smoke test build</strong>: Run a smoke test locally. A smoke test is a manual test of about a minute or less that proves the baseline functionality works. This is to make sure all code in the development line is functional for any engineer on the team to continue to build on. (People who break the development line get publically shamed! Doing it a lot gets it marked on your performance review!)
<li><strong>Integrate sandbox to development line</strong>: If your code passes both the check build and smoke test, integrate it into the development line!</li>
</ol>
<h2>Development Methodologies</h2>
<p>EA&#8217;s engineers development methodologies differs depend on what team and features they are working on. Generally there is no single dominant methodology and there is usually a mix that Duke calls &#8220;extreme agifall.&#8221; On some occasions there are some teams that are well suited for a specific methodology though. The three main methodologies that are used and mixed in EA are:</p>
<ul>
<li><strong><a href="http://en.wikipedia.org/wiki/Agile_development">Agile development</a></strong>: The core principle is always be building shippable software and focus on specific features for periods of time. It assumes that projects have interchangeable resources and that engineers can do the same work at the same speed, but with engineers with dramatically difference disciplines (ex. one specializes in shaders and rendering while the other specializes in UI) it&#8217;s not possible.
<p>One example of this methodology working is its application to tools developers. Since they are a support group to the rest of the team, they always need their tools in a shippable state since the development team is constantly using them.</p>
<p>One example of this methodology not working is in gameplay engineering. It just doesn&#8217;t work for it because  designs are always changing and there’s always a lot of feedback and iteration involved. Plus, gameplay engineers heavily rely on other resources from other departments such as textures and animations from other artists and animators.</li>
<li><strong><a href="http://en.wikipedia.org/wiki/Waterfall_development">Waterfall development</a></strong>: Everything is sequential as the work goes through different teams. The problem here is that in games people will be waiting for work to come to them since the work comes through a pipe process. It is just too slow and is too difficult to manage properly.</li>
<li><strong><a href="http://en.wikipedia.org/wiki/Extreme_programming">Extreme programming</a></strong>: The idea is that programmers work in pairs since ideally they will catch more bugs. Maybe this occurs on a task or two, but a whole project dedicated to this methodology doesn&#8217;t work since having multiple people programming on one computer usually slows the process down dramatically.</li>
</ul>
<p>A common practice used in EA is called stand-ups. This is where every morning people who are working on similar features stand in front of task board and talk about what everyone is working on. From these discussions they plan their next step accordingly.</p>
<h2>Programming Practices</h2>
<ul>
<li>EA has company-wide programming standards per language.</li>
<li>Most code is in C++.</li>
<li>Some of the libraries they use are as old as 80s and 90s. For example, their exclusive EA STL that they still use today was originally built in the late 80s. This is mainly because they still work fine and there really isn&#8217;t any need to change them.</li>
<li><strong>Naming conventions</strong>: Lowercase &#8216;s&#8217; in front of static variables, lowercase &#8216;m&#8217; for member variables, classes are CamelCapped.</li>
<li><strong>Team coding standards</strong>: Teams usually set coding standards before they start working. These standards never contradict EA programming standards, they only supplement them. One example of a team standard would be deciding if everyone uses tabs or spaces for indents. This is important because for example, if one programmer formats a file in all tabs and then passes onto a programmer who reformats the file in all spaces, Perforce will say EVERY line in the file has been updated which will hide what was actually updated in the code.</li>
<li><strong>Unit testing</strong>: Engineers may build tests that won&#8217;t allow the code or game to run without passing it. While they are great, it&#8217;s best not to get too consumed in unit testing since most of the time you&#8217;re the only one who will test your feature. Unit tests are best for features where other people will extensively use and test the feature and is more common in the early portion of development or persistent design, and not so much for gameplay features.</li>
<li><strong>Language restrictions</strong>: EA rarely disables or outlaws any practices. They trust in their engineers and their peer reviews.</li>
<li>Sometimes they strip down scripting. One example is taking out the DOM from Python to create a stackless Python because it was taking too much memory. In Sims 3 they stripped all of the networking from C# since all of the networking was coded in C++. They also took out file I/O since it leaves security vulnerabilities as the consumer will be able to write C# scripts to modify the game.</li>
<li><strong>Exception handling</strong>: They definitely use exception handling. One emphasis was actually how exceptions can actually be good things instead of just obstructive error messages. The topic was &#8220;Abort Callstack Without Fear of Yielding&#8221;, and Duke&#8217;s example of this was Sims 3&#8242;s reset exception. In a scenario where a Sim is stuck, by implementing a cheat code and shift clicking the Sim, a player can inject the reset exception and free the Sim from whatever the problem was. The reset exception specifically aborts the Sims call stack and repositions it in a safe location. Without it, Sims can essentially be stuck forever if they are unfortunate to ever come across a looping bug. Sure they don&#8217;t want the user to actually need to use the exception, but bugs do happen and this option is there if it ever occurs.</li>
<li><strong>Threading</strong>: Threading is used since PC, Xbox 360, and PS3 support it.</li>
</ul>
<h2>Cross Platform Development</h2>
<p>When building across multiple platforms, EA engineers heavily rely on build automation where they develop mainly on one platform, which they call their lead SKU, and then use build automation to build the game on the other platforms. They have found that when they first used PC as the lead SKU, the development process was fine between PC and Xbox 360, but the PS3 version came up with a lot of problems. Now they use PS3 as their lead SKU, meaning that&#8217;s where they test that a feature is complete. They then waterfall back to the PC and Xbox 360. It doesn&#8217;t guarantee that there won&#8217;t be any problems with the other platforms, but it&#8217;s a lot easier since there&#8217;s usually less problems when PS3 is the lead SKU.</p>
<p><em>Originally I wrote out the word &#8220;skew&#8221; because that&#8217;s how Duke spelled out the word on his slideshow. I have since corrected the mistake as people have pointed out the correct spelling is actually &#8220;SKU&#8221;, meaning stock-keeping unit.</em></p>
<h2>Engineering Roles</h2>
<p>There are many different areas of engineering to specialize in:</p>
<ul>
<li><strong>Gameplay Engineering</strong>: Implement the design of the game (rules of the game, NPCs, etc.) and are at the end of the pipeline and work with everything the other departments have created.</li>
<li><strong>Tools/Pipeline Engineering</strong>: Build and maintain the tools to support the development team.</li>
<li><strong>Network Engineering</strong>: Work with the client and server architecture for network communication.</li>
<li><strong>Database Engineering</strong>: Work with the databases.</li>
<li><strong>Automation Engineering</strong>: Build automated tests that are run on the game builds to make sure code and assets are running properly. Use PERL/Python scripts, can batch program, and know how to use build force triggers.</li>
<li><strong>Technical Artist</strong>: Similar to tools/pipeline engineering (more geared towards pipeline engineering), but the technical artist makes tools more geared for artists instead of engineers. Great for programming and artist hybrids.</li>
<li><strong>Engine Architecture</strong> (Breaks into many roles)
<ul>
<li><strong>Graphics Engineering</strong>: Work with graphics and shaders.
<li><strong>Animation Engineering</strong>: Work with animation. Be excellent at 3D math.</li>
<li><strong>Path Planning/Routing</strong>: Work with behavior. Lots of use of A* algorithm.</li>
<li><strong>Resource Management</strong>: Work with resources and decides what should be kept in memory when and for how long. Knows what kind of caching systems should be used when.</li>
<li><strong>Optimization</strong>: Specializes in optimizing the game.</li>
<li><strong>Lighting/Shaders</strong>: Focuses mainly on lighting and shaders.</li>
</ul>
</li>
</ul>
<h2>What are you lacking?</h2>
<p>A computer science degree is a great basis, but it does not prepare you enough to make games. There are a number of skill sets that are required for game engineering that just aren&#8217;t found in most computer science curriculums.</p>
<p>Some things most people can work on are:</p>
<ul>
<li><strong>Data structure knowledge for optimization</strong>: Most people can name data structures and give a general overview of them, but most don&#8217;t know when to use them, what the memory overhead for using them is, what&#8217;s actually bad about them, etc.</li>
<li><strong>Go beyond the classroom</strong>: Think about context how your code is going to be used, how often is it going to be used, what kind of inputs are they expecting, how many other people are going to use the code, etc. Everyone generally takes the same classes, so you need to distinguish yourself.</li>
<li><strong>Find your specialization</strong>: A great idea is find what you&#8217;re really good at or something you really enjoy and specialize in it, whether it be with artificial intelligence or graphics programming or whatever else you find yourself doing.</li>
<li><strong>C++ exposure for AAA</strong>: Most college curriculums don&#8217;t have C++ classes anymore, and even the ones that do usually don&#8217;t go low level enough. You need to have a good conscience about optimization because games need to run as smoothly as possible.</li>
<li>Get a webpage!</li>
</ul>
<h2>Miscellaneous Topics</h2>
<ul>
<li><strong>Know the difference between a designer and engineer</strong>: Designers control the overall vision and make the decision of what’s right and wrong, while everyone else is usually focusing on creating a specific feature. As an engineer, especially a gameplay engineer, you greatly impact the design. Engineers try to understand what the high-level goals are and achieve them in efficient ways and communicate with designer and brainstorm to get &#8220;the best design for the right cost.&#8221; Duke specifically says, &#8220;As the engineering team it’s not our job to make the choice, it’s our job to make sure the designer and producers are making the most informed choice possible.&#8221;
<p>Duke feels that engineers have the most impact on games compared to the other jobs. Unlike designers, Duke brings up that point that if an engineer thinks an idea would be great in the game, he can actually stay after work and code it himself and show it to the designer, whereas non-engineers have to convince someone else that it&#8217;s a good idea and implement a prototype. The only thing is that since he is not the designer, he cannot decide if that feature actually gets implemented into the game or not, but having the capability to just pitch prototyped ideas is extremely powerful.</li>
<li>Gameplay engineers are always the last to work since they deal with everyone else&#8217;s work.</li>
<li>Engineers need to make sure they identify the areas that have the most chance of having problems after they make changes, to isolate areas for QA to test on. You can&#8217;t just tell them, &#8220;Test the game&#8221; and expect for them to just know what and where to test or to just test the whole freaking game. There&#8217;s just too much content.</li>
<li>All projects are archived, so they can be returned to if they are ever needed. They are great for reference.</li>
<li>Over 80% of the people they review are engineers. They are always looking for engineers. At the moment the positions that are in most demand are frontend engineers (for Origin) and backend server database engineering (since they are beginning to invest in building a backend platform that ties everything they make).</li>
</ul>
<p><em>There&#8217;s a pretty big discussion about this post on reddit now, so if you&#8217;re interested you can read through the comments there as some of them provide confirmation to this post as well as other insightful details about the AAA game industry. You can visit the reddit discussion at: <a href="http://www.reddit.com/r/gamedev/comments/rmafw/what_its_like_being_an_ea_engineer/">http://www.reddit.com/r/gamedev/comments/rmafw/what_its_like_being_an_ea_engineer/</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://isaaclean.com/starting-game-development/what-its-like-being-an-ea-engineer/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Sites/Video Series Game Developers Should Follow</title>
		<link>http://isaaclean.com/game-industry/sites-video-series-game-developers-should-follow</link>
		<comments>http://isaaclean.com/game-industry/sites-video-series-game-developers-should-follow#comments</comments>
		<pubDate>Tue, 07 Feb 2012 00:01:33 +0000</pubDate>
		<dc:creator>Isaac</dc:creator>
				<category><![CDATA[Game Industry]]></category>

		<guid isPermaLink="false">http://isaaclean.com/?p=922</guid>
		<description><![CDATA[Last updated: 5/12/2012 Here&#8217;s just a list of websites/video series I think are good for game developers to follow. From the Industry and Game Design/Development Perspective #AltDevBlogADay: This blog just about covers everything from programming, to design, to even the business of games. The best thing about this site is that the content comes from [...]]]></description>
				<content:encoded><![CDATA[<p><strong>Last updated: 5/12/2012</strong></p>
<p>Here&#8217;s just a list of websites/video series I think are good for game developers to follow.</p>
<h2>From the Industry and Game Design/Development Perspective</h2>
<p><strong><a href="http://altdevblogaday.com/">#AltDevBlogADay</a></strong>: This blog just about covers everything from programming, to design, to even the business of games. The best thing about this site is that the content comes from a variety of people with different backgrounds. Some writers are actually from the industry, some are independent, some are educators, and some are even students so you&#8217;ll definitely get the perspectives from just about everyone. Also, not many sites go over the engineering aspect of games with as much depth as this one as you&#8217;ll find that notable programmers like <a href="http://en.wikipedia.org/wiki/John_D._Carmack">John Carmack</a> even <a href="http://www.altdevblogaday.com/author/john-carmack/">write up some valuable programming tips you won&#8217;t find anywhere else</a>. If you&#8217;re not a programmer don&#8217;t let that turn you away though. There&#8217;s definitely some very insightful articles on design and business that you won&#8217;t want to miss here too.</p>
<p><strong><a href="http://www.reddit.com/r/gamedev">/r/gamedev</a></strong>: The gamedev subreddit on <a href="http://www.reddit.com/">reddit</a> is a great resource for game programming, art, audio, business, and more. It&#8217;s updated by fellow gamedev redditors constantly, so you&#8217;ll always find something new and interesting to read/learn every day.</p>
<p><strong><a href="http://www.gamasutra.com/">Gamasutra</a></strong>: Gamasutra provides great information on the design and business side of games. Occasionally there&#8217;s stuff on programming, but usually when it comes to this specific topic they&#8217;re just re-posts from #AltDevBlogADay.</p>
<p><strong><a href="http://www.youtube.com/show?p=fMqbdv272gE&#038;tracker=show_av">All Your History</a></strong>: In this video series by <a href="http://www.youtube.com/machinima">Machinima</a>, you&#8217;ll learn about the history of games, game companies, and the game industry. It&#8217;s definitely valuable to see what the industry went through to get to where it is today. Don&#8217;t worry, it&#8217;s a lot more interesting than high school history class!</p>
<p><strong><a href="http://www.penny-arcade.com/patv/show/extra-credits">Extra Credits</a></strong>: A show run by <a href="http://www.penny-arcade.com">Penny Arcade</a> that takes a deeper look into games in various different topics ranging from game design to gamer culture.</p>
<p><strong><a href="http://www.gametrailers.com/game/pach-attack/12619" target="_blank">Pach-Attack!</a></strong>: Pach-Attack!, a show by <a href="http://www.gametrailers.com/">GameTrailers.com</a>, is really interesting to watch since you get to hear insights about the game industry from a research analyst by the name of <a href="https://twitter.com/#!/michaelpachter">Michael Pachter</a>. It&#8217;s good to see things from the business perspective and you&#8217;ll get some insight general statistics behind the money driving the games industry.</p>
<h2>From the Gamer and Media Perspective</h2>
<p>Don&#8217;t forget the gamer and media perspective! I don&#8217;t check these as often as the websites listed above, but I make sure to check over them at least once a week just so I can keep up with gamer/media opinions and such.</p>
<p><strong><a href="http://penny-arcade.com/report">The Penny Arcade Report</a></strong>: The Penny Arcade Report (or PA Report for short) is one of the newer gaming-related publications. The depth and quality of the articles found here are great, and you can find very insightful posts on interviews, industry news, and more.</p>
<p><strong><a href="http://www.gametrailers.com/">GameTrailers.com</a></strong>: Very in-depth video game reviews and has plenty of other shows about the gamer news and culture.</p>
<p><strong><a href="http://www.gamespot.com/">GameSpot</a></strong>: Another great source for game reviews and news.</p>
<p><strong><a href="http://kotaku.com/">Kotaku</a></strong>: Mostly has well-written articles about gamer news and culture. There&#8217;s some nice laughs to be found here.</p>
<p><strong><a href="http://www.gameinformer.com/">GameInformer</a></strong>: Don&#8217;t go here for their news feed thing. You can find all of that stuff pretty much everywhere else. The good stuff is the exclusive content they reel out which includes very insightful game info and interviews. Just note that it doesn&#8217;t come out very often, so I wouldn&#8217;t really check this site every day. Don&#8217;t forget about it though because when it actually updates with real stuff, most of the time you&#8217;re in for an interesting read.</p>
]]></content:encoded>
			<wfw:commentRss>http://isaaclean.com/game-industry/sites-video-series-game-developers-should-follow/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2011 Retrospect and 2012 Resolution</title>
		<link>http://isaaclean.com/personal-life/2011-retrospect-and-2012-resolution</link>
		<comments>http://isaaclean.com/personal-life/2011-retrospect-and-2012-resolution#comments</comments>
		<pubDate>Tue, 24 Jan 2012 03:32:18 +0000</pubDate>
		<dc:creator>Isaac</dc:creator>
				<category><![CDATA[Personal Life]]></category>

		<guid isPermaLink="false">http://isaaclean.com/?p=899</guid>
		<description><![CDATA[There have been problems I&#8217;ve been too afraid or too lazy to address for months, if not years. All sorts of problems: school problems, finance problems, friendship problems, and family problems just to list a fraction of them. Fortunately for me, all of them came crashing down on me all at the same time. Sure [...]]]></description>
				<content:encoded><![CDATA[<p>There have been problems I&#8217;ve been too afraid or too lazy to address for months, if not years. All sorts of problems: school problems, finance problems, friendship problems, and family problems just to list a fraction of them. Fortunately for me, all of them came crashing down on me all at the same time. Sure it was four months of constant depression and anxiety, but looking back on it now it was something I needed since I would have to confront the problems eventually anyway. So far a few of the problems have been solved, although none of them were in ways I wanted to, and the rest are under control and will be resolved with no issues if I play my cards right.</p>
<p>So this brings me to a New Years resolution. I&#8217;m usually not one who does this sort of thing, but I feel like 2012 is a new opportunity for me to fix all of these problems that have been on my shoulders for way too long. The resolution is this: by the time I hit my 20th birthday (which is late in the year), I hope to meet the expectations of the people around me and, more importantly, my own.</p>
<p>To do this, the plan is to pretty much become a lame ass loner for the next couple of months to just focus on myself to fix as many of my flaws as possible. That means finally setting a work ethic for myself. Strict sleeping schedules. Eating and cooking nutritious food. Working out regularly. Spreading classwork and office work evenly instead of cramming everything the night before due dates. No games. No parties. And, most importantly, starting to actually build a real game for my portfolio. The list goes on and on, but the point is by doing all of this stuff I really should be able to address all the problems and maybe I can finally stop being a depressed ass pussy.</p>
<p>No more emo posts. No more posts about plans I never follow. Time to actually do something.</p>
]]></content:encoded>
			<wfw:commentRss>http://isaaclean.com/personal-life/2011-retrospect-and-2012-resolution/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New &#8220;Starting Game Development&#8221; Category</title>
		<link>http://isaaclean.com/starting-game-development/new-starting-game-development-category</link>
		<comments>http://isaaclean.com/starting-game-development/new-starting-game-development-category#comments</comments>
		<pubDate>Thu, 22 Dec 2011 09:40:18 +0000</pubDate>
		<dc:creator>Isaac</dc:creator>
				<category><![CDATA[Starting Game Development]]></category>

		<guid isPermaLink="false">http://isaaclean.com/?p=879</guid>
		<description><![CDATA[I&#8217;m starting a new Starting Game Development category which will have posts that I feel are relevant to getting into game development and the game industry. Most blog posts you find on the net are from people who are already experienced game developers, however I thought it would be interesting to share the perspectives of [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m starting a new <a href="http://isaaclean.com/category/starting-game-development">Starting Game Development</a> category which will have posts that I feel are relevant to getting into game development and the game industry. Most blog posts you find on the net are from people who are already experienced game developers, however I thought it would be interesting to share the perspectives of a person going through the process of becoming a game developer by blogging my opinions, problems, and accomplishments as I learn more and more. Hopefully this will not only help me reflect on myself, but also help people who are or will be in the same position as me.</p>
<p>On a side note, the <a href="http://isaaclean.com/category/gaming">Gaming</a> category will now be more about my gaming experiences and less about actual game development. I&#8217;ve moved my <a href="http://isaaclean.com/starting-game-development/microsoft-game-studios-ucsc-presentation">Microsoft Game Studios UCSC Presentation</a> and <a href="http://isaaclean.com/starting-game-development/electronic-arts-ucsc-presentation">Electronic Arts UCSC Presentation</a> posts away from it, and I&#8217;ve finally opened up comments on them to feel free to type away!</p>
]]></content:encoded>
			<wfw:commentRss>http://isaaclean.com/starting-game-development/new-starting-game-development-category/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changes</title>
		<link>http://isaaclean.com/personal-life/changes</link>
		<comments>http://isaaclean.com/personal-life/changes#comments</comments>
		<pubDate>Thu, 01 Dec 2011 13:44:11 +0000</pubDate>
		<dc:creator>Isaac</dc:creator>
				<category><![CDATA[Personal Life]]></category>

		<guid isPermaLink="false">http://isaaclean.com/?p=810</guid>
		<description><![CDATA[Just finished my programming assignment early for once (lol&#8230; 4:18 AM is apparently early) and lots of things have been on my mind, so I guess I&#8217;ll blog about it. I apologize for the emotional post yesterday since I know it&#8217;s such an abrupt tone difference when you compare it to the other posts, especially [...]]]></description>
				<content:encoded><![CDATA[<p>Just finished my programming assignment early for once (lol&#8230; 4:18 AM is apparently early) and lots of things have been on my mind, so I guess I&#8217;ll blog about it. I apologize for the emotional post yesterday since I know it&#8217;s such an abrupt tone difference when you compare it to the other posts, especially after an absence of content. It&#8217;s just that I went through a lot of really bad breakdowns this quarter and I guess I&#8217;ve found that writing is a good way to deal with stress and anxiety while sorting through my thoughts. It&#8217;s really weird, even for me, since usually I&#8217;m pretty calm and collected. It isn&#8217;t the first time I&#8217;ve confronted stressful and painful obstacles, it&#8217;s just that before the old me would just shrug it off and take the failure without much care. Things have changed though, and I actually care about my life now since I finally see an opportunity.</p>
<p>Even though before college I was miserable and was kind of just mindlessly drifting wherever life would take me, I guess I kind of miss it. Being a kid, not worrying about responsibilities or anything, it felt great. This quarter has really shown me how unforgiving the world can be, and it&#8217;s just depressing. What happened to the times where my life had no worries at all? All of the sudden I&#8217;m racking up debt in loans for school. I have no financial or even moral support from my family. I&#8217;m struggling to work hours a week just to get some food. I don&#8217;t have a car, so it&#8217;s hard even getting food in the first place since I have to walk miles carrying groceries or I have to waste valuable hours at a bus stop which is miles away from the market anyway. My major&#8217;s department decides to start weeding people with ridiculously difficult classes. My social life is non-existant now. Everything sucks, and I&#8217;m really alone. It feels like the world is moving too fast, but I know that I&#8217;m really just too slow.</p>
<p>I don&#8217;t even really have anyone I can actually sit down and talk to seriously which is why I&#8217;m blogging like this in the first place I guess. Sure I have great friends, but honestly I can&#8217;t imagine talking to them about anything serious. They just don&#8217;t understand what I&#8217;m going through since they don&#8217;t really need to worry or care about what happens to them after college. They have family and friends to go back to and support them. For me, I don&#8217;t.</p>
<p>The scariest thing is that even if I do pass college, chances are I won&#8217;t get a job with just a degree. I need to make something big on my own time outside of the major curriculum, something that will wow employers or attract investors, otherwise it will be as if I&#8217;m applying for a job with a high school diploma anyway. As harsh as college is for me right now, I understand it&#8217;s still cradling me from the real world. If I can&#8217;t deal with college, how can I even survive in the real world? I need to take control of my life now, even if I have to sacrifice everything that makes me happy. If it means I can live a better life in the future, it will be worth it. Honestly, I don&#8217;t even know if it&#8217;s possible for me to meet my definition of success, but I would rather fail and understand I never had a chance instead of giving up and never even knowing if I had a chance at all.</p>
<p>Anyway, I&#8217;m going to try blogging a lot more often to track my thoughts and progress so maybe I can look back and review them to help figure out what I could improve on. This does mean that many posts will be a bit more personal, but to make up for it I&#8217;m going back to posting actual content you care about including tutorials and stuff. Hopefully they won&#8217;t end up as emo as these past two though&#8230; Haha.</p>
<p>So pretty much I&#8217;m starting over with everything and I&#8217;m throwing away all the extra weight I don&#8217;t need. This includes big projects like Modern Edge and the online community project. Sorry everyone&#8230; I guess you can consider them a Duke Nukem Forever, but I hope to one day return and actually finish them. Instead of going high-level with languages like PHP and C# and building big projects, I&#8217;ve decided to start at a lower-level with C and start small. Hopefully I will build up from there.</p>
]]></content:encoded>
			<wfw:commentRss>http://isaaclean.com/personal-life/changes/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Fresh Start</title>
		<link>http://isaaclean.com/personal-life/a-fresh-start</link>
		<comments>http://isaaclean.com/personal-life/a-fresh-start#comments</comments>
		<pubDate>Wed, 30 Nov 2011 17:17:48 +0000</pubDate>
		<dc:creator>Isaac</dc:creator>
				<category><![CDATA[Personal Life]]></category>

		<guid isPermaLink="false">http://isaaclean.com/?p=774</guid>
		<description><![CDATA[I&#8217;m writing this post just to say that this marks a fresh start for me and that I&#8217;m finally going to realize reality and take control of my life. I&#8217;m going to stop thinking about how I&#8217;m failing and hopeless in school. I&#8217;m going to stop thinking about the opportunity I lost to be with [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m writing this post just to say that this marks a fresh start for me and that I&#8217;m finally going to realize reality and take control of my life.</p>
<p>I&#8217;m going to stop thinking about how I&#8217;m failing and hopeless in school. I&#8217;m going to stop thinking about the opportunity I lost to be with my &#8220;dream girl.&#8221; I&#8217;m going to stop thinking about all of the friends and college moments I had to throw away. I&#8217;m going to stop thinking about everything I missed out on. It&#8217;s already behind me and there&#8217;s nothing I can do about it, so there&#8217;s no point thinking about what I could have done because it&#8217;s already past. Nothing can change what already happened. The fact is, no one is to blame for all of this except for myself. If I want to prevent things like these from happening again, I need to work on myself now.</p>
<p>On the other side of things, I&#8217;m going to stop thinking about all of the time and money I need to get through school. I&#8217;m going to stop thinking about how I need to make something big now or I&#8217;ll never become successful in my life. The fact is, I&#8217;m too weak, stupid, and poor to do those things now. It isn&#8217;t school that&#8217;s getting in the way, it&#8217;s my incompetence. To get what I want, instead of worrying about the future, I need to worry about what I need to accomplish now.</p>
<p>All of the problems of the past or the future aren&#8217;t relevant to the problems I need to confront now. Instead of looking a million steps behind or ahead of me, I need to start looking at the the one step right in front of me. This is what I need to do now, and if I conquer each obstacle in front of me one at a time, slowly but surely I&#8217;ll get to where I want.</p>
]]></content:encoded>
			<wfw:commentRss>http://isaaclean.com/personal-life/a-fresh-start/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy Late First Birthday Blog!</title>
		<link>http://isaaclean.com/personal-life/happy-late-first-birthday-blog</link>
		<comments>http://isaaclean.com/personal-life/happy-late-first-birthday-blog#comments</comments>
		<pubDate>Sat, 01 Oct 2011 05:53:32 +0000</pubDate>
		<dc:creator>Isaac</dc:creator>
				<category><![CDATA[Personal Life]]></category>

		<guid isPermaLink="false">http://isaaclean.com/?p=699</guid>
		<description><![CDATA[I&#8217;ve been so busy lately, I forgot to say happy birthday to my own blog! It turned one on September 25, 2011&#8230; so blog, happy birthday! You&#8217;re the longest lasting, most frequently updated blog I&#8217;ve ever run in my life, so hopefully you don&#8217;t become abandoned and forgotten like all of my other ones. By [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been so busy lately, I forgot to say happy birthday to my own blog! It turned one on September 25, 2011&#8230; so blog, happy birthday! You&#8217;re the longest lasting, most frequently updated blog I&#8217;ve ever run in my life, so hopefully you don&#8217;t become abandoned and forgotten like all of my other ones. By the way, this counts as this month&#8217;s post too. Hurrah for having no time!</p>
<p>But seriously, I&#8217;ll write up a new blog post on what I&#8217;ve been doing lately pretty soon (hopefully).</p>
]]></content:encoded>
			<wfw:commentRss>http://isaaclean.com/personal-life/happy-late-first-birthday-blog/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Modern Edge Prototype Now Online</title>
		<link>http://isaaclean.com/projects/modern-edge/modern-edge-prototype-now-online</link>
		<comments>http://isaaclean.com/projects/modern-edge/modern-edge-prototype-now-online#comments</comments>
		<pubDate>Mon, 12 Sep 2011 13:49:34 +0000</pubDate>
		<dc:creator>Isaac</dc:creator>
				<category><![CDATA[Modern Edge]]></category>

		<guid isPermaLink="false">http://isaaclean.com/?p=690</guid>
		<description><![CDATA[Modern Edge&#8217;s first prototype is now online and viewable at: http://isaaclean.com/newsite Let me highlight some cool features it has: Ajax Page Load Each menu and page is loaded in via Ajax coded through jQuery. That&#8217;s why the page never actually refreshes and each section of the page loads in on one single, persistent page! Cool [...]]]></description>
				<content:encoded><![CDATA[<p>Modern Edge&#8217;s first prototype is now online and viewable at: <a href="http://isaaclean.com/newsite">http://isaaclean.com/newsite</a></p>
<p>Let me highlight some cool features it has:</p>
<ol>
<li>
		<strong>Ajax Page Load</strong></p>
<p>Each menu and page is loaded in via Ajax coded through jQuery. That&#8217;s why the page never actually refreshes and each section of the page loads in on one single, persistent page!</p>
</li>
<li>
		<strong>Cool Animations</strong></p>
<p>Animations coded in jQuery not only make the website look cool and fun to use, but they also give visual feedback as to when the page is changing.</p>
</li>
<li>
		<strong>Resizeable Window</strong></p>
<p>As you resize the window, some page features will adjust like the second column&#8217;s size and the shadow around the edge of the browser screen. Also, the site supports up to viewport widths of 1024px through media queries.</p>
</li>
<li>
		<strong>HTML5 Document and CSS3 Styling</strong></p>
<p>Uses HTML5 elements to structure the site and uses CSS3 styling to get &#8220;Photoshop-like&#8221; effects such as drop shadows, RGBA backgrounds, and @font-face kits.</p>
</li>
</ol>
<p>Just note that this is the first prototype so there&#8217;s plenty of bugs. Also not all the content is in right now, but it will be pretty soon. School is starting soon and I don&#8217;t think I&#8217;ll be able to reach a 100% finish before then, but I hope to have a more optimized and less buggy second prototype out by then.</p>
]]></content:encoded>
			<wfw:commentRss>http://isaaclean.com/projects/modern-edge/modern-edge-prototype-now-online/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Planning Modern Edge</title>
		<link>http://isaaclean.com/projects/modern-edge/planning-modern-edge</link>
		<comments>http://isaaclean.com/projects/modern-edge/planning-modern-edge#comments</comments>
		<pubDate>Thu, 01 Sep 2011 06:37:35 +0000</pubDate>
		<dc:creator>Isaac</dc:creator>
				<category><![CDATA[Modern Edge]]></category>

		<guid isPermaLink="false">http://isaaclean.com/?p=576</guid>
		<description><![CDATA[I&#8217;ve decided to blog my design and development process for the WordPress theme I call Modern Edge which will also be used for IsaacLean.com&#8217;s first revamp. I&#8217;m considering to sell it in the future too which is why it isn&#8217;t blatantly named IsaacLean.com like the current theme, but I think it will be exclusive for [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve decided to blog my design and development process for the WordPress theme I call <em>Modern Edge</em> which will also be used for IsaacLean.com&#8217;s first revamp. I&#8217;m considering to sell it in the future too which is why it isn&#8217;t blatantly named <em>IsaacLean.com</em> like the current theme, but I think it will be exclusive for this website for a while. Instead of blogging about everything once the theme is done, I thought it would be more interesting to blog during the theme&#8217;s creation so it could more accurately reflect my thought process. Chances are I&#8217;m going to cut things out if I just post everything afterwards which will probably leave out some extra detail that I might be able to reflect on to improve myself afterwards.<br />
<span id="more-576"></span></p>
<h2>Feeling</h2>
<p>So the first thing I thought about was the feeling. Since this was a theme that was going to be on my personal website, I wanted it to reflect about myself some how. Immediately I thought about colors. Being that blue is my favorite color, I decided to design around it. (It&#8217;s also why the current website is blue actually.) The next thing I started thinking about was space. Originally as a child I wanted to be an astronaut since space intrigued me, so to reflect that childhood dream I started thinking about space and techy things.</p>
<h2>The Cool Idea That Just Didn&#8217;t Work</h2>
<p>My first impulse was to make a dark layout because&#8230; well space is dark. To contrast with the darkness, there would be a lot of glowing blue. Now to make it feel techy, being a gamer I immediately thought of taking inspiration from the interfaces used in the <a href="http://en.wikipedia.org/wiki/Dead_Space_(video_game)">Dead Space</a> game franchise. What interested me wasn&#8217;t just the futuristic theme of the game. It was really its creative use of futuristic user interfaces. For example, in Dead Space 2, there is no <a href="http://en.wikipedia.org/wiki/HUD_(video_gaming)">HUD</a>. The interface is actually integrated with the in-game environment. So when you go through a menu on Dead Space 2, you aren&#8217;t just scrolling through it with your joystick. You actually see your character interact with the interface in the world. This technique is a lot easier to pull off in futuristic games since the creative interfaces used in the game are very believable with a futuristic setting. Check out some gameplay footage of the game shown in the following video:</p>
<p><i><b>Warning</b>: The following video may content some mature and disturbing content.</i><br />
<b>Dead Space 2</b><br />
<iframe width="560" height="345" src="http://www.youtube.com/embed/9wkUu5dN0LU" frameborder="0" allowfullscreen></iframe></p>
<p>The next thing that came to mind was the movie <a href="http://www.imdb.com/title/tt0181689/">Minority Report</a>. The interfaces used are similar to those found in the Dead Space franchise. The main thing I noticed in the video clip though was the way Tom Cruise interacted with the interface. It reminded me of how we use many modern Apple devices today (which is interesting because the iPhone wasn&#8217;t released until 2007). Immediately I thought that perhaps I could code some interesting interactions as well as give a sleek feeling by using JavaScript/jQuery.</p>
<p><i><b>Warning</b>: The following video may content some mature and disturbing content.</i><br />
<b>Minority Report</b><br />
<iframe width="560" height="345" src="http://www.youtube.com/embed/NwVBzx0LMNQ" frameborder="0" allowfullscreen></iframe></p>
<p>For more specific color choices and experiences, I started looking at many websites. These webpages in particular interested me:<br />
<a href="http://www.namaste.vg/home">Namaste<br />
<img src="/images/namaste.png" alt="Screenshot of Namaste's website"></a><br />
<a href="http://www.bungie.net/Inside/aboutus.aspx">Bungie &#8211; About Us<br />
<img src="/images/bungie-aboutus.png" alt="Screenshot of Bungie's About Us page"></a><br />
<a href="http://deadspace.ea.com/">Dead Space 2<br />
<img src="/images/deadspace2.png" alt="Screenshot of Dead Space 2's website"></a></p>
<p>So I began thinking about what technologies I wanted to use. While I could easily use Flash, I wanted to use JavaScript/jQuery/Ajax instead. That way the website would be more search engine friendly and it would be a bit more challenging to code. Also, seeing Flash-like affects simulated in jQuery is very rewarding since it&#8217;s cool to say, &#8220;That isn&#8217;t Flash! It&#8217;s generated without the use of 3rd party plugins!&#8221; even though jQuery has been around for ages. (Well when you think about it, jQuery&#8217;s only been around for 5 years. But in technology time that&#8217;s the equivalent to 5 centuries.)</p>
<p>With the colors, inspiration, and technologies ready, I whipped out my pencil and sketchbook and started drafting. This is the first draft I ended up with:<br />
<img src="/images/modernedgedraft1.png" alt="First draft of Modern Edge"><br />
The basic idea was that the content area (the panels in the center) would change without refreshing the page as the user interacted with navigational elements. Each time a new page is loaded, the header (the top bar) and the footer (the bottom bar) would remain on the page while the content areas would fade and slide off the screen, only to be replaced with the newly requested content panels. Since the entire page doesn&#8217;t reload like most websites, the experience would feel more persistent. This technology combined with the overall feeling the website would make it feel like you&#8217;re going through a computer system instead of a series of webpages.</p>
<p>The more and more I thought about it though, the more I was thinking about really dark, techy interfaces that would appeal mainly to techy nerds. While the whole concept was cool, perhaps it was too bizarre for the average visitor. Remember, this site isn&#8217;t just for those techy people, but it&#8217;s also a way for potential clients to evaluate my work and contact me too so I need to make sure it&#8217;s accessible and appealing to them. Sure I want to give a techy-vibe, but at the same time I don&#8217;t want to deter my source of income. The last thing I want is to scare away a potential client just because he/she thinks the website is a computer game or something like that. Not only that, but I have to build this theme as soon as possible so I can submit it along with my resume to potential employers for this upcoming school year. Doing something as experimental as this idea would take a lot of research and iteration to get it right. The whole concept intrigues me though, so I&#8217;m considering to give it a go as a side-experiment when I have spare time (which probably won&#8217;t be for a long while).</p>
<h2>A Total 180</h2>
<p>After sadly scrapping that very cool idea, I decided to do a total 180 and create a light layout. To appeal to both techy and potential client visitors, I decided to go for a more modern and clean feel. The colors would center around blue, grey, and white, and I wanted the background to feel textured with grain/noise so it wouldn&#8217;t feel to bland. Here&#8217;s one example of a similar look I wanted for the background:<br />
<a href="http://yoast.com/wordpress-theme-anatomy/">Yoast &#8211; The anatomy of a WordPress theme<br />
<img src="/images/yoast-anatomywordpress.png" alt="Screenshot of The anatomy of a WordPress theme article on Yoast"></a></p>
<p>Then I came across the portfolio of Nick Jones on his website called Narrow Design. What interested me the most was the way the visitors interacted with the website. I definitely liked the sleek feeling it gave. The way the elements slid into their places was interesting and even fun. While it didn&#8217;t have a futuristic theme, the interface reminded me of the sleekness shown in the interfaces in Dead Space 2 and Minority Report. Another thing that caught my eye was that the website was left-aligned. Most websites these days are centered on the screen. Off the top of my head, <a href="http://www.alistapart.com/">A List Apart</a> was the only other left-aligned website I could think of. It would be cool to do something a bit more unique like left-alignment to make my website stand out.<br />
<a href="http://www.narrowdesign.com">Narrow Design<br />
<img src="/images/narrowdesign.png" alt="Screenshot of Narrow Design's website"></a></p>
<p>Immediately after seeing the website, I started the second draft.<br />
<img src="/images/modernedgedraft2.png" alt="Second draft of Modern Edge"><br />
As you can see, the inspiration was heavily taken from Narrow Design, however there are many design considerations I took that make it a lot different. For one, instead of using Flash, like the first idea I wanted to use JavaScript/jQuery/Ajax instead to simulate that cool, sleek feeling. Second, the design has to handle both a blog and a portfolio while integrating many of WordPress&#8217;s dynamic features like the search and categories instead of just a showcase for portfolio items.</p>
<p>Now to explain the draft&#8217;s intended functionality. So basically the website is split into 3 columns. Column 1 which is on the far left acts as as the &#8220;header&#8221; of the page and functions as the main navigation and search. The interactions on this column determines what appears in column 2. Column 2 is essentially a list that changes depending on what&#8217;s selected in column one. For example, if blog is selected in column 1, column 2 will list all the posts in the blog that you can read. If portfolio is selected in column 1, instead of a list of blog posts, a list of portfolio items will show up instead in column 2. Now if you select on a particular post/portfolio item in column 2, column 3, otherwise known as the content area, will show the actual content the user requests. Note that this is all done without a single page refresh to keep the experience persistent thanks to Ajax. To prevent the visitors from getting confused when screen space is replaced with new content, as each column changes the visitor will obtain visual feedback due to the jQuery animations clearly showing when a column&#8217;s content is swapped out for new content.</p>
<p>As I thought about it more and more, I realized that the color scheme/overall feel I was thinking of would be very fit for Project Katacom, a project that I&#8217;m planning to (hopefully) announce later this year. So then I decided to scrap the colors/feel for this project and once again I started looking at different color schemes. The good thing was that this time around I was sure about the functionality of the site as shown in the second draft, so at least a few things were staying.</p>
<h2>Going Back to the Dark Side</h2>
<p>So off I went to look for more inspiration and shortly I found Blitz. I really liked the color scheme they chose. While it was centered around blue and black, its tone was a bit lighter in feeling compared to the dark tecy black and blue I was thinking about with the first design. This really inspired me to return back to a dark layout again, except this time I would consider the accessibility and appeal more instead of being lost in the whole &#8220;doing something totally new and savvy&#8221; deal.<br />
<a href="http://www.blitzagency.com/our-work/">Blitz &#8211; Featured Work<br />
<img src="/images/blitz-featuredwork.png" alt="Screenshot of Blitz's Featured Work page"></a></p>
<p>Another website I particularly liked was Sidebar Creative. Their color choice was nice, but what caught my attention was their use of the grainy, textured background. While I planned to use a grainy/textured background for the light layout, this website made me consider to bring that idea over to the darker layout.<br />
<a href="http://sidebarcreative.com/">Sidebar Creative<br />
<img src="/images/sidebarcreative.png" alt="Screenshot of Sidebar Creative's website"></a></p>
<p>So now that I had a general idea on what I wanted, it was time to get down and dirty. While planning can help prevent some problems, nothing beats actually confronting unexpected problems during the implementation process. Honestly, I would normally put more time into the planning process, but I want to finish this before September 6th when my school&#8217;s job board goes up, so I have a pretty tight deadline coming next week! The post about coding Modern Edge comes next!</p>
]]></content:encoded>
			<wfw:commentRss>http://isaaclean.com/projects/modern-edge/planning-modern-edge/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Summer Break Update</title>
		<link>http://isaaclean.com/personal-life/summer-break-update</link>
		<comments>http://isaaclean.com/personal-life/summer-break-update#comments</comments>
		<pubDate>Wed, 27 Jul 2011 22:39:21 +0000</pubDate>
		<dc:creator>Isaac</dc:creator>
				<category><![CDATA[Personal Life]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[break]]></category>
		<category><![CDATA[changes]]></category>
		<category><![CDATA[katacom]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[studying]]></category>
		<category><![CDATA[summer]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://isaaclean.com/?p=536</guid>
		<description><![CDATA[So far all summer pretty much all I&#8217;ve been doing is studying. Exciting right?! Pretty much I&#8217;ve been extensively studying PHP, MySQL, SQL, JavaScript, jQuery, and a bit of Java on the side (sounds yummy don&#8217;t it?) because I&#8217;m planning to build an all new website! For now it&#8217;s code named Project Katacom and all [...]]]></description>
				<content:encoded><![CDATA[<p>So far all summer pretty much all I&#8217;ve been doing is studying. Exciting right?! Pretty much I&#8217;ve been extensively studying PHP, MySQL, SQL, JavaScript, jQuery, and a bit of Java on the side (sounds yummy don&#8217;t it?) because I&#8217;m planning to build an all new website! For now it&#8217;s code named <em>Project Katacom</em> and all I&#8217;m saying for now is that it will be an online community for people interested in stuff like graphic arts, web design, programming, audio production, video production, game development, and possibly even other topics.<br />
<span id="more-536"></span><br />
I&#8217;m determined to actually get this project off the ground. If you&#8217;ve seen my projects in the past, most of them never get finished! Unfortunately I&#8217;m gifted with the power to extensively plan and prepare for things, but when it comes to implementation I utterly fail. That&#8217;s why I&#8217;ll be periodically posting updates on what I&#8217;ve done on the project just to give myself a log on what I&#8217;ve completed which will then give me a good idea on where I need to go. It&#8217;ll also pressure me to complete the project more since everyone will be able to see the progress on the website, so I&#8217;ll basically get more crap if I don&#8217;t follow through with the project.</p>
<p>Anyway, I did these changes a while ago, but I&#8217;d like to officially state these changes in a blog post:<br />
I&#8217;ve decided to remove the &#8220;Class Reviews&#8221; category entirely along with the posts in it since only a very, very small audience will understand and actually use it. I will be also removing some of my past tweets as I will try and be more conscious in splitting my personal and professional personas. The personal stuff will stay on Facebook, and the professional stuff will be everywhere else that&#8217;s under public view. That doesn&#8217;t mean everything I write in public will sound like a lifeless robot, but I&#8217;m just doing it so I want to leave appropriate impressions on the right people. It wouldn&#8217;t be good if a client saw I just came back from a wild party before working on his/her website now would it&#8230;?</p>
<p>While we&#8217;re on the topic of this website, I&#8217;m getting quite bored of this WordPress theme (which is actually a great example of me never finishing things since I never completed styling the comments which is why comments are always disabled&#8230;). While <em>Project Katacom</em> won&#8217;t be open to the public by the end of this summer, what I can promise is that IsaacLean.com will have a revamp sometime before I head off to school again! Look forward to that since my PHP and jQuery skills have sharpened. This time let&#8217;s hope I actually finish the theme (along with styling the comments of course) so you guys can comment on these posts!</p>
]]></content:encoded>
			<wfw:commentRss>http://isaaclean.com/personal-life/summer-break-update/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
