Monday, April 7, 2014

Friday, April 4, 2014

Week 35 : Interviews

This is gonna be short and sweet, I spent the last week traveling doing interviews and things have been well. However I am shocked to not hear back from companies, yes or no let a man know! Anyway I have another programming test today and am excited about the start up so let's see if it pans out.


See you in five weeks

Wednesday, March 26, 2014

Week 34 : RoseTree Compiler


It has been a hectic week already, have been writing papers, presentations and projects early so that all the interviews I am about to embark on won't impact my studies. I was very nervous about the latest compiler assignment, essentially we had to start from scratch using Yacc & Lex. Well it turns out Yacc & Lex make things easy, I finished my front end in one day!

When I was done with my project my boss said something that meant a lot "I am hard pressed to think of something you haven't learned now". That make me feel great, regardless of the outcome of these interviews I feel like I succeeded in learning computer science. I feel complete, now if I can just get a paycheck!

Oh and I sold my house last week.

See you in seven weeks

Monday, March 17, 2014

Week 33 : Lua Game Play Programmer


Let's look at the Tell Tale Position 'Lua Game Play Programmer' and breakdown how I am an ideal candidate.

Telltale’s Gameplay Programmer group is responsible for bringing the visions of the designers and artists to life, as well as contributing in meaningful ways to user interactions and overall game play.  Working on small product teams alongside industry innovators in game narrative design and cinematography, push the boundaries about how players consume and experience games.  Development is done entirely in Lua and Telltale’s multi-platform downloadable game development system; the “Telltale Tool”, you can help to create tons of amazing content for Xbox, PS3, Wii, iOS, PC, Mac and Android.

Essential Skills and Experience:
• A minimum of 1 year of professional experience in the games business or 3 years experience developing games in any environment.
• Experienced with languages such as Lua, Actionscript, Perl, Python, and C.
• Experienced at level building, prototyping, UI design, writing, and other game design elements.
• Self-motivated and diligent, with good habits for tracking one’s own tasks, seeking out answers when needed, and actively participating in the entire production effort.
• Posses strong knowledge of programming data structures, logic, and algorithms.
• Passionate about being in a highly iterative environment with a desire to participate in many areas of game development.  This is a position for a ‘Jack-of-all-trades’ programmer!
  
Preferred Skills and Experience:
• B.S. degree in Computer Science or equivalent experience.
• Experience building your own games or levels from scratch with the ability to demo these personal projects.
• Experience working in a 3D rendering environment or 3D game engine (i.e. Maya, 3DS Max, Unity, Torque, Unreal, etc.  )
• Solid working knowledge of Lua
• Passion for interactive fiction, narrative game play, and cinematography.


1) A minimum of 1 year of professional experience in the games business or 3 years experience developing games in any environment.

As of right now I have been working in the game industry since 2001. I joined my first company in 2003 then I joined Plastic Games in 2005. We had our first Disney contract in 2006.

2) Experienced with languages such as Lua, Actionscript, Perl, Python, and C.

Of the languages described I have the most experience with C and Python, I dabbled in Actionscript when I was teaching and Lua I am learning right now. At this point I am not intimidated by any 'C' style language, I know the core data structures, learning nuances of a language are usually covered in how to books. I find that having a good IDE is key to how successful you are at producing bug free code.

3)  Experienced at level building, prototyping, UI design, writing, and other game design elements.
Gosh, all of these concepts are the reasons I enjoy game development. I have done each of these for any number of products let it be a Disney attraction or something added to Bit Shifter (Plastic Game's flagship product)

4)Self-motivated and diligent, with good habits for tracking one’s own tasks, seeking out answers when needed, and actively participating in the entire production effort.
As an Indie there is no way you will succeed unless you are self disciplined and motivated. As for tracking tasks, I love marking things off my to do list, and well my white board might be the best thing I ever bought. My success in my Master's can to be attributed to learning how to ask the 'right' questions.

5)Posses strong knowledge of programming data structures, logic, and algorithms.
Check, let see this last year I implementing convolution for Computer Vision image processing, created a compiler, added a planner to Unity3d and developed a data set comparing Fringe & IDA* to A* path finding.

6)Passionate about being in a highly iterative environment with a desire to participate in many areas of game development.  This is a position for a ‘Jack-of-all-trades’ programmer!
 As an Indie it is crucial that you can assume multiple roles. Normally I am the game play programmer but if I am needed as a technical artist I do so, if the web page need fixing then that is what I do. When you only have two engineers on a team you tend to put on many hats. As a small company we have also learned that agile iterative development is the only way to find the 'fun' in a game.

