Back to www.flyn-devblog.com

By continuing to browse this website or by clicking on the X, you consent to the use of cookies that enable us to collect site-visit statistics and offer you videos, share buttons, personalized ads, and a chat feature. Learn more and set cookie preferences X

No flash

Buy the full version

Flyn : Carnet de Bord

DevBlog > article

Enter the game’s “source”

By Tholank - Tuesday June 12, 2012
Welcome to the less sexy of this blog post.

No nice picture and no dreamlike music here. If you are looking for the story, the atmosphere or the universe of the game: pass by. Here, we talk about code, architecture (the game’s one, not the world’s one) and functionality.

OK, are the curious gone? Now that we are between ourselves, we can start.
For this project, I have designed –among other things- a level editor (you already had an overview of it in the post “The Hitchhiker’s guide to the World-Tree”) and the game, strictly speaking. The game is coded in-house in C# with XNA. But we also use 3 middlewares, Scaleform to manage the animations, Box2D for the game’s physic, and Fmod for the sound effects. The editor is design with “.Net”. I’ll go back over the details of each “branch” in more specific posts.

First, I’m going to address the role of the programmer, his constraints, his difficulties, his suffering… most of them due to graphic, level and sound designers, among others.

The programmer has to centralise the other project participants’ requests. For the game and the editor’s features, he has to find the best and simplest possible solution. Since he doesn’t have enough time to address all the requests, it’s important to assess their significance. The first difficulty is to make a clear distinction between real needs and simple envy.

The team (yes, I lump the whole team together) doesn’t really realise the technical limitations and is able to ask for a feature that need 6 months of work with the same confidence than for a 3-hours one. They’re not afraid to ask for something that would need a NASA’s computer from 2020 to be developed but they hesitate to produce assets that can be run on the first Game Boy. But we doesn’t have to go to the opposite extreme by refusing everything that doesn’t seems important at the risk of breaking their creativity and the game identity.
The most efficient sorting technique -according to me- is the “Triple NO”. It’s quite easy: each time somebody asks you for something a bit complicated, you just answer “NO”, so you have time to think about a potential technical solution. Anyway, if the request is important, the person will try again. Repeat the operation thrice to be sure it’s really important. Then, you have two options:
  • or you have a solution and you can add it to the production schedule,
  • or you don’t have any solution. If so, you have the agonizing and hard job to explain your mate that isn’t possible, even if you’ve understood how important it’s for him.

We got to know that a programmer is continuously called out and therefore has to be everywhere. People call you for the slightest problem, several times a day. It happened to me to explain 5 times the same thing to the same person during the same day (He was tired, Ok).  



Figure 1: Programmer’s daily moving

Note that this isn’t representative of our team. I spend much more time with the level-designers.
This essentially summarises (almost exactly) the programmer’s routine.

Some of this website's features (content sharing on social media, direct viewing of videos) rely on services provided by third-party sites. These features use cookies that notably allow these sites to track your navigation. These cookies are only placed if you allow it. You may learn more about the type of cookies used, and allow them or reject them either in entirety for the entire website and services, or on a service-by-service basis.


All

Preferences for All Services

All

Audience and Ads

Audience cookies make it possible to collect information relating to the connection and behavior of visitors for statistical purposes.

All
Facebook Tracker
Google Analytics
Other

Social Media

Social media make it possible to enhance site conviviality and help promote the site through sharing.

All
Facebook
Google Plus
Twitter
Dicord
Powr Io

Media

Media services make it possible to enhance the site with multimedia content and increase its visibility.

All
YouTube
Twitch
Giphy

Other

Cookies to Enhance User Experience

All
Google Maps
iAdvize