Wednesday 9 July 2014

The Baron Language : Dev Diary #1

I've started a GitHub for my vanity project which is to develop a high-level & very simple scripting language for quick 2D UI prototyping.


I'm going to be developing my "proofs of concept" in Unity for reasons that the framework permits me to write a wrapper language & it's a great environment to run 2D prototypes.

Tuesday 8 July 2014

The BARON Programming Language

I'm currently designing a new programming language, which I'm presently naming 'BARON'…yes, it's named after me, I say to myself if Linus can name an OS after himself why can't I do something similar;)

And also it's BARON all in caps, as an homage to the simplicity of BASIC.


I'm going to publish soon a detailed design intention document but in resume, the goal of this vanity project is to develop a simple wrapper user interface prototyping language.

I currently find it still too slow to prototype & implement UI front-ends for interactive applications, especially on web platforms.

The panoply of client-side web languages/specifications makes it hard to focus on the actual UX design of the front-end interface. My end goal is to wrap CSS, HTML & JavaScript into a simple unified syntax & language structure that is focused on the principales of finite states.

BARON might not be a precise solution for large scale productions but it can become a good tool for quick UI/UX scripting & prototyping.

Wednesday 11 June 2014

WWDC 2014

The one thing I wanted to hear from Apple at WWDC was a focus on stability, they seem to have lost one of their core pillars in their products, which is stableness.


Because the most core element in UX design is not simplicity or responsiveness but stability, for nothing breaks more an user's experience than a unstable system.

Sunday 8 June 2014

Linus Torvalds on Git

Last night, I watched this very interesting talk by Linus on Git,  even the video is slightly out-dated, I was very impressed by his sense of design that goes beyond the back-end but takes in consideration the user's experience in it's core principals.


Another thing I noticed is that he has a very good sense of security and putting forward the importance of integrity checking does make his SCM solution safely distributable.

I'm really considering now switching from a Perforce base to a fully Git solution for my projects.

Friday 30 May 2014

GameJam Judge

Last January, I had the pleasure of being invited as a judge at the Montreal's Global GameJam. It was a very interesting experience because the previous year, I had participated at the same event as a contestant.


So this year, instead of being in the mist of a 48h prototyping process, I actually experienced the event from a completely different perspective.

Being able to play a series of prototypes & give direct feedback to the teams, really helped me sharpen my abilities to give on-the-spot constructive design criticism.

Because one of the most important skills to have as a game or level designer is communication, the design process is very iterative and base on constant feedback, and the ability to express clearly concepts, ideas & intentions verbally is almost equally as important to mastering the actual techniques of game/level design like S&F, composition, progression & structure.

I noticed that those that delivered the best prototypes, were also able to express to us clearly their vision & design intentions during Q&A session.

I recommend to anyone that have participated to GameJams as developers to try at least once being a judge, it's a great way to contribute to the event & meet new talented developers.

Sunday 18 May 2014

CommandlineFu

 

I've found my old commandlinefu entries last week, dating back from 2009 when I was working full-time in IT.

My favorite is my solution to counter dynamic ISP IP addresses without a dynamic DNS.

ifconfig en1 | awk '/inet / {print $2}' | mail -s "hello world" email@email.com

Just need to setup a script in a cron job that checks if your external IP as recently changed.

Sunday 15 December 2013

Business Thinking: how to value your small business

INTRO
This entry is about how you can estimate the value of your small business in the context of a game or multimedia product centric production studio.

After 13 years, working in several capacities in different sized business, I’ve witnessed several start-ups fail in their infancy.

There’s many factors that come into play that determines the success or demise of any business, in this article, I will focus on one common & specific element that seems to cause many startups to halt their growth; and that’s ‘pipelines’ and ‘production process’.

 
Screenshot from Gamedev Tycoon (must play).


REAL-LIFE (EXPERIENCE)
Several years ago, I’ve work in the capacity of unofficial CTO for a small business, the company had a lot of potential, full of promising ideas & a line-up of upcoming products.

At that time, .NET had just came out, promised by Microsoft as a “multi-platform” environment solution, we jumped on the bandwagon mostly because we targeting only Windows & Web at that moment.

The prototype phase of one of our first products was a success, I was able to build a solid & functional mock-up of our main product and deploy it on a Windows & Web environment with a minimum of porting issues.

.NET seemed to be a reliable framework to build our products on, even if the platform was still somewhat unproven, it gave us a good starting point.

The management was very happy and started getting new clients but I wasn’t inform of the deliveries & costs that were being communicated to our customers.
And of course, when production started, serious scheduling issues emerged.

Obviously, there was some communication mishaps between the management & technical team that brought about these issues.

But something more important and more subtle was actually causing a false perception of the management on the true value of the production capacity of the company;

In the management POV and within their limited technical understanding, they took the new emerging .NET framework as a total solution base for the entire pipeline & production process.

In their eyes and based on the successful prototyping phase, .NET was a solution that would make optimization, debugging & maintenance almost null as an expense.

CONCLUSION
And this was the ultimate error, you can’t value your production capacity based on one tool, framework or engine.

That’s why you should only estimate a companies potential once the production process, from conception to deployment and support as been established & proven.

But there’s exceptions to this, especially in the game industry, a small company can actual survive and even grow with rotten production processes & pipelines, if they have a highly markable IP and a lot of investment capital to patch up on the fly.

They will lose on the production but regain on sales.
But that reality is rare and I believe as a business men, this is a highly risky approach, especially in a saturated market.

Unity is starting to also become the holy grail of small business but a lot are learning the hard way that an standardized engine in itself won’t reduce & resolve optimization & debugging expenses.

But it as the advantage of giving an industry a common base and from that, makes it easier to find experienced knowledgeable resources & develop best practices that will reduce but not nullify costs.

I think one of the reasons that we have so much issues in the software industry with developing products at low-costs is that contrary to the manufacturing business, we don’t really deal with tangible physical elements & restraints.

And so everything seems possible until time rears it’s ugly head & kicks us back into reality.

Gamedev Tycoon 
Screenshot from Gamedev Tycoon.