7) B.S. degree in Computer Science or equivalent experience.
I have a Masters and over a decade of experience!

8) Experience building your own games or levels from scratch with the ability to demo these personal projects.
I'll have plenty of examples to show.

9)Experience working in a 3D rendering environment or 3D game engine (i.e. Maya, 3DS Max, Unity, Torque, Unreal, etc.  )
Yep, I taught 3d modeling, Animation, and Game Engines  over the years, and have worked with each of these applications.

10)Solid working knowledge of Lua
Check, I have already read many interesting articles about Binding C/C++ objects to Lua objects. Now I am gaining familiarity with the nuances, like .. upvalues, closures, & tables.

11) Passion for interactive fiction, narrative game play, and cinematography.
Eleven year ago I wrote this. I always felt games would be a great medium for story telling and cinematography.

So there you have it every point is covered, I have yet to find a job description that I fit more perfectly into.

Tell Tale Game you are my # 1

See you in eight weeks

Tuesday, March 11, 2014

Week 32 : Spring Break


Ahhh Spring Break a time to rest, sorta. I must admit it is now four days into Spring Break and I have worked during three of them. I figured it was a good time to get ahead of work, boy was I right. I have finished implementing semantic checks on my parse tree AND my tree is generating generic assembly code. Kazah , that means my RoseTree compiler is feature complete! I deserve a day of rest.

Today will be a lite work day, I will just generate a dataset for my AI project. In the meantime I'll continue my reading on LUA and maybe spoil myself by reading a comic. So is the life of a CS engineer.

On the jobs side I have been inundated by local recruiters, which leads me to believe I look good on paper. Now all I have to do is make it thought the interviews.

Oh and on that note, I am still waiting on TellTale to reach out so we can begin the process. Let's hope today is the day.



See you in nine weeks

Monday, March 3, 2014

Week 31 : Growth

It seems that every week I encounter another milestone. This week is the 9th week of the semester, which means I am in the second half.

I'd like use this week's blog to post things I have realized while in school

1) It's not the programming language it is the problem solving skills. Many people ask you 'what is your best programming language' to be honest it is all of them. I realized that it isn't the language so much as the tool you use. Without a good debugger it doesn't matter how good you are at programming a language. Eventually you will make a mistake, and having a good IDE is imperative to finding and fixing those bugs.

2) Ego is everywhere, I have always tried to be humble, especially in regard to coding. There are plenty of other coders who know more about this subject or that, it is important to be able to listen to them.  Being able to work with others is a fundamental aspect of teamwork. You will encounter conflicts, as an adult you must be willing to adapt. If the conflict persist, be the bigger man, don't let your emotions get the best of you, seek a supervisor it is their job to get things worked out.

3) Communicate! I can't tell you how frustrating is is working with someone who never provides updates. As team members we need to talk, daily. I see this regularly with students, especially those fresh out with a Bachelors in Computer Science. Most never have had to work with others professionally, they don't realize their silence is holding up work. For all of you out there, I need to know what you are doing because I don't want to do something you just finished and more importantly I need to know we are 'moving the rock'.

I think those are the top issues to being a successful programmer.

See you in ten weeks

Monday, February 24, 2014

Week 30 : Coding

Another huge milestone reached, this means only 10 weeks left to get employed, yikes!

All in all this next week is about coding, I spent the weekend building an infrastructure for a Token Ring Network. Now I must pass that code to my partner and hope she is up to the task of implementing voting and token passing.

So today I revisit the AI path finding project, where I'll implement a protocol for reporting successful runs to the console. After that feature all that is left is map sharing.

Later in the week I will pick up on the RoseTree Compiler. I am at the point where I am creating the Parse Tree, and although my process yields me a tree of some sort I think I can improve it to yield just a syntax tree instead of the full parse. Before I proceed coding I need feedback from the professor so I don't waste time on a golden fleece approach.

'How did the interviews go?' you might ask. Pretty well, I have been asked to visit a site and there is still activity on my LinkedIn account, I am hoping to get a few more interviews before Spring break starts and the next phase of the hiring process begins.

See you in eleven weeks.

Monday, February 17, 2014

Week 29 : Hiring Season

It is official, 'Hiring season' is upon us. Apparently the window starts on Groundhog's Day and goes to Easter. I can say that I have been contacted by several companies already. Non recruiter interviews are scheduled let's hope things pan out. As this blog is about my quest to get a job at Tell Tale we will keep the other interview's private.  I know several former students are following my blog, they are always welcomed to ask for details. I plan on recapping to whole process once Tell tale has made their offer =)

