Login

russian armor

Interview CoH technical lead Programmer

20 Feb 2018, 22:39 PM
#1
avatar of SturmtigerCobra
Patrion 310

Posts: 964 | Subs: 11

In case you missed it, new Relic interview with;
Ian Thomson
"involved in a big Essence Engine upgrade"
https://www.linkedin.com/in/ian-thomson-20bb1014/
Credits;
http://www.mobygames.com/developer/ian-thomson/credits/developerId,36631/

http://www.relic.com/#news/8379

Hey Ian. Let’s kick it off with gaming. Hit me with your favorite games.

Hmmm... how far back do I go? Recently, I’ve been playing Horizon Zero Dawn. The technical achievements in that game are brilliant. They’ve been able to deliver on technical prowess, as well as gameplay, and storytelling. I’ve watched presentations on how they accomplished all of that, and I’ve been really impressed with it.

Historically is tough. I know there was one point way back when I was studying for exams, and I had to call a friend and be like – dude, please can you come over and sit at my computer and play Civilization so that I can’t? I was so into that game that I felt the only way I couldn’t play was if someone denied me the resource of my computer.

Ok, you’ve been here nearly 20 years. How did it all start for you?

Well I was computing while at school and went on to study at SFU. I kept in touch with some friends who joined Radical Entertainment after graduating. I heard a lot about it from those guys, and I ended up getting a job there when I finished my degree.

A year or so later, one of my school buds joined this new company called Relic. He was telling me all this great stuff about the game that was to become Homeworld. As the game became more public, I became a bit of a fanboy. I was going over, hanging out at the office, and stuff like that. Eventually, it was like, okay, I just need to work there.

For a grizzled vet who’s seen it all, what projects stand out most for you?

Well Company of Heroes for sure, but Impossible Creatures was my first full project at Relic and it was a really important game for us. With Impossible Creatures we were figuring out how to build the tech, and how to create together. We made a good game, but Impossible Creatures was all about us learning. That process allowed us to make a great game in Company of Heroes.


Ian Back in 2000

I hear you’re involved in a big Essence Engine upgrade right now, can you explain it to a luddite like me?

Basically, we’re rebuilding a lot of the system, but the broad goal is to make our games perform better. Whether that means more units, the same number of units with better behaviors, or better stability, we want our games to perform better for a wider audience.

What’s great about working with an in-house engine?

Essence lets our programmers across the studio work together. The way we use Essence means we work closely with the creative people, like designers and artists, to bring their vision alive in game. That’s what’s so awesome about game development – working together to create something that’s greater than the sum of its parts.

You are a Vancouverite born and bred, what keeps you busy around here?

I’ve got family and kids here. My sister is in town, my dad’s nearby, my fiance’s family is here, so it’s very much a small bubble that keeps me pretty busy. I can sometimes end up as a tourist in my town when people come to visit. Somehow, and very embarrassingly, I’ve never done the Grouse Grind, and my son did it at the age of six!

Now for the most important question. You always wear shorts, why?

Oh man, yeah, high school. I wore shorts, and there was this other guy who wore shorts. There was this kind of mild allegiance, like yeah, we wear shorts, that’s our thing. Embarrassingly I ran into him a couple of years after high school, and I was like, you’re wearing pants? He was like yeah… of course.

Also, I’ve been ‘the shorts guy’ for so long, I don’t think I could stand the ridicule if I switched to pants.

Previous interviews with Ian Thomson about CoH;
The Making Of Company Of Heroes - September 22nd, 2016
https://www.rockpapershotgun.com/2016/09/22/making-of-company-of-heroes/
The making of Company of Heroes: prototypes, design and the 'Donkeyschreck' - October 13, 2016
https://www.pcgamer.com/the-making-of-company-of-heroes-design-prototypes-and-the-donkeyschreck/

https://twitter.com/hashtag/donkeyschreck

The History of Relic Entertainment

Ian intro starting 4:33
21 Feb 2018, 00:26 AM
#2
avatar of nigo
Senior Editor Badge

Posts: 2238 | Subs: 15

They tried change for Unity engine in the past (before dow3) and now this.
21 Feb 2018, 02:04 AM
#3
avatar of Tiger Baron

Posts: 3145 | Subs: 2

I just hope that "upgrade" really is what we're thinking it is and not some bubble cover cartoon MOBA downgrade.
21 Feb 2018, 04:31 AM
#4
avatar of Tric
Master Mapmaker Badge

Posts: 1467 | Subs: 4

I just hope that "upgrade" really is what we're thinking it is and not some bubble cover cartoon MOBA downgrade.


Considering what an absolute pile of garbage essence v4 was/is... I wouldn't be too hopeful. At the point the engine is after DoW3 a new one would just be better.
21 Feb 2018, 08:36 AM
#5
avatar of Valeran

Posts: 52

They still use Essence? WHYYYYY? It's so outdated that became since v3 a horrible optimized and buggy mess engine. Is it so hard to write new engine for modern systems and hardware? This engine took in january 15 years and they write the 7th version of this pile of garbagre.
21 Feb 2018, 12:19 PM
#6
avatar of Katitof

Posts: 17914 | Subs: 8

jump backJump back to quoted post21 Feb 2018, 08:36 AMValeran
They still use Essence? WHYYYYY? It's so outdated that became since v3 a horrible optimized and buggy mess engine. Is it so hard to write new engine for modern systems and hardware? This engine took in january 15 years and they write the 7th version of this pile of garbagre.

Can someone explain to this poor soul that they are not still using the very same engine from 15 years ago, because this is not how this works, preferably using programming gibberish?
21 Feb 2018, 15:46 PM
#7
avatar of ZombiFrancis

Posts: 2742

jump backJump back to quoted post21 Feb 2018, 12:19 PMKatitof

Can someone explain to this poor soul that they are not still using the very same engine from 15 years ago, because this is not how this works, preferably using programming gibberish?


Lul, I see what you did there.
21 Feb 2018, 15:54 PM
#8
avatar of Tric
Master Mapmaker Badge

Posts: 1467 | Subs: 4

jump backJump back to quoted post21 Feb 2018, 08:36 AMValeran
They still use Essence? WHYYYYY? It's so outdated that became since v3 a horrible optimized and buggy mess engine. Is it so hard to write new engine for modern systems and hardware? This engine took in january 15 years and they write the 7th version of this pile of garbagre.


Version 4 was DoW 3...? Every update is a "new iteration" for a "good" company. Sadly Relic massively hemorrhaged on essence engine version 4 [dow3, the only game this engine lays claim to, and most likely AoE 4, unless they are going to move it over to 5?]

This is like saying the Unreal Engine is bad cause BlueBalls Entertainment for PUBG has the worst running version of it in recent history. That isn't an engine issue, it is a dev issue. The same applies here, especially when v4 of Essence has multiple ways to achieve the same thing and has been bugged since release, soft locking 2/3rds of its functionality behind a hidden export glitch that corrupts the export. Everything "works" in the builder, but depending one what you changed, you will never see it as it doesn't export properly. Was meant to be fixed in September, don't believe it ever was... Either way.

What you say is completely false.

Unity released in 2005, still used to this day [ffs im using it]

Unreal released in 1998, still used to this day

CryEngine 3 released in 2002, still used to this day [but potentinally on its way out due to CRYENGINE/Amazon Lumberyard?]

id Tech [id Tech 1-6/Doom Engine] released in 1995 [for the public], still used to this day, although previous versions are deprecated.

The list goes on like this forever.



21 Feb 2018, 16:40 PM
#9
avatar of Rosbone

Posts: 2145 | Subs: 2

Usual disclaimer I am not an expert.

I can not imagine anyone throwing away an engine and starting from scratch. That is way too much work. One of the main things you would change is how scenes are drawn. Every few years or so the method you use to drawn an object to the screen changes as videocard hardware evolves.

Simple examples:
ENGINE #1 - You send rotated vertices, pre calced lighting, and a texture to the video card.
ENGINE #2 - You send the vertices and texture. Videocard does the rest.
ENGINE #3 - You send a memory pointer to an array in PC memory. Videocard pulls data in on its own and draws object.
ENGINE #4 - You store all data on Videocard but it runs like Engine #3.
ENGINE #5 - Data on videocard can be manipulated for animation. Includes LERP between keyframes etc.

Other examples:
ENGINE #1 - Uses one texture at a time.
ENGINE #2 - Uses two textures at a time, one is diffuse, one is static shadowmap.
ENGINE #2.5 - Adds procedural created textures on the fly.
ENGINE #3 - Version 1.0 of shaders is used where you can now control per pixel drawing. Bump mapping begins. Heightmaps are used. Realtime lighting begins to be used on Videocards but is very slow to process. ID creates 1st game to use it DOOM3 creating a dark environment as each light requires a full scene render.
ENGINE #4 - Shader model 2.0 is used. Normal maps are added for better per pixel lighting. Specular maps are added for shiny surface light reflections.

All of these videocard updates could create large code changes. You may need new data structures. They may be stored differently. When should they be sent to the videocard, etc. The tools to create maps/levels may run completely different and need to be rewritten or modified.

This is all for PC programming which is somewhat straight forward using predefined APIs such as OPENGL and DIRECTX. Using languages like C++ that have been optimised by Microsoft, etc for years.

This is why premade engines like Unreal, Unity, Crytech, IdTech are the way to go for most games. All of the hard time consuming videocard work has been done for you. If I was Relic I would lean towards Unreal as it looks the best. However, as Tric pointed out, PUBG dont run so good :mellow:

TL;DR
The main point of Relic updating its engine is that consoles need very specific code written for them. So maybe this is an indicator of testing the console arena. PC Games are slow because the author has no idea what hardware you have. So they write to generic libraries OpenGL, DirectX, OpenAL, etc. Consoles run very well because they know exactly what hardware you are running. The code can be optimized down to the hardware register level increasing speed 2x or 3x over generic PC libraries. Throw a Playstation into the mix and it gets even harder because the CPU structure is completely different and there are specific cases where you can pipeline multiple commands simultaneously. Console require a much deeper understanding of the hardware.
MMX
24 Feb 2018, 10:16 AM
#10
avatar of MMX

Posts: 999 | Subs: 1

jump backJump back to quoted post21 Feb 2018, 16:40 PMRosbone
Usual disclaimer I am not an expert.

I can not imagine anyone throwing away an engine and starting from scratch. That is way too much work. One of the main things you would change is how scenes are drawn. Every few years or so the method you use to drawn an object to the screen changes as videocard hardware evolves.

Simple examples:
ENGINE #1 - You send rotated vertices, pre calced lighting, and a texture to the video card.
ENGINE #2 - You send the vertices and texture. Videocard does the rest.
ENGINE #3 - You send a memory pointer to an array in PC memory. Videocard pulls data in on its own and draws object.
ENGINE #4 - You store all data on Videocard but it runs like Engine #3.
ENGINE #5 - Data on videocard can be manipulated for animation. Includes LERP between keyframes etc.

Other examples:
ENGINE #1 - Uses one texture at a time.
ENGINE #2 - Uses two textures at a time, one is diffuse, one is static shadowmap.
ENGINE #2.5 - Adds procedural created textures on the fly.
ENGINE #3 - Version 1.0 of shaders is used where you can now control per pixel drawing. Bump mapping begins. Heightmaps are used. Realtime lighting begins to be used on Videocards but is very slow to process. ID creates 1st game to use it DOOM3 creating a dark environment as each light requires a full scene render.
ENGINE #4 - Shader model 2.0 is used. Normal maps are added for better per pixel lighting. Specular maps are added for shiny surface light reflections.

All of these videocard updates could create large code changes. You may need new data structures. They may be stored differently. When should they be sent to the videocard, etc. The tools to create maps/levels may run completely different and need to be rewritten or modified.

This is all for PC programming which is somewhat straight forward using predefined APIs such as OPENGL and DIRECTX. Using languages like C++ that have been optimised by Microsoft, etc for years.

This is why premade engines like Unreal, Unity, Crytech, IdTech are the way to go for most games. All of the hard time consuming videocard work has been done for you. If I was Relic I would lean towards Unreal as it looks the best. However, as Tric pointed out, PUBG dont run so good :mellow:

TL;DR
The main point of Relic updating its engine is that consoles need very specific code written for them. So maybe this is an indicator of testing the console arena. PC Games are slow because the author has no idea what hardware you have. So they write to generic libraries OpenGL, DirectX, OpenAL, etc. Consoles run very well because they know exactly what hardware you are running. The code can be optimized down to the hardware register level increasing speed 2x or 3x over generic PC libraries. Throw a Playstation into the mix and it gets even harder because the CPU structure is completely different and there are specific cases where you can pipeline multiple commands simultaneously. Console require a much deeper understanding of the hardware.


thanks for this interesting insight
24 Feb 2018, 13:48 PM
#11
avatar of SturmtigerCobra
Patrion 310

Posts: 964 | Subs: 11

jump backJump back to quoted post21 Feb 2018, 16:40 PMRosbone
TL;DR
The main point of Relic updating its engine is that consoles need very specific code written for them. So maybe this is an indicator of testing the console arena. PC Games are slow because the author has no idea what hardware you have. So they write to generic libraries OpenGL, DirectX, OpenAL, etc. Consoles run very well because they know exactly what hardware you are running. The code can be optimized down to the hardware register level increasing speed 2x or 3x over generic PC libraries. Throw a Playstation into the mix and it gets even harder because the CPU structure is completely different and there are specific cases where you can pipeline multiple commands simultaneously. Console require a much deeper understanding of the hardware.

Thanks for the info Rosbone and Tric.

FYI;
The engine used for Relic's Spacemarine console game was the Vigil Engine which is now owned by THQ Nordic (former Nordic Games).

Confirmation below from Reinhard Pollice, THQ Nordic Executive Producer
https://www.linkedin.com/in/rpollice/
https://twitter.com/ElMegalomator
https://steamcommunity.com/app/324680/discussions/0/490125737459924224/
MegalomaniacNG (Reinhard Pollice) 12 Nov, 2015 @ 3:44pm
Originally posted by Dolt Gorbles:
While we're on the subject did you guys get the name of the IC engine?
It's a bit of a missing gap in Relic's technical history (inbetween Essence and whatevertheyused for Homeworld) that's been bugging me for years :P
(some people incorrectly - I think - label it as the Phoenix engine but that's the codename for the Space Marine engine, IIRC)
Reinhard Pollice;
So the Relic RTS engine was written for Impossible Creatures. It shares a lot of core code with the Homeworld engine. Relatively close relatives of the IC engine are Dawn of War and The Outfit. More far away is Company of Heroes, Company of Heroes Online and very far away is Company of Heroes 2.

Actually the Space Marine engine is not a Relic engine. At its core its the Vigil Game Engine that was created by Vigil Games for Darksiders and Warhammer Dark Millenium Online (Relic was Co-Developer on that). Guess who owns the Vigil Game Engine? ;)

https://en.wikipedia.org/wiki/Darksiders_II
https://en.wikipedia.org/wiki/Warhammer_40,000:_Dark_Millennium

The Tech That Built Darksiders II
June 13, 2011
http://www.gameinformer.com/b/features/archive/2011/06/13/the-tech-that-built-darksiders-ii.aspx
*SNIP*
What’s the hardest technical feature you’ve ever had to get working?

Bonstead: Getting the game to run on PlayStation 3. [Laughs]

Bennett: I guess…the trouble with that was that we only have six guys, and we primarily developed on the 360. You can hit play in our editor and then start playing the game as if you were playing the PC SKU, but this mean that sometimes the PS3 SKU takes a backseat, but it’s probably only two to four weeks behind.

Bonstead: Our goal is to keep all versions of the game at perfect parity, but it’s tougher for us to develop on. We started with a PC engine on DS I, and then ported that to Xbox and then ported it to PS3, so we learned a lot there. We kind of had to figure our how to develop for multiple systems as we went along, but I think we got pretty close to keeping the game equal across all systems.

Bennett: One other thing was that even though our PC engine was working throughout development, it wasn’t designed to be released to the public, so when it came to doing the PC version we had to put in about six months of work to bring that up to par.

Bonstead: That’s why the PC version came out so late. THQ said, "Hey, you guys have an engine that works on PC, why don’t we put out a PC version?" We were like, "It works for us!" There is a lot of robustness and video-card testing and proper keyboard and mouse control design that you have to work out when you do a PC game.

Bennett: None of our user interface was built with mouse and keyboard in mind, so we had to go back and completely redo that.
1 user is browsing this thread: 1 guest

Livestreams

Brazil 7
unknown 4
unknown 3

Ladders Top 10

  • #
    Steam Alias
    W
    L
    %
    Streak
Data provided by Relic Relic Entertainment

Replay highlight

VS
  • U.S. Forces flag cblanco ★
  • The British Forces flag 보드카 중대
  • Oberkommando West flag VonManteuffel
  • Ostheer flag Heartless Jäger
uploaded by XXxxHeartlessxxXX

Board Info

763 users are online: 763 guests
0 post in the last 24h
8 posts in the last week
38 posts in the last month
Registered members: 49084
Welcome our newest member, sunwingamescom1
Most online: 2043 users on 29 Oct 2023, 01:04 AM