Selamat Datang

Minggu, 29 Maret 2020

Hiring: Project-based 3D Artist



Title: 3D artist
Focus: Polishing environments and props
Type: Full-time, project-based (approx. 1 year)
Last day to apply: 4th of November 2018


After 3 years of hard work, we are now close to finishing one of our new games. We want it to look amazing, and to accomplish that we need more (hu)manpower.

This is where you come in.

We are now looking for an experienced 3D artist, who will focus on environments and props for our upcoming horror game. Our ideal person loves horror, and is able to convey atmospheric environments and terrifying scenes through 3D art. The position is full-time and project-based, lasting for about a year until the new game is ready to be shipped.


What will you work on?

We are quite a small team, but we consider that our strength. As an environment artist you will get to work on every level of the game, ranging from small props to whole levels. This means your contribution will greatly influence how the final game looks, plays, and evokes emotions.

Here are some of the things you will be working on:
  • Creating basic models that make up the levels, such as walls and floors
  • Modelling props of various complexity, both with and without the help of concept art, and often having to take gameplay concerns into account
  • Constructing particle systems, both by drawing textures and using parameters in our editor
  • Combining various techniques to create special effects, such as flowing water or fire.

If you want to know more about Frictional work practices, you can check out the introduction post of Rasmus, who will be your closest teammate.


What are we looking for?

You have to be a EU/EEA resident to apply.

The person we're looking for is creative, driven and most importantly self-sufficient.

Since the position is project-based, we are looking for a person who can start as soon as possible, end of November the latest.

Here are some essential skills we require:
  • Excellent skills at adapting to a style and taking it to a finished state
  • Strong self-drive and ability to organise your own work
  • Interest in and ability to do research for interesting prop and environment solutions
  • Love for working on a variety of tasks
  • Fluency in English
  • Team communication skills
  • Knowledge of game design
  • A Windows PC that runs recent games (such as SOMA) that you can use for work (unless you live in Malmö and will work from the office)
  • A fast and stable internet connection.
And here are some more techie skills:
  • Excellent skills in 3D software. Modo preferred
  • Familiarity with Zbrush/Mudbox/similar
  • Excellent skills in Substance
  • Excellent skills in Photoshop or similar software
  • Familiarity with issue-tracking software
  • Experience in classic/non-PBR workflow.
If you want to impress us:
  • Love for horror and narrative games
  • A major role in completing at least one game
  • Great free-drawing skills
  • Experience in level design
  • Strong game design skills
  • Experience kitbashing/working with modular sets.
For this position you can work from home. We have a central hub in Malmö, Sweden, which you can use if you wish.


What we offer:
  • Flexible working hours, a no-crunch approach
  • Opportunities to influence your work flow
  • Variety in your work tasks, and ability to influence your work load
  • Participation in Show & Tell of games, having a say in all aspects of the game making
  • An inclusive work environment
  • A possibility to become a permanent employee.

How to apply?

If all of the above piqued your interest, we would love to hear from you! Send us your application 4th of November the latest - but the sooner, the better.

Please attach all the following:
  • Cover letter (why you should work with us, what do you bring to the table)
  • CV
  • Portfolio (link or PDF)
  • Examples of works that have inspired you or blown you away.
Please notice that you need to send all of the applications to be considered.

Send your application to apply@frictionalgames.com!


Privacy Policy

By sending us your application, you give us permission to store your personal information and attachments.

We store all applications in a secure system. The applications are stored for two years, after which they are deleted. If you want your your information removed earlier, please contact us through our Contact form. Read more in our Privacy Policy.

Doomweaver Color Testing

I took one of the turrets through to completion to see how I liked it. The Doomweaver was intended to be red that fades to bright orange, I'm not sure there's a whole lot a difference when compared to the hull orange though. Thoughts?

Epic Eldar Night Spinner Epic Eldar Night Spinner Epic Eldar Night Spinner

Selasa, 24 Maret 2020

Video Store Golden Age With Greg!