In the meantime I get to work on my interview skills while juggling school. I hope I am burdened with traveling and finishing assignments. On another positive note, the house is done. It should be listed by the end of the day. All in all my plan is panning out.



See you in Twelve weeks

Tuesday, February 11, 2014

Week 28 : Save the Cat


Wow week 28, that means I have been at this for seven months. What do I have for you this week you ask?

Well, I decided to pickup a book on screen writing, don't worry I haven't given up on my dream to make games only to decide to move to LA and be the next big screen writer.

I did however spent the weekend watching some classic movies and began dabbling with a movie idea myself. Yes, I did attempt to start writing a script. I quickly came to the realization I don't have a clue on how to write a movie. Sure I have watched plenty, and read plenty of plays in my youth, but I never really attempted to write one. Heck 110 pages should be easy to bust out, boy was I wrong.

So I found a book 'Save the Cat', it is a very good read, nice and light. Most importantly it gives you the right questions to ask. What is the one line that describes the whole story? Who is this story about? How is he/she growing through the story? What is the demographic? What is the time frame?

These are all great questions that help you refine your idea. Although I am not planning on writing the next big budget movie I do think these questions help in game development. At Plastic Games we have been working on a game for a while. The game play is solid and fun but the story. . . the story isn't fleshed out. So why not use the basis for solid story telling, the movies, also for game development? It seems like the natural thing to do.

As we know, Tell Tale Games is all about story. Story drives the game. I would bet most of the story writers at Tell Tale have written scripts and plays themselves. It is not only good to learn how to write better for my personal knowledge, there is a language to script writing. It is better to become familiar that language now than to have a blank look at my face when I am asked about 'log lines' and 'act breaks'.

I actually have a book on writing for animation, that one will be read next, and perhaps a book on writing for comics. I have looked into books focused on writing for games, but I am hesitant to read them. The authors have plenty of games in their pocket but many of their credits are sports game related. I don't ever recall be captivated by the plot line in Fifa or Madden. Let's face it, good story writing is few and far between. Perhaps it is a result of the infancy of games or maybe there isn't a target audience to justify publishers creating such a niche book.

In any case a good student can take the fundamental solutions from one subject and reapply them to new problems. That is what knowledge is all about.

See you in thirteen weeks

Monday, February 3, 2014

Week 27 : Unlikely Events

Last week was very interesting, first off it snowed down here in Florida. It was an ice storm really, there was a little dusting of snow on top of the ice. Nothing that a northerner would be concerned about but this is Florida, and Florida doesn't have salt trucks. The town pretty much shut down, the University closed, the stores closed, it was sorta odd.

Then last Friday I was researching for my assistance ship, I found some interesting articles about NASA's continuous planning systems called ASPEN and CASPER. I was put on this task because the school wants to build a system for 'smart' houses using planning. ASPEN and CASPER use iterative repair on their plans so there is no conflicts.I had initially heard of their systems when I was researching for my Master's project. One of the dilemmas with planners is making sure the generated plan is still good after that small window when it is generated and executed.

Long story short I read the articles and said hey I wonder if there is any jobs for this tech. Low and behold there was a 'entry' level position in NASA's planning and scheduling department. Now I love games but  this job would be the only job that would superseded my passion for games. So I applied.

It made my top three job opportunities:
1) LUA Scripter at Tell Tale Games
2) Software engineer at NASA's Planning and Scheduling systems.
3) Developer for IBM's Watson supercomputer

It is nerve racking putting these applications out now, knowing there is probably a six month turn around before I even hear back. In fact all weekend I was a bit distraught worrying about what my future holds starting May 3rd.

 Then I told myself 'Anything could happen. Heck it snowed in Florida!' That seemed as unlikely as my ex wife contacting me . . . . until she did.

I think God is reassuring me.

See you in Fourteen Weeks

Monday, January 27, 2014

Week 26 : Renovation Complete

So I am stepping off topic a bit this week. If you have followed this blog you know that in the process to get ready for a new career and life I have been putting my 'ducks in a row'. Specifically I have been getting my house in Kentucky ready to be sold. I really live in California if I have have property in Kentucky, not to mention the money will go a long way. When I started this adventure, twenty six weeks ago, I decided that I needed to sell my house. If you recall in late October we had a disaster happen, a leak in the slab set me back in my timeline and budget. Well I am happy to say that this weeks concludes all the renovation. We added a new kitchen, improved the porch, oh and re plumbed the whole house. But it looks like we will be re listing the house this week and better yet an old neighbor is looking to move back to the street, with any luck I'll have it sold as soon as it hits the market! I have been blessed that my mom has taken the reigns and kept things moving.

I guess this shows you that anything is possible is you keep focused on a single task and work at it each week, like this blog.


Well, time for a morning run and then hit the books. I'll miss school, but I am getting excited to make some money with theses talents.


See you in Fifteen weeks!

Tuesday, January 21, 2014

Week 25 : Rock is a Moving


So it last week I was able to get all my reading done and do a round of coding on all projects. The network project was a bit frustrating because the instructor and graduate student didn't inform us to use port 50000 and higher. So I was pulling hair for a bit just getting the client and server to talk to each other.

The compiler class is fun I believe I have my Lexer working properly (spitting out tokens for string formals, ints, and floats).  I already have my BNF ready now I need to work on my parser. Tangentially related I downloaded a LUA interpreter and have begun learning that language for my potential new job.

In my AI class, my partner redid the GUI framework, which looks sweet. I added IDA* to our options, it is slow and the path it not optimal, AND in actuality it isn't pure IDA* because that takes too long. So this is a modified IDA* with open closed lists. Regardless it is cool to look at, see my Facebook account for a video.

Finally, I finished the published books of Game of Thrones very good stuff. I guess now I have to hurry up and wait for Mr. Martin to publish the next book.

See you in Sixteen weeks

Wednesday, January 15, 2014

Week 24 : Spring Projects

Well this Semester is shaping up to be rather interesting. It looks like my AI project should be fun. I will be working with Brett Henne a super talented engineer. We will explore dynamic navgraphs with A*. Essentially an agent will have a proximity sensor. This sensor will tell the agent which parts of the navgraph are visible. The agent will then try to go to the node closest to the target location. As they move the nav graph will become more visible. If an agent encounters another Agent they can converge and share map information. It should be neat.

Brett showed me C# toolbox on Saturday morning and by Monday night I have built a primitive prototype for the A* algorithm so cool. It is funny how much you can do when you set your mind to something.

In the meantime I need to start researching Visual Programming languages for my compiler class . . .  better start reading.


See you in Seventeen weeks

Monday, January 6, 2014

Week 23 : The Beginning of the End


It is working! Maybe it was the last week's topic, or perhaps that last week was the first week people were back from holiday. Regardless of the reason I finally got what I have been looking for, hope. Last Friday Tell Tale contacted me saying I was a suitable candidate for their Game play Programmer / Lua Scripter! Kahzahh! They plan or setting up an interview sometime in March as to accommodate when I will be graduating. All very promising.

I guess I will continue reading the Song of Ice and Fire, hoping that I get hired and posted on that project. I am a quarter of the way through Feast for Crows, I really love this series.

Now it is time to focus on school. Today denotes the final semester, I get to master the network layer, AI and build a compiler. I must admit I am excited.


See you in Eight teen weeks

Friday, January 3, 2014

Week 22 : Instructor


Funny thing, I have been applying to game companies for two months now and have not heard any word back. So over the break I decide to apply to game schools. Not only have they all replied they replied quickly, like under 24 hours. So it makes me think. . .  what chance does a student of game design actually have if the companies they want to work for won't even respond to their instructors? It is dis heartening to say the least. Are the requirements for game jobs too specialized? Does the game industry just recycle the same programmers over and over? Won't they run out of people?

Many of the positions I see require specialization, for example optimization. Which in layman's terms mean 'can you write algorithms which will be executed on parallel processors?' Well I have read the Open CL  specification, I know the concept, but never had the opportunity to build something my self. So I consider what gaming schools teach. They teach the basics, what are the tools, what is the process. . . . I doubt very much that the students of game schools build a game engine little less designing them to work in heterogeneous systems.

I once believed it was experience the industry wanted so I worked with Indie companies. Then I realized it was a piece of paper stating I knew computer science, which is why I am wrapping up my Masters. Now I fear it is the name of the school which gets you hired. I have know people who have come from highly recognizable schools get jobs in the industry right out of college but fail because they don't have the competitive spirit. A spirit I have, why else would I hold on to this dream without the slightest encouragement from the industry?

Perhaps I am being impatient, maybe I will get that interview today. I hope so, I feel I deserve as much. In the meantime I am applying to other instructor positions. I figure if I find my self teaching again I should choose a school where I can get a PhD while I teach. Though I'd rather be building games.




See you in Nineteen weeks