Selling Overhead

Is what this Gamasutra article called the recent trend in game development to sell “the things that usually end up on the game studio’s cutting room floor”. It’s talking about things like Early Access, selling the game while it’s being developed, and mostly about selling the “Prologue” to Metal Gear Solid V and selling access to Double Fine’s Amnesia Fortnight. First of all, I don’t think it’s really surprising in this age where Publishers are mostly going the way of the dinosaurs and more developers retaking control of their creations and trying to hit the audience directly, saving money while still trying to make hiqh-quality (i.e. expensive) titles. The money has to come from somewhere. The writer stresses the Double Fine and Metal Gear Solid V angle a lot, Double Fine selling access to their prototypes (things we usually couldn’t, and probably shouldn’t see) and Metal Gear Solid being split into (at least) two parts with the first one serving as “prologue” whose content might or might not later also appear in the full game, but I would like to point out two counter examples and say that, once again, when satisfaction is concerned, it’s all about expectations. The current customer expects that when she pays 60$ for a new game it will contain at least 10-20 hours of meaningful gameplay. Whether this is reasonable considering what we pay for movies, music, etc… is a different discussion – this is what we currently expect. In the days of the first StarCraft it Continue Reading →


Posted in Gaming, IT, Practice, Programming, Thinking Out Loud by with comments disabled.

My Coding Conventions

When I run my own company or lead a brand new team, everyone will follow coding conventions. My Coding Conventions! Here they are, to the best of my current knowledge and by probable order of importance. Every method will be documented! That includes purpose, parameters, proper usage, etc… Every property will be documented! Yes. Exactly the same. Every class will be documented! Especially about recommended uses and where it is suppose to go. Every public field which is not incredibly obvious will also be documented! Every conditional block will be an actual block, with parentheses. Even if it’s one line! Starting parentheses always get a new line! Exception: if it’s a conditional or property and it fits in one line. Every method shall appear in full before its first use. This makes the code more readable! Do It! Design for any part of the program should be ironed out ahead of time and with as much detail as reasonableness allows. To be continued… (Suggestion welcome)


Posted in IT, Practice, Programming, Thinking Out Loud by with 6 comments.

Fun With LINQ Expressions, Lambda Functions and Ternary Operators

At work, we work with Unity. Unity comes with its own IDE, MonoDevelop. MonoDevelop sucks. I hate the way it looks. I hate the way it folds code. I hate the way it unfolds everything every time you save. I like the way it finds files and classes but that’s about the only thing I like about it. And I have to use it for debugging. However, I don’t have to use it for actual coding. I use Visual Studio 2013 because we already have it and it’s a pretty good tool. It does lack some advanced capabilities and so I installed the ReSharper plugin which adds a lot of power to VS and makes it even much more useful. What I like about ReSharper is that it suggested a lot of improvements to my code and actually taught me more about LINQ expssions and Lamda functions. I already knew and much liked Ternary operators. I think that all of them make code more lean and prettier and easier to read as it makes it more legible in actual English. The C Trenary operator is “?”. You use it like this: “(condition) ? (variable if true) : (variable if false)”. Much easier than “if (condition) then return variable1 else return variable2”. Lambda functions are a kind of anonymous function that is much easier and shorter to write. So, instead of writing “delegate(KeyValuePair<long, string> pair) { do something with pair }” and shoving all that into a callback, you just write Continue Reading →


Posted in No Category, Practice, Programming, Thinking Out Loud, Work by with 2 comments.

Our Game is the First of the Unity Blog 2014 Global Game Jam Selection

See the post here. Interesting Tidbits: There were 2292 Unity games in the 2014 Global Game Jam out of 4291 total (That’s more than 50%). The Unity blog decided to feature 4 games they found to be interesting (That’s less than 0.2%, of only the Unity games). Our game was number one on that list. Dropbox, where I hosted the web version of the game, is probably getting Slashdotted right now. If isn’t, it should be. I’ll go help with that. By posting to Slashdot. This game took ten people about 30 hours to make. From scratch. Including a few hours of sleep. At one point, seven of them occupied a table meant for one. This was me and Maayan’s first GGJ. I knew one and a half of the other people on the team. Maayan knew one. I would like to think that we had two major factors playing in our favour for recognition: We had a good strong team, covering well all the majour requirements, and each one contributed to the vision. We hit on a very good combination of interesting, challenging, good looking, well sounding, cute, competitive and overall fun gameplay. This was and is incredibly awesome.


Posted in Gaming, Less Interesting News, Maayan, Programming by with comments disabled.

The Results Are In!

And you can see the awesome game we made at the Global Game Jam on my Projects page. The Global Game Jam Game page is right here. And thanks to everyone for a great time and great work. And our Music and Sound Designer is Alon Kaplan, starring as Sir Not-Appearing-in-this-Picture.


Posted in Gaming, IT, Maayan, No Category, Programming by with comments disabled.

My Kind of Jam

Global Game Jam. Don’t try to reach me until Saturday night.


Posted in Gaming, IT, No Category, Programming by with comments disabled.

Not Everything Can Have a Title

אתמול התחיל בקצת דכאון. זה היה מין יום של כל-הדאגות-שבדרך-כלל-יש-בחיים-ובדרך-כלל-אתה-מצליח-לקטרג-בירכתי-המוח-אבל-לפעמים-פתאום-נופלות-עליך-בכל-הכוח. אז הייתי מבואס כל הבוקר. לדבר עם מעין עזר לרומם את רוחי. אבל זאת לא הייתה הבעיה העיקרית. יום לפני חזרתי מוקדם הביתה כי פשוט לא היה מה לעשות. כל המטלות שלנו נתקעו בגלל בעיות עם השרת. אותי שלחו הביתה מוקדם. ואז בבוקר, המצב לא השתפר כל כך מהר כי הצוות שאחראי על השרת רק התחיל לעבוד ולקח להם זמן להביא אותו למצב ששימושי לנו. אז את רוב הבוקר עסקנו בהתאפסות על עצמנו ותכנון לעתיד וחפירה החוצה של משימות שעד אותו רגע “חיכו לאחר כך”. אבל כל היום הזה השתפר פלאים כשעשינו ישיבת חברה על מצב המשחק והתכנון הכללי וביקשו רעיונות והיה לנו רעיונות והקישבו לרעיונות שלנו ודיברנו הרבה על איך דברים צריכים להעשות ומה כן או לא עובד לאילו סוגים של שחקנים. ולקראת סוף היום גם קראו לנו שוב לדבר על הרעיונות והיישומים ובאמת הקשיבו ואני הרגשתי הרבה יותר כאילו לכל אחד מאיתנו באמת יש חלק חשוב בבנייה שלו ואני לא רק מי שאומרים לו אילו לבנים לשים איפה ופשוט עושה את זה. אז אני סיימתי את היום מלא באנרגיה ושמח וטוב לב. עכשיו אני רק מקווה שבאמת ישתמשו במה שאמרנו ואולי גם יקראו לי אחר כך להוסיף עוד נופח נרטיבי.


Posted in Gaming, No Category, Programming, Work by with comments disabled.

My First Day at Work

Was yesterday. Get to know the people more and they’re all very cool people. I didn’t get a lot done but that’s how first days usually work. I still had a lot of fun and I’m still excited to go back. I already think my main issue with a new working environment – people who are fun to work with, accommodating and just all around pleasant – is covered. And today I’m already suppose to start contributing to the actual SCRUM goals. It’ll probably take me longer than expected for the task but it’s still taking something off their hands and clearing some schedule. I’ve just marked the categories for this post and it obviously goes under Life, Work but I’m still not over the fact that probably most of these posts will also go under Programming, Games.


Posted in No Category, Programming, Work by with comments disabled.

And now it’s signed and sealed.

I have the papers in my backpack. I start on December 1st and I can’t wait to get started. But until I explain my blogging situation to my superiors and know what I can and can’t say, everything is confidential.


Posted in Gaming, No Category, Programming, Work by with comments disabled.

איך תיאורים גורמים לי להרגיש

בכל המקומות שאני מחפש בהם עבודה, אני רואה המון תיאורים שונים, למה שאני מניח שהיא, אותה עבודה. רק, כל אחד מהתיאורים האלו גורמים, לפחות למראית עיני, לעבודה להישמע אחרת. וככה נוצרת סלידה מתיאורים מסויימים. תכנת (Tachnat) נשמע כאילו העבודה פשוטה ובנאלית ומונוטונית ומי שמבצע אותה הוא לא הרבה יותר מאשר מכונה הממירה קפה לקוד. תוכניתן (Tochnitan) נשמע כמו Script Kiddie, כמו מישהו שהתעסק קצת עם המיומנות ולמד לבצע כמה דברים פשוטים ולכן אפשר לתת לו כמה עבודות שחורות והוא יסתדר. לא הרבה יותר טוב מקוף עם מקלדת. מתכנת (Metachnet) נשמע כמו מישהו שזאת העבודה שלו. הוא הוכשר לעבודה הזאת במקום מסוים שמכבד את עצמו. הוא מכבד את עצמו וכנראה שיכול להתמודד עם רוב המשימות קרובות הקוד שאפשר לחשוב עליהן. עם תיאור כזה כבר אין לי בעיה. ככה אני הגדרתי את עצמי כשהתחלתי ללמוד. מפתח תוכנה (Mefate’ach Tochna) נשמע כמו מישהו שלוקח את עצמו טיפה יותר ברצינות ו/או טיפה יותר ביצירתיות מאשר מתכנת רגיל. מפתח זה גם כנראה מי שהנושא יותר קרוב לליבו ועושה את זה כי הוא אוהב את זה והיה עושה (וכנראה גם עושה את זה כרגע) גם אם לא היו משלמים לו. מהנדס תוכנה (Mehandes Tochna) נשמע כמו מישהו שהוסמך אפילו מעבר למתכנת פשוט. מישהו שלמד את היסודות והדקויות, כנראה באיזו שהיא אוניברסיטה מכובדת. הוא יודע לא רק לתכנת אלא גם ללכת קצת מעבר. זאת ההסמכה שיוצא איתה בוגר טכניון שהלך כל הדרך. זאת ההגדרה שאני מעדיף ברגע שיש לי דיפלומה יפה ביד. ארכיטקט (Architect) הוא מישהו שכבר היה מהנדס תוכנה והתעלה מעל זה. הוא כבר חושב יותר Continue Reading →


Posted in Humanity, No Category, Programming, Thinking Out Loud by with comments disabled.