In this episode I talk with Greg aka SoulBlazer from the SNES Podcast and the Playstation Power Podcast. He helped establish NES game rentals in the video store that his mother managed in the 80s and 90s. It's a fun interview and I hope that you enjoy it. As always, I thank you for listening.

The photo used as the artwork was found on Roger Ebert's web site without a photographer credit. Please don't sue.

Sabtu, 21 Maret 2020

The Concept Of Tchekhov's Gun In Games

It is always interesting to create a cris-cross between literature and games. In fact, both worlds are intrinsically connected, and this is especially evident in games with narrative, characters, plot twists etc. I like to think about games as "ergodic literature" — an idea previously discussed in this post.

Here, in this short article, I would like to address the concept of Tchekhov's gun applied to games. Anton Tchekhov (1860–1904) was one of the most important voices in Russian literature. He developed the principle that states that every element in a story must be necessary, and irrelevant elements should be removed. Tchekov said that, if you say in the first act that there is a rifle hanging on the wall, in the second or the third act it must be fired. If the rifle isn't going to be used, it shouldn't be hanging there. The Russian author also said that one must never place a loaded rifle on the stage if it's not going to be fired. It's wrong to make promises you don't mean to keep.



What does this principle mean inside the gaming universe? As Tchekhov has postulated for literature, in games we also need to create a sense of order and to make sure every single element is relevant. If the scenery displays a highlighted symbol, it should have some function in that stage, like serving as a hint for a puzzle or as an object that the player must collect in order to defeat an enemy.

To further illustrate this, we can discuss a puzzle from the game Little Nightmares. In the scenery, there is a TV that can be turned on and a door that cannot be opened. But, previously, the player received a piece of information: in the other room there's a bizarre blind create that is attracted to sound. So, you must turn on the TV, get close to the door, and wait until the monster opens it, so that you can walk into the next room. Check the video below:



In this example, imagine if the TV was just a decoration, something useless in the puzzle flux. It would make no sense in the game and it would be contrary to the concept of Tchekhov's gun.

This is the point I wanted to make with this short article: everything must be interconnected and play a role in your game.

I'll talk more about the overlapping universes of literature and games in the next posts.

#GoGamers

Jumat, 20 Maret 2020

GameFly Experience (Monday Musings 77)

Addendum:
I returned Sekiro and by the next day, GameFly already shipped out a new game! I'm very happy thus far with my GameFly experience.

I decided to take advantage of GameFly's free month trial, and place Sekiro at the top of the list. Given that Sekiro was recently released, and GameFly noting that there's "low availability", I was surprised to see the game shipped out the day after I signed up for the trial! I signed up Monday, shipped Tuesday, and received Friday.

Given the popularity of Sekiro, I thought I had to wait a couple of weeks, at least, to receive the game, so I was pleasantly surprised to see "shipped" when I checked the status the next day. However, I'm not sure how quickly you can receive a game that has just been released that day. Would I have received Sekiro four days after its release date?

Looking through the list of GameFly games, I was impressed that they not only have the triple A titles, but also some niche ones including the Atelier series, that appear to come out yearly. I enjoyed Atelier Sophie, but not to the point where I want to buy future Atelier series at the $60 price point. 

You can keep the game for as long as you want, and once you finish the game, upon receipt, they mail you the next game.

Games in my queue are newly released Days Gone, Dragon Quest XI (as I was considering buying the game), soon to be released A Plague Tale: Innocence, and Red Dead Redemption 2. I'm curious to see for myself if I'd enjoy RDR2, and GameFly gives me the opportunity to do so free, as opposed to having buy the game and not enjoying it. 

As difficult as Sekiro is, even if it takes me 2 months to complete, the rental is nevertheless cheaper than buying the game full price. However, it does appear to be a game I'd like to buy on sale, once the Bundled edition comes out (From software always releases DLCs), so I can return Sekiro and hopefully get Days Gone (also "low availability").

Indeed, a strat that you can use, is to write down a list of all the game titles you're considering purchasing, sample these games, spending a few hours to see if this game is up your alley, and then return quickly to receive the next game. If a game appears to be a must own, then you can buy it without buyer's remorse. 

If you're a slow gamer like me and you like to take months on a game, then GameFly may not be a good option, since it costs $15.95/month for one game out at a time, or $22.95/month for two games out at a time.

So far, I've had positive experience with GameFly, albeit it's only been 1 week's experience. If you have a GameFly membership, please feel free to describe your experiences with them.

The How Of Happiness Review

Tech Book Face Off: The New Turing Omnibus Vs. Patterns Of Software

I'm churning through tech books now, finishing off a bunch that I had started a while back, but couldn't find the time to finish until now. The pair that I'll look at here are a couple of older books that I picked up through recommendations on blog posts. The first one, The New Turing Omnibus: 66 Excursions in Computer Science by A.K. Dewdney, is a survey of 66 topics in a wide range of areas of Computer Science. The second book, Patterns of Software by Richard P. Gabriel, is about advice and experiences on a variety of topics in software development. Whereas NTO is of a strictly technical nature, Patterns of Software has much more of the human aspect of working with computers and software. Let's see how these older books hold up today.

The New Turing Omnibus front coverVS.Patterns of Software front cover

The New Turing Omnibus


With the new edition published in 1993, this is definitely an older computer science book. That can be okay, if the author sticks to the more timeless aspects of computer and software design. For the most part, this is the case in NTO, but a few of the chapters—especially the ones on VLSI computers and disk operating systems—are definitely dated and nearly beyond usefulness. The topics vary far and wide, though, and are generally grouped into eleven subject areas with the following breakdown:
  • Analysis of Algorithms (8)
  • Applications (7)
  • Artificial Intelligence (5)
  • Coding and Cryptology (3)
  • Complexity Theory (6)
  • Computer Graphics (3)
  • Data Structures (6)
  • Automata and Languages (5)
  • Logic and Systems Design (9)
  • Theory of Computation (9)
  • Miscellany (5)
The miscellany chapters could honestly been grouped into the other categories, and the three computer graphics chapters were just as much algorithms or data structures as anything, so nine categories would have been sufficient. That's fairly inconsequential, though, because the topics were presented completely haphazardly anyway. The chapters would go from Karnaugh Maps to the Newton-Raphson Method of finding roots to minimum spanning trees without any ceremony whatsoever, leaving the reader grappling for a solid structure to hold on to.

Each chapter is a brief 5-7 page discussion on the given topic followed by two or three problems related to the topic as practice for the reader. These problems commonly explored points glossed over in the text. The topic discussions read like blog posts and don't give more than a cursory introduction to the sometimes deep and complex subjects they are covering.

I had high hopes for this book, considering the glowing recommendation that Jeff Atwood gave it back in 2007 on Coding Horror, but I just couldn't get into it the way he did. I found the treatment of the topics that I had already learned in much more depth, mostly from studying in college, to be tedious and unremarkable. The remaining 25% of the topics, mostly on the theory of computation and automata, was quite difficult to understand from the short expositions given, and I would have to do more extended studying with a book like the Introduction to the Theory of Computation to get enough of a handle on the subject to answer the more difficult end-of-chapter problems.

I may not have been the right audience for this book, but I had a lot of trouble figuring out who the right audience would be. The material was so superficial that I didn't find any additional insights or valuable practice from any topics I already knew about, and those topics that I had little exposure until now were nearly completely opaque from the text. It was weird. The book didn't seem to fit for either a novice or a (moderate) expert on any of the topics, and the fact that related topics were strewn throughout the book, separated by completely unrelated topics, made it even more frustrating and less helpful. Maybe if you were using it as a supplement while studying some of the broader subjects for extra practice, it would prove to be of some use, but I'm not even convinced of that. I have to give this book a solid "no" at this point. There are much better books out there on the subject areas covered here.

Patterns of Software


This was an odd book, and not at all what I expected. I had expected a book relating advice to the reader on how to design and develop software. What it is instead is an extended comparison of Christopher Alexander's work on patterns in architecture to patterns in programming followed by speculations on programming languages, advice on learning to become a good writer, and a significant part of Richard P. Gabriel's life story. It was a strange mishmash of things that didn't quite hold together as a cohesive book.

Throughout the first part on how Alexander's books—the most well-known being A Pattern Language—relate to programming, Gabriel quotes Alexander extensively, to the point where I almost felt like I was reading Alexander more than Gabriel. He also did not spend enough time tying all of these quotes into programming and software, so much of the time I was left wondering if the book was just a review of Alexander's works.

Gabriel did have some insights into programming that resonated well, such as
Maintaining compressed code requires understanding its context, which can be difficult. The primary feature for easy maintenance is locality: Locality is that characteristic of source code that enables a programmer to understand that source by looking at only a small portion of it. Compressed code doesn't have this property, unless you are using a very fancy programming environment.
We must be careful to strike the right balance when coding so that we don't unnecessarily obscure things that should be simple and easy to understand just for the sake of abstraction. Sometimes it's better to lay out a process linearly so that it can all fit on the screen at the same time instead of slicing and dicing to the point where the poor sap who has to debug the code needs to chase the flow of execution through dozens of functions and variables across tens of files. This insight gets at one of the themes of the book on making code habitable:
Habitability is the characteristic of source code that enables programmers, coders, bug-fixers, and people coming to the code later in its life to understand its construction and intentions and to change it comfortably and confidently.
This idea of habitability is a worthy goal, and Gabriel returns to it often in the context of Alexander's architecture patterns:
What Alexander seems to be saying is that if we try to use modular parts (solid building blocks not easily molded to the current circumstances), then the overall structure of the thing built with them may become overly constrained by their shape. In programming, if a set of large abstractions does nearly the right thing, it is tempting is [sic] to use them and to bend the structure of the surrounding program to fit them. This can lead to uninhabitable programs.
It seems like much of modern software development has become exactly this, where we as programmers have been reduced to searching for and slapping together all of the packages we need to meet the given software requirements. In this process of moving towards extreme reuse, something has been lost in software development, and this is speaking from a perspective more than twenty years after this book was written, with reuse being much more common and extensive than it was then. This thing that has been lost is Alexander's "quality without a name."

Both Alexander and Gabriel spent a lot of time trying to define this quality without a name, but neither succeeded very well. Gabriel critiqued Alexander's choices in descriptive words, like "simple" and "cohesive," but while he was right that the word choices did not do the concept justice, he did not do much better in clarifying what the quality was. Even more troublesome than defining it, Alexander found that he couldn't replicate this nameless quality by enumerating the patterns of architecture. It's not something that you can create simply by combining known good patterns in a building.

This difficulty of codifying quality is true for almost anything we do. It's as true for architecture as it is for programming as it is for every form of craftsmanship, and it seems obvious that this would be so. We can't package up and mass produce quality that simultaneously exhibits beauty, elegance, efficiency, and function. Reaching the point where you can produce things of such a high level of quality takes decades of experience, creativity and experimentation. Most people will never reach the level of craftsmanship where their work is elevated to an art form.

It was frustrating that Gabriel danced around that conclusion for most of the book, but never really committed to it. He did spend a fair amount of time on silly tangents, like the chapter where he claimed that the development of programming languages was at an end, and C was the ultimate answer. That prediction looks mighty short-sighted today.

The rest of the book, detailing Gabriel's struggles through college and running a software business, was sometimes interesting and sometimes not, but it didn't have much to do with the first half of the book on patterns and code habitability. In general, his writing was quite repetitive and disorganized. He would introduce a new topic or part of a story by giving away the conclusion as if it was a stand-alone statement, and then proceed into an extended discussion on it. A few pages later I would realize he was talking about the details of a story that I had thought was just an isolated observation and we had moved on. This writing style was quite disorienting, and the constant repetition of certain observations or narratives, each time stated as if it was the first, became fairly annoying.

Between the sparse real insights and disjointed structure of the book, I can't recommend Patterns of Software at all. The software development advice can easily be had in much better books without the extended and largely irrelevant fluff. It's unfortunate. I feel like I really struck out with this book and The New Turing Omnibus, but sometimes that happens. Maybe the next couple books I read will be much better.

Bimonthly Progress Report For My Twitch Channel, FuzzyJCats, March 2 To July 1

Twitch Channel FuzzyJCats

After a hiatus due to my friends being in hospital, when I came back to streaming, it finally dawned on me to not care about viewer numbers - at last! Even as I theoretically realize that ignoring numbers is a major solution to preventing burn out, there was always a part of me that cared, due to ego issues.

As a result, I was watching a lot of Twitch streams as that's the best way to grow numbers (i.e. networking = making friends), that it's caused migraines, not to mention, feeling imprisoned because I "have" to watch streams for numbers.

In other words, I was afraid to limit Twitch viewing as it may lead to decrease in numbers. However, during the period of time when I was visiting and supporting my friends, I didn't have time to watch Twitch, and despite this very sad period, I felt physically better due to lack of migraines.

When I came back to streaming, I had such a huge outpouring of support that I finally internalized deep down that it's my viewers who are the most important, not reaping numbers. Because of my viewers (and it can never be overstated, your viewers make your stream), I was able to internalize this completely. 

Indeed, one of the most deadly things you can do as a streamer is to take your audience for granted. Having all this support and love from my community make streaming worth it, and that certainly prevents burn-out. I must never forget how I felt when my community was there for me when I came back to streaming.

I'm not sure if my viewers noticed that I was more spontaneous and free during this time, but I felt like a burden was lifted from my shoulders. Indeed, you can ad lib more when you don't have to worry about turning off viewers. Although I enjoyed streaming before this revelation, my joy was constricted by worrying about concurrent viewers. Now, without my joy being choked off, I feel liberated while streaming.

Interestingly, since not being concerned about numbers, I noticed that I was able to stream just as well as ever. In fact, I may have been better at streaming since I had the same (or perhaps better) mental focus despite not exercising. Almost all of my past streams, I made sure to exercise. I think having this psychological freedom made streaming less taxing. When you're truly happy in what you're doing, in other words, you're able to be more effective.

It took almost a year to get to a place where I finally know and feel that numbers are irrelevant, and that's a breath of fresh air. In the meantime, I've come up with strats, a flowchart that I follow, that help guide my stream:

If there's someone commenting, stop everything and talk to the person (though remember what you were talking before that and continue that thought process).

Once talking to the person, if there's a pause in chat, go back to previous thought and complete the thought.

If there's no one there, comment on gaming action (why you did this, what you're going to do, how you feel about the cinematic cut scenes and the like), or tell interesting stories (more on that later)

Use load screens to catch up on chat and talk.

It gets rather stale talking about the same points (i.e. gaming action and streaming issues), so to improve content, discussing life experiences are key as you can fill dead air by telling stories. Talking about life experiences is material enough.

Further, these experiences don't have to be unique and exciting ones - often any common mishaps that you experience can be told very humorously. Making people laugh is one of the best forms of entertainment.

I never had reason to be a story teller, so being an entertaining story teller is a skill that I'll be working on. This is an entirely new and exciting new adventure that I'll be experiencing!

Progress made:
  • Truly not caring about concurrent viewer numbers (finally!).
  • Realizing that story telling can make streams more compelling.
  • Putting in scheduled vacations, and notifying community, to prevent burn-out.
Improvements to be made:
  • Be a better story teller.
  • Thank new viewers for stopping by stream (use cbenni.com chat log to review chat history) - I was consistent in past, but not currently.
  • Completing my thought processes and sentences (I have a tendency to do this IRL as well).
  • Get back into exercising and self-care.
  • The usual being able to chat and game at same time (this is not habit yet).
  • The usual decreasing filler words, vocal "tics" and the like.