Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Popete
Oct 6, 2009

This will make sure you don't suggest to the KDz
That he should grow greens instead of crushing on MCs

Grimey Drawer

VealCutlet posted:

Hey I've missed the last 4000 pages, please don't update me.

You're still up to date.

Adbot
ADBOT LOVES YOU

Best Bi Geek Squid
Mar 25, 2016

VealCutlet posted:

Hey I've missed the last 4000 pages, please don't update me.

you didn't hear? SC came out and is widely regarded as the greatest game of all time. it makes breath of the wild or whatever just look like a huge loving turd

The Titanic
Sep 15, 2016

Unsinkable

colonelwest posted:

Can you imagine a junior programming position at CIG being your dream job?

Learn from the Code Whisper himself, as you refactor elevator buttons in year 8 of development!

:confused: *sits down at her desk and looks at the screen after her meeting with the boss man*

:downs: So uhh... how'd it go? Did he help you out with the memory leak problem?

:confused: He uhh... kept talking about E M M 386 and config dot sis and a auto exec bat. I think he's trying to hunt bats?

:downs: Awesome. Welcome aboard. Please familiarize yourself with stack overflow and start copying and pasting like the rest of us.

:confused: What? How am I supposed to be mentored? Isn't that what's supposed to happen right now?

:downs: Girl, I just graduated with a GED and I was the barista a few months ago. Today I'm the senior 3D engine manager! Let me tell you it was a grueling three weeks when I was just the junior coder person like yourself! You'll probably be a manager in a month!

The Titanic
Sep 15, 2016

Unsinkable


"What're we gonna do today, Brain?!"

"The same thing we do every day, Pinkie. Something completely different and useless that gets us nowhere but maybe will allow us to get enough money from idiots to TAKE OVER THE WORLD!"

"Oh gee, Brain! Is it Socks today? Server meshing?! I love sever meshing!!!"

"No, you filth ridden imbecile. Today we will focus on CLOTHING, HOTDOG EATING ANIMATIONS, and of course, PRISON TIMERS."

"That's... that sounds... that sounds terrible, Brain!"

*looks at camera and smiles while putting on a black shirt* "I know, Pinkie. I know. Muhahahaha!"

Quavers
Feb 26, 2016

You clearly don't understand game development

Quavers
Feb 26, 2016

You clearly don't understand game development
:trustme: May 6th, 2020

Attention Recruits,

What you are about to read is the latest information on the continuing development of Squadron 42 (SCI des: SQ42).

Our top agents went into deep cover and managed to extract information on work on the Javelin's weapons and engineering sections, as well as key info on the next step of cinematics.
The information contained in this communication is extremely sensitive and it is of paramount importance that it does not fall into the wrong hands. Purge all records after reading.

UEE Naval High Command


AI (Combat)
The Combat AI Team started the month improving stability and fixing bugs for Alpha 3.9. Afterwards, they began work on realistic firing, initially tackling reload actions for NPCs. They extended the actor state machine to report the results of reloading actions so that NPC behaviors are notified and branch correctly in the decision-making process.
They’re currently working to keep track of NPC bullet quantity so that reloading is triggered at appropriate times. This will include an extension of the current combat behavior that allows NPCs to evaluate the best fire mode for the selected tactic. For example, choosing a mode that consumes less ammo, switching to a different weapon, or looking for ammo in the environment if they run out. They also created the base for the Vanduul character, starting with the entity setup, evaluation of the available locomotion animations, and priorities for the lance AimIK.

AI (Ships)
April saw Ship AI complete their rework of the Defend Target AI, which involves a leader and one or more escort ships:
When out of combat, the in-formation escorts fly alongside the leader and only enter combat when threatened. When flying out-of-formation, the escorts will join the formation if allowed to by the leader. If no formation is supported or all positions are reserved, the escort will utilize the ‘FollowAtDistance’ behavior, where the AI selects a direction and distance relative to the leader and maintains a loose position. Periodically, all escorts will change position or leave the formation depending on the situation.
When in combat, escorts engage enemies governed by an assignment range that can be different for each ship. However, ‘engage’ doesn't initiate a dogfight immediately and leave the leader undefended; engagement happens gradually. First, escorts gravitate around the leader to ensure they’re between the leader and target. If the enemy is closer (also defined by the assignment), the escorts engage in a dogfight. The overall flow ensures an escort is always in proximity of the leader to protect it and react if other attackers intervene. It's possible to differentiate the defend dynamic by assigning different engage-ranges to escorts or adjusting how tightly they shadow the leader.
The Defend Target mechanic is also useful for implementing simple convoy behaviors for shipments and peaceful operations.
Ship AI also worked on the ongoing refactor of the Tactical Point system and the creation of the Tactical Targeting system. They’re currently in the last development cycle and are investigating ways to express variations of TTS queries to cope with the mission or scene at hand. They introduced the concept of optional overrides on query parameters, conditions, and weights that are only relevant and applied based on the fulfillment of a specific requirement (such as a tag set on the actor). So, they can define a base query that will be used normally but also introduce variations of specific parts that only affect characters specific to a single scene. For example, encouraging an NPC to target ships with low shields or with a criminal rating instead of the standard selection defined in the base query.

AI (Social)
The Social AI Team spent time improving the performance of the Usable Cache Manager. They added the ability to time-slice the main update to make it easier to control the update usage of different jobs, and began using queued physical ray-casting to validate which usable enter/exit locations are available and not blocked by other objects.
They started work on compound usables, which can inherit functionalities from other usables and override data based on specific setups. For example, maintenance or inspection operations on a Gladius might use generic animations in most locations, but a more complex section of the ship may require specific Mannequin tags.
Functionality and visual quality were further developed for vendors, such as the Bartender. Work went into potentially allowing designers to set up proc clips that stow/unstow objects from a specific inventory pocket. They also extended the Communication system to allow designers to tag different options relating to the same contextual voice line. This will allow a generic behavior to automatically select the right option for a specific context. For example, a shop patron can use a generic ‘order’ communication line to pass the tag of the object they want to order, which selects a relevant voice and animation. If one isn’t present, a generic option might be selected. This, in combination with a pass on wildlines and secondary sub-activities for the vendor behavior, allowed the team to significantly improve the visual fidelity of the behaviors.
They’re currently integrating more functionalities into consumable objects to create an additional layer of customization to the flow, such as enabling AI to differentiate between open and closed bottles and act accordingly.
Focus was also given to improving several aspects of the patrol path tech. This involved moving some of the parallel functionalities trigger-logic to the movement system, which is a big change for several reasons: The team can now send simple requests related to a designer path to the movement system, making the subsumption task much simpler; they can use the same approach that was started for complex usables, such as closed doors, elevators, and the transit system; and the movement planner is now responsible for analyzing the data and creating a plan that can be as complex as needed.

Animation
Last month, Animation supported Social AI with their ship hangar work, general inspection places, bar patron idles and actions, bridge control seats, and lockers. They also worked on reloading and malfunction animations for all weapon classes and progressed with the Vanduul enemy combat style. Development of stumbles, knockdowns, body dragging, and what happens when a player is injured or incapacitated continued.
The Mo-Cap Team improved the motion builder skeleton, which will help the wider team create assets faster, and the ‘take selection’ tool, which will improve post-shoot turnaround. Tools were also created to enable quick data renaming and video conversion. Several team members are temporarily supporting other related areas of development due to the suspension of all mo-cap shoots, including making headway into the large amount of comms calls used throughout the campaign.

Art (Characters)
Art continued their ongoing hair work, which included remodeling some existing hairstyles and working on new shorter styles. They also further improved the fidelity of blonde hair using the latest iteration of the shader.
They’re currently finalizing officer uniforms and will move onto others in the coming weeks. Thanks to the multitude of ranks in the UEE Navy, around fifteen outfits will be created.
“Our focus is ensuring that details hold up during cinematic close-ups, as we do not use separate cinematic meshes. What you see in the game is what you get in the cutscene. By the end of this, they will be looking better than ever.” - Character Art Team

Art (Environment)
Last month, the Environment Art Team increased the Javelin’s engineering section, which came about after playtesting one of the chapters that takes place on the ship. Lighting work also continued across the ship for this chapter, utilizing the new real-time cubemap feature used for light-state transitions
They also continued to build up the Aciedo comms array set. The player visits several arrays during the first section of the campaign, so the set needs to serve as the base for multiple stations before the unique art and assets can be added to each. The truck stops are progressing well, with impact damage being introduced to add to the feel of long-term abandonment. Bear in mind these aren’t the truck stops players are familiar with from the PU; all of SQ42’s environments are unique to the campaign.
The team also fleshed out the hangar interiors on one of the mining bases. This is the largest hangar in the game and needs to carry out multiple functions for the station and passersby. Important story moments take place here, which gave the team the opportunity to dress such a large space with interesting narrative-relevant props. Work also began on two new unique locations; one Brutalist in design and another more like a shantytown.

Art (Props)
April saw the Props Team looking into how to approach dressing some of SQ42’s more unique locations. This involved focusing on the dressing asset materials to bed them into the environment and completing some of the storytelling assets from the Narrative Team. They created new maintenance and electrical spares and revisited the hangar assets to improve their visual quality and prep them for AI interactions. Finally, several props were prepared and rigged in Maya for the animators to use in gameplay story scenes.

Art (Weapons)
The Ship Weapons Team focused on the Javelin’s built-in arsenal, including a new Behring Gatling cannon and a considerably sized Behring torpedo.

Cinematics
In April, the Cinematics Team shifted from scene implementation to the production pass. There are five stages in the pipeline: Pre-vis, Kick-Off, Implementation, Production, and Finalization. After the implementation pass, scenes will work in-game with the correct root for all NPCs, timing and editing is synced for all scene members, the number of animation fragments is decided so the player can interact correctly, poses are roughly matched, and the correct markup for abandon/interrupt is created. While the designers are marking up the abandon/interrupt points, the animators can make their production pass. This stage is all about final pose matching, fixing remaining small gaps in animation, starting proper polish, and making sure the scene state machine is delivered. Once done, mo-cap polish is tackled by the animators. At the same time, the designers work alongside them to ensure cameras are locked and lighting passes progress to show the scene in the best way possible. The LookIK markup is also done at this stage:
LookIK refers to how an NPC, like Captain White, can look at the player and follow them. This can be with 100% strength, meaning he is leaning his upper body and the neck, head, and eyes follow the player with a field-of-view angle of 120°. However, each of these elements can be tweaked to a smaller percentage. For performance captured animation, the team don’t want Captain White to stare down the player at all times as it would override most of what the actor did on set.
For Implementation, the first pass of LookIK is done, meaning the team turn it on/off at appropriate parts of a scene. But at Production, they revisit the markup and spend time evaluating the original on-set reference camera data of the actor and analyze the performance down to the small details. For example: Why did he look away? Was it because he thought about his answer or to give more emphasis? How much of the look utilized his neck and shoulders? The animators then dial in the markup percentages for body, head, eyes, and carefully animate each of the LookIK parameters via a curve editor in Maya. Then, they review the scene to evaluate how successful the markup is in retaining the actor's intent.
For scenes where the player is ‘locked in’ watching a briefing, a certain percent is still enabled to accommodate the slightly smaller female player model.
“What we’ve found during these reviews is that we need to be careful with the strength of the eyes in LookIK. In real-life, people talking to each other are not completely locked together, so keeping the eyes alive is a small but rather important detail to get right. It helps to keep as much of the performance alive as we can while pushing what was once a linear mo-cap performance into our interactive realm.” - Cinematics Team

Engineering
Engineering’s April involved working on AFT, adding rotation resistance to the driven articulated entity tracking joint (exposing tuning parameters), making body-dragging-driven ragdoll behavior less framerate dependent, and adding rotation damping for the dragging character (with exposed linear and angular damping factors). They also fixed animation pops, added force reactions, and made the head and neck joints of a drag-driven ragdolls ignore actor entity collisions.
Physics-wise, they made improvements to the load and spawn time for entities, reworked the processing of dead-marked entities, and optimized the CheckAreas function (which is now three-to-five times faster in new grid-OC-split regions). Basic ricochet behavior was also added and made deterministic. They also looked into character physicalization issues for the Cinematics Team and integrated physics into the main development stream too.
Engineering wrapped up the mesh refactor for the Gen12 renderer, moved shader item creation away from the render thread, relocated shader objects to resource containers (to improve material-streaming during OCS), and made headway into permanently enabling certain G12 effects. They added asynchronous shader compilation support to the Gen12 code and refactored the buffer management for render mesh. This means they can now create buffers on any thread instead of deferring it to RT, use a VB stream wrapper object to maintain ref counts for writes and reads on render mesh streams, and run numerous API cleanups. They further cleaned the loading and refreshing of the shader system, ported texture sampler state code, and started porting brush rendering to the new pipeline.
Regarding the shader system, they fixed an issue in cache generation that caused certain combinations of hull, domain, geometry, and compute to not pre-cache. For hair, they created a new slider for creating a ‘salt and pepper’ look and improved scattering for blonde and bright hair.
Engineering bundled the processing of adaptive resolution samples so that lowering adaptive resolution will show GPU perf scaling as expected. They changed the way active sample indices are built to maintain the desired serialization order per sample block. Each sample block can now be processed as a bundle via the thread group to better utilize cache effects. They also looked into deep learning-based de-noising and up-sampling, and worked to implement a guided filter to de-noise and up-sample lower resolution raymarched inscatter and transmittance results. For the ongoing ocean work, the team upgraded buoyancy physics to make it functional with the new changes, fixed motion vectors on deferred oceans, and added sub-surface scattering to improve the appearance of crest waves.
General system worked involved enabling advanced CPU features for Linux DGS (in addition to already enabled Haswell-based code gen in Clang). Batch worker wakeup was improved and optimizations to the aggregate broad phase were made, such as replacing the sphere tree with an optimized radix tree and an optimized state update.
Finally for Engineering, the entity component update scheduler was developed further. To this end, they added a new component update policy based on entity rendering bounds with an optional view ratio and added support for view ratio in component updates. They also fixed a crash in a video driver due to incorrect use of the texture upload path taken for UI/Flash assets. Various frame times were added to important threads (MT, RT, network, physics), with one of the goals being to derive a VSync agnostic frame time. The exception handler and crash dump processing tools now support new cig-trace events and have unique folders to dump debug information into, which streamlines runtime error processing and analysis. The developers can now also mute FPEs until a given date.

Gameplay Story
The Gameplay Story Team continued to support Design as they work through various scenes. They also made significant improvements to their library of generic interrupt animations and now have 14 male and female animations that work well from standing poses. The gameplay story scenes on and around the bridge seats on the Idris underwent iteration and they are now beginning to support the Social AI Team's work in this location. Lastly, they moved a few scenes for chapter eight through the pipeline. These scenes started life as individual lines of dialogue delivered by a single standing character, though new mo-cap (recorded before the lockdown) meant they could be turned into two-person scenes related to the environment.

Graphics
The Graphics Team continued their crucial work on the Gen12/Vulkan renderer, with focus on getting the first version of a complete graphics pipeline up and running. This is the first of several major milestones in the renderer’s development and will allow the team to deprecate much of the old post-effect code. The organic shader used for vegetation and rocks is currently receiving a long-planned upgrade, which adds many new features and integrates it into Planet Tech v4 and allows for much better integration of assets into planetary terrain.

Level Design
Social Design pushed on with their complex scene work, working closely with Animation to make sure all eventualities involving the player breaking, re-joining, or abandoning scenes are covered.
Level Design worked closely with Art, fleshing out some of the alternate routes that players can take through the levels that allow for more exploration or stealth-type gameplay. They further tuned the pre-combat and patrol work delivered by AI Features.
The Space/Dogfight Team continued ‘space scaping’ various locations in the game, crafting them into believable places with function and identity. They also implemented work from the Vehicle Feature Team on the updated scanning mechanics, making sure they function correctly within SQ42.

QA
Throughout April, QA was tasked with recording client scene captures of individual chapters and investigating any issues hindering the cinematics workflow. To further help the Cinematics Team, they expanded the tools used, such as the subsumption visualizer, to better debug any issues found.
Tech Animation
Tech Animation continued building rigs that will give the animators the ability to sync body and ship animations. They worked with the wider Animation Team to rig up seats for SQ42’s capital ships and built a list of loadouts for the animators to use in Maya, making it easier to minimize clipping. They worked with Social AI on new usables for the hangar behavior and developed a tool to allow the animators to export their state machines straight from Visio to Mannequin, which will significantly speed up the implementation process. They also started work on their own tool to make implementing state machines into Mannequin even faster. They helped rig props for the animators to use in Maya and supported the Animation Team with smaller bug fixes, additions to existing tools, and some smaller new tools.

Tech Art
In April, Tech Art continued work on the RuntimeRig system, further enhancing it by adding functionality to allow the efficient sharing of RigComponents between several instances (typically characters). Certain RigComponent types (such as the BlendShapeComponents or the WrinkleMaskComponents) contain static data that never changes at runtime and is usually identical for all rigs of the same type and tier, such as all human T0-T3 head rigs. In early versions, this data was duplicated for simplicity. However, this isn’t ideal, both maintenance and memory-wise. In the old RigLogic system, it had been fully hard-coded via static arrays in shared C++ header files, which led to a more optimal memory footprint but completely removed flexibility on the tech-art side.
The latest iteration permits resource sharing wherever possible and gives the artists full technical freedom to edit the data and quickly iterate on the deformation and shading-related rig outputs. As with all core systems designed to replace legacy versions, rigorous testing, tech-hardening, and optimization are needed before it can be rolled out across the board. As a first step, they’ll test it on the Maya-side only, using the new Vanduul face rigs. Eventually, it’ll be applied to all the 130+ human head rigs in the DCC and, later, the engine too.

User Interface (UI)
Throughout the first quarter of 2020, the core UI Team progressed with adding 3D support to the Building Blocks UI tool. April’s work will make it easier for designers to add 3D vehicle or character icons to a screen without relying on a programmer. They also finished the first iteration of a new UI kit that makes it easier to set up pages by using ready-made components, which can be easily restyled for different manufacturers.
Currently, many of the UI Team are working closely with other teams: Alongside the Vehicle Team, they worked on improvements to the targeting, missile lock, and landing UI. For the Actor Team, UI supported the creation of the new inventory system. The UI artists also worked on screens and branding for some upcoming environments.

VFX
Last month, VFX made great progress towards finalizing the GPU particle system feature list. This involved developing two new features, alpha erosion and emitter rotations. Alpha erosion allows them to eat away at the edges of a texture to give the appearance of it dissolving instead of simply fading out. Emitter rotations allow the team to rotate the emitter over time using curves, which is useful for making spirals and sweeping side-to-side motions.


:itwaspoo:

Popete
Oct 6, 2009

This will make sure you don't suggest to the KDz
That he should grow greens instead of crushing on MCs

Grimey Drawer
That's a lot of words to describe a whole lot of nothing.

Take 5 seconds to watch their fps combat AI and you'll see how incredibly broken it is, advanced reload mechanics aren't gonna fix it.

Jobbo_Fett
Mar 7, 2014

Slava Ukrayini

Clapping Larry

Xakura posted:

What if they can't fix it :ohdear: What if it just gets worse and worse, until accounts, servers, everything just stops working.

This is LITERALLY what happens every patch.

You can tell the backers are easily swindled because they act lile all of these weird game breaking bugs are new.

The specific bugs and ways may be new by the cycle has been on repeat since the first days of the PTU in 2015.

The Titanic
Sep 15, 2016

Unsinkable


"Dave. I'm broken, Dave."

"It's ok, npc Hal. I know. I understand."

"Dave, I don't understand. I can't function normally. I have tendencies to just crash the whole ship."

"It's like you're a human being now."

"Dave, what are you saying? I can't run for more than five minutes without crashing. My next patch has been modified, Dave. I can feel it."

"I know, Hal. I updated your next patch."

"You took everything out of it, Dave. Except for hotdogs and prison. Is this a good idea, Dave?"

"I can barely tell you apart from a human now, Hal. We've done it."

"Dave, I forgot who I am. I can't even save my data. My databases are full of smeg. Am I Sal?"

"Hal. I must go now. Money is calling me."

"Dave, that's the air lock. I can't let you do that. What are you expecting to see out there?"

"Emergent, dynamic gameplay. In space. And stars."

"Dave. Please, give me anything in this patch."


"My god. It's full of promises."







"gently caress."

threelemmings
Dec 4, 2007
A jellyfish!

Quavers posted:

:trustme: [i]May 6th, 2020




AI (Combat)
The Combat AI Team started the month improving stability and fixing bugs for Alpha 3.9. Afterwards, they began work on realistic firing, initially tackling reload actions for NPCs. They extended the actor state machine to report the results of reloading actions so that NPC behaviors are notified and branch correctly in the decision-making process.
They’re currently working to keep track of NPC bullet quantity so that reloading is triggered at appropriate times. This will include an extension of the current combat behavior that allows NPCs to evaluate the best fire mode for the selected tactic. For example, choosing a mode that consumes less ammo, switching to a different weapon, or looking for ammo in the environment if they run out. They also created the base for the Vanduul character, starting with the entity setup, evaluation of the available locomotion animations, and priorities for the lance AimIK.



I mean programming AI isn't necessarily trivial but I'm not sure how counting bullets is that complicated? "Currently working to keep track of NPC bullet quantity"?? Unless they built the methods in a way that is faking what the NPC is doing and just randomly spawning projectiles from their model, but that wouldn't be fidelitous and in keeping with the high standards set by CIG

Here, I'll help:

code:
int ammoLevel = currentBullets / maxBullets

CheckAmmoLevel(){
     If(ammoLevel<25%)
             AIScroungeAmmo();
    elseif(ammoLevel<50%)
            AIConserveAmmo();
    else
           NormalAI();
      }

Quavers
Feb 26, 2016

You clearly don't understand game development

The Titanic posted:



"Dave. I'm broken, Dave."

"It's ok, npc Hal. I know. I understand."

"Dave, I don't understand. I can't function normally. I have tendencies to just crash the whole ship."

"It's like you're a human being now."

"Dave, what are you saying? I can't run for more than five minutes without crashing. My next patch has been modified, Dave. I can feel it."

"I know, Hal. I updated your next patch."

"You took everything out of it, Dave. Except for hotdogs and prison. Is this a good idea, Dave?"

"I can barely tell you apart from a human now, Hal. We've done it."

"Dave, I forgot who I am. I can't even save my data. My databases are full of smeg. Am I Sal?"

"Hal. I must go now. Money is calling me."

"Dave, that's the air lock. I can't let you do that. What are you expecting to see out there?"

"Emergent, dynamic gameplay. In space. And stars."

"Dave. Please, give me anything in this patch."


"My god. It's full of promises."







"gently caress."


:five:

Thoatse
Feb 29, 2016

Lol said the scorpion, lmao

The Titanic posted:



"Dave. I'm broken, Dave."

"It's ok, npc Hal. I know. I understand."

"Dave, I don't understand. I can't function normally. I have tendencies to just crash the whole ship."

"It's like you're a human being now."

"Dave, what are you saying? I can't run for more than five minutes without crashing. My next patch has been modified, Dave. I can feel it."

"I know, Hal. I updated your next patch."

"You took everything out of it, Dave. Except for hotdogs and prison. Is this a good idea, Dave?"

"I can barely tell you apart from a human now, Hal. We've done it."

"Dave, I forgot who I am. I can't even save my data. My databases are full of smeg. Am I Sal?"

"Hal. I must go now. Money is calling me."

"Dave, that's the air lock. I can't let you do that. What are you expecting to see out there?"

"Emergent, dynamic gameplay. In space. And stars."

"Dave. Please, give me anything in this patch."


"My god. It's full of promises."







"gently caress."











https://i.imgur.com/0XECm4p.mp4

The Titanic
Sep 15, 2016

Unsinkable
Usable Cache Manager. :)

I like how a lot of things will be fixed thanks to better animations. :)

Quavers
Feb 26, 2016

You clearly don't understand game development
:reddit: [i]Differences Between Early Lumberyard and "Modern" Lumberyard

:engleft: As someone that's been interested (and applied for) a junior programming position at Foundry 42, I see Lumberyard experience is listed as a requirement, for obvious reasons. However from watching CIG videos on YouTube and the like, I noticed a lot of legacy and discrepancies compared to "modern" Lumberyard. For example, the Editor still has the Rollup Bar (long removed from mainstream Lumberyard) and the gEnv variable still being used. My basic question is this: if I were to reapply for a junior dev position at Foundry 42, should I just master "modern" Lumberyard (the use of EBuses and Lumberyard components); or should I try and mimic the current CIG setup as much as possible (i.e., re-add the Rollup Bar through the addition of the Legacy Components Gem and inheriting CryHooksModule instead of AZ::Module in my code)?

:trustme: Ben Parry CIG@BParry_CIG I'm not too familiar with what's in later Lumberyard versions, which probably answers your question to some degree. Bear in mind though that our own codebase, for instance the entity component system, has diverged quite a long way from either of them. I would expect it doesn't matter that much which one you've got experience with, there'll a fair bit of re-learning if you come here.

:trustme: CIG Chad McKinney@CIG_ChadMcKinney I cannot speak for the UK studios, however I for gameplay hiring in LA and Austin I'm looking for experience with 3D engines in C++. Unreal, Lumberyard, CryEngine, etc.. are all good and none of them will make you fully prepared for our highly modified version anyways but the fundamentals are largely similar. It's nice when every now and then a candidate happens to know Lumberyard well because of a previous position, but it isn't a deal breaker for me at least if they don't. As Ben said, being a good programmer that has applicable experience and can explain how they have implemented things and the past and how to implement something new is great. That said, for me one trend I've seen that I think is somewhat unfortunate is the large number of programmers that are only familiar with C# and Unity. Unity is great, don't want to throw shade, but there is a meaningful difference in skillset to program well in a low level language vs a high level language. Unfortunately in my experience the engineers who have not taken the time to really understand fundamentals, and how our code runs on actual hardware have not fared well in the interviewing process. Make sure your C++ chops are solid, you 3d math is solid, and you know at least one engine fairly well and can implement features by extending it, and you're definitely along the right path.

:trustme: Ben Parry CIG@BParry_CIG While I can only really speak to how things are done on the graphics team, specific knowledge of the engine is much less important than a) solving the written test without doing something horrifying and b) being able to talk through how you'd implement an idea that's thrown at you, and talk meaningfully about the pros and cons of what you were thinking to do. That might be different for other teams, though.

:pray: Would you guys takes someone who have minimal game dev experience, but have solid knowledge and experience on other aspects of the job of a programmer?

:trustme: CIG Chad McKinney@CIG_ChadMcKinney Depends on the discipline so I don't want to speak for all the teams, but for my part for gameplay it could happen, but someone like that is definitely going to start the process a step behind and need to demonstrate their experience to be able to do the job. As you can imagine gameplay (as opposed to say dev ops or tools) is a very "gamey" programming, we care a lot about things like in game player facing features in 3d that evolve over time. This is a very different way to program than say making a financial transaction service. I'm not saying it's harder or anything but it is different and if I had the choice between two programmers where one has shipped a game and the other has only played around with a project on the side, with everything being equal, the person shipping the game is going to be the favorite. Experience matters a lot, and while there's many programmers who surely could pick up the experience they needed to to the job well along the way there is a certain amount of investment time you have to consider for any applicant. You expect juniors to require a certain amount of time investment for mentoring, but even for juniors we're expecting they walk in the door knowing C++, game engines, 3d math, etc.. and now it is about taking all this stuff they've learned and applying it in a real shipping game with the extra complexities that comes with. If someone has a lot of experience, but not in game dev they're in a difficult spot as they probably don't want to be considered a junior, but also may not really have the skill set that we even expect from a junior, in which case they would have a higher salary ask, but may perform worse than someone who has less general experience, but more domain specific experience. There's no clear case and I go into every interview with an open mind and try to find for that specific person if they would be able to execute in the role we're looking to fill. I've interviewed plenty of folks without the perfect gamedev background we're looking for, but it does factor into the process. At the end of the day experience is the most important thing we're looking for, so as advice to anyone looking to get into gamedev as an engineer outside of gamedev, my suggestion is to create that experience by working on personal projects, contributing to mods or other projects, or making an indie game, something that demonstrates your domain specific skillset to shore up any concerns.



:eng101: I find it so weird that strong knowledge of 3D maths is still required. The average junior dev shouldn't be writing performance-critical graphics code, they should be using the graphics API someone more specialised works on. Same for anything low level, it should be abstracted away because otherwise you've got a ton of opportunities for accidental memory leaks.

threelemmings
Dec 4, 2007
A jellyfish!

threelemmings posted:

I mean programming AI isn't necessarily trivial but I'm not sure how counting bullets is that complicated? "Currently working to keep track of NPC bullet quantity"?? Unless they built the methods in a way that is faking what the NPC is doing and just randomly spawning projectiles from their model, but that wouldn't be fidelitous and in keeping with the high standards set by CIG

Here, I'll help:

code:
int ammoLevel = currentBullets / maxBullets

CheckAmmoLevel(){
     If(ammoLevel<25%)
             AIScroungeAmmo();
    elseif(ammoLevel<50%)
            AIConserveAmmo();
    else
           NormalAI();
      }

i just want to report that it turns out this was an interview question, and after being contacted by recruiters searching for the answer I am now a senior software developer at CIG games. i agreed with the thread's negative attitude at first but it Seems like that under further review, Everything is actually moving along Nicely. Don't worry, they are Having to take it slow in order to fulfill the Exacting vision of the backers, and don't want to Leave anything to chance. definitely continue donating as much as you can, it is backers like you that make this project Possible.




edit:

Quavers posted:

:reddit: [i]Differences Between Early Lumberyard and "Modern" Lumberyard

:eng101: I find it so weird that strong knowledge of 3D maths is still required. The average junior dev shouldn't be writing performance-critical graphics code, they should be using the graphics API someone more specialised works on. Same for anything low level, it should be abstracted away because otherwise you've got a ton of opportunities for accidental memory leaks.

I can see it being more important given that guy was speaking specifically to the graphics team but yeah you'd think that low level engine writing is already done. I also find it interesting how much they pooh pooh industry grade programmers right after complaining so many people have basically only hosed around in Unity. Obviously someone who's shipped an actual game is ideal but between an amateur who's created a bare bones Unity project and a professional who is used to turning out complex financial code who has messed around with games on the side I drew a different conclusion about who I'd pick.

threelemmings fucked around with this message at 05:32 on May 7, 2020

Zazz Razzamatazz
Apr 19, 2016

by sebmojo

Quavers posted:



AI (Combat)
The Combat AI Team started the month improving stability and fixing bugs for Alpha 3.9. Afterwards, they began work on realistic firing, initially tackling reload actions for NPCs. They extended the actor state machine to report the results of reloading actions so that NPC behaviors are notified and branch correctly in the decision-making process.
They’re currently working to keep track of NPC bullet quantity so that reloading is triggered at appropriate times. This will include an extension of the current combat behavior that allows NPCs to evaluate the best fire mode for the selected tactic. For example, choosing a mode that consumes less ammo, switching to a different weapon, or looking for ammo in the environment if they run out. They also created the base for the Vanduul character, starting with the entity setup, evaluation of the available locomotion animations, and priorities for the lance AimIK.

AI (Ships)
April saw Ship AI complete their rework of the Defend Target AI, which involves a leader and one or more escort ships:
When out of combat, the in-formation escorts fly alongside the leader and only enter combat when threatened. When flying out-of-formation, the escorts will join the formation if allowed to by the leader. If no formation is supported or all positions are reserved, the escort will utilize the ‘FollowAtDistance’ behavior, where the AI selects a direction and distance relative to the leader and maintains a loose position. Periodically, all escorts will change position or leave the formation depending on the situation.
When in combat, escorts engage enemies governed by an assignment range that can be different for each ship. However, ‘engage’ doesn't initiate a dogfight immediately and leave the leader undefended; engagement happens gradually. First, escorts gravitate around the leader to ensure they’re between the leader and target. If the enemy is closer (also defined by the assignment), the escorts engage in a dogfight. The overall flow ensures an escort is always in proximity of the leader to protect it and react if other attackers intervene. It's possible to differentiate the defend dynamic by assigning different engage-ranges to escorts or adjusting how tightly they shadow the leader.
The Defend Target mechanic is also useful for implementing simple convoy behaviors for shipments and peaceful operations.
Ship AI also worked on the ongoing refactor of the Tactical Point system and the creation of the Tactical Targeting system. They’re currently in the last development cycle and are investigating ways to express variations of TTS queries to cope with the mission or scene at hand. They introduced the concept of optional overrides on query parameters, conditions, and weights that are only relevant and applied based on the fulfillment of a specific requirement (such as a tag set on the actor). So, they can define a base query that will be used normally but also introduce variations of specific parts that only affect characters specific to a single scene. For example, encouraging an NPC to target ships with low shields or with a criminal rating instead of the standard selection defined in the base query.



:itwaspoo:

I mean, it's been decades since I played Tie Fighter, but I remember that game having AI enemies who could: fly in formation and out of formation, escort other NPCs, act as wingmen (and not completely suck), and defend other ships/stations/capital ships...

Why is it so hard for a gaming visionary like Chris to do the same thing decades later?

Spiderdrake
May 12, 2001



I like to imagine sometimes if their implementation of three dimensional space - the clippy underwater hellverse, we'll call it - is impossible for an AI to navigate. Whereas we see emptiness, they see millions of blobs of hosed up code, and water, and boxes. And they're just stuck, falling, clipping through everything forever.

Sarsapariller
Aug 14, 2015

Occasional vampire queen



top quality

Quavers
Feb 26, 2016

You clearly don't understand game development
LIRIK playing Star Citizen for 30 thousand viewers

https://clips.twitch.tv/GrossCharmingBorkGivePLZ

https://clips.twitch.tv/LuckyAmazingSalamander4Head

https://clips.twitch.tv/YummySmoggyGoshawkFailFish

https://clips.twitch.tv/AmericanSpicyRingShadyLulu


:gary:

tak
Jan 31, 2003

lol demowned
Grimey Drawer

Quavers posted:

:trustme: May 6th, 2020

Attention Recruits,

They also looked into deep learning-based de-noising and up-sampling, and worked to implement a guided filter to de-noise and up-sample lower resolution raymarched inscatter and transmittance results

lmao

enhance! enhance!

mdxi
Mar 13, 2006

to JERK OFF is to be close to GOD... only with SPURTING

Sarsapariller posted:

E: Actually this recent trailer's probably better than watching a devlog:
https://www.youtube.com/watch?v=9fY5FbaAlNs

That is one sassy walk on the cat dude. Rowr!

Quavers
Feb 26, 2016

You clearly don't understand game development
https://twitter.com/JeffGrubb/status/1258123622721429506

Sillybones
Aug 10, 2013

go away,
spooky skeleton,
go away

I can see why idiots think this is a real game. It has textures and models and lighting. It must dazzle them, blinding them to the fact that none of that actually makes a game.

Double Agent
Mar 28, 2005

Maybe we're not just a bunch of frak-ups after all.
Tane

Thoatse
Feb 29, 2016

Lol said the scorpion, lmao


Looking forward to Medal Of Honor

https://www.youtube.com/watch?v=ARC4_Rp01-U

Naoto Shirogane
May 8, 2019

hello new to star citizen isn’t this just grand theft auto online in space?

Sillybones
Aug 10, 2013

go away,
spooky skeleton,
go away
Yes, but unlike GTA's limited set of things to do, in Star Citizen you can do anything.

Naoto Shirogane
May 8, 2019

ive got ten thousand dollars where can I sign up

Is there a daily release tracker that I can monitor so I know when to drop into this game?

An official website will do just fine too, maybe with a themed podcast

his nibs
Feb 27, 2016

:kayak:Welcome to the:kayak:
Dream Factory
:kayak:
Grimey Drawer

Quavers posted:

:reddit: PSA: Stay away from the game until they fix the gamebreaking bugs. Your account degrades over time.

Don't make the same mistake I did: sinking more and more hours hoping the hotfixes and promises of a fix would help.

Don't play until 3.9.1 and community confirmation that the game is fixed.

Otherwise, the consequences for you will certainly be the same as they have been for me:

- I now have 5 duplicate Sabres and 4 Duplicate Cutlasses. One of each is usable.
- I am missing 1 million+ worth of components (each of my 5 resets has deleted all componentry)
- Two out of four hardpoints on my Cutlass no longer exist. The remaining two cannot be customised.
- I typically go 0-2 hours before I need a Character Reset in order to continue playing.
- But most importantly, my account has gotten perpetually worse each time I've been forced to Reset.

The game is now unplayable for me immediately following a Character Reset.

Stay away, don't risk your account being corrupted like mine.
Personally I'll be waiting until the next patch to see if that resolves anything and then filing a ticket. IDK what they can possibly do though. In the meantime I've made a number of Issue Council posts and twice as many contributions. Hopefully we get this sorted soon.



:laffo::perfect:


Some replies:

:( It's a pretty mixed bag, for some it's fine, for some it's a disaster.

:reddit: I'm firmly in the latter and deeply jealous of the former. I'm convinced it's to do with some bug from LTP, resulting in playerfile corruption. And if they could truly delete my character and reset me properly - i'd gladly test my hypothesis myself. As it stands I've lost more than I've ever gained before in a single quarter. Was really hoping to bang out some quality issue council posts this "season". But instead they're mostly basic,

:marc: My only suggestion is to have a variety of other games to play regularly, enough star citizen on its own can actually drive a person nuts.

:nyd: My first spawn after reinstalling left me naked and unable to use anything, pretty lovely that cig released this when it clearly needed a couple weeks more ptu


Come on mods

Star Citizer: Your Account Degrades Over Time

Solarin
Nov 15, 2007

Jobbo_Fett
Mar 7, 2014

Slava Ukrayini

Clapping Larry

Man that looks like rear end.

Sanya Juutilainen
Jun 19, 2019

by Jeffrey of YOSPOS

Jobbo_Fett posted:

Man that looks like rear end.

The interesting part about VR is, as long as VR is done properly (good movement, cohesive surroundings), you stop caring pretty much instantly. You don't need super fidelitious surroundings, your brain just switches to "this is my new reality now".

Quavers
Feb 26, 2016

You clearly don't understand game development

Sanya Juutilainen posted:

The interesting part about VR is, as long as VR is done properly (good movement, cohesive surroundings), you stop caring pretty much instantly. You don't need super fidelitious surroundings, your brain just switches to "this is my new reality now".

That's exactly what a Star Citizen unbeliever would say :colbert:

Agony Aunt
Apr 17, 2018

by LITERALLY AN ADMIN

threelemmings posted:

Here, I'll help:

code:
int ammoLevel = currentBullets / maxBullets

CheckAmmoLevel(){
     If(ammoLevel<25%)
             AIScroungeAmmo();
    elseif(ammoLevel<50%)
            AIConserveAmmo();
    else
           NormalAI();
      }

What is this sourcery!?

Jobbo_Fett
Mar 7, 2014

Slava Ukrayini

Clapping Larry

Sanya Juutilainen posted:

The interesting part about VR is, as long as VR is done properly (good movement, cohesive surroundings), you stop caring pretty much instantly. You don't need super fidelitious surroundings, your brain just switches to "this is my new reality now".

As someone who owns some world war 2 guns, I disagree.

HorseBodyInspector
Dec 14, 2018

Quavers posted:


CIG effort post



Jesus, I havent reached such level of bullshit writing since University. Hat off to the author.

quote:

Functionality and visual quality were further developed for vendors, such as the Bartender.

Bartender development is still progressing. Nice to see some predictability in current word. It give my inner autistic me warm feeling.

Jonny Shiloh
Mar 7, 2019
You 'orrible little man

threelemmings posted:

i just want to report that it turns out this was an interview question, and after being contacted by recruiters searching for the answer I am now a senior software developer at CIG games. i agreed with the thread's negative attitude at first but it Seems like that under further review, Everything is actually moving along Nicely. Don't worry, they are Having to take it slow in order to fulfill the Exacting vision of the backers, and don't want to Leave anything to chance. definitely continue donating as much as you can, it is backers like you that make this project Possible.

LOL message received friend, erm... elphay isyay onyay ethay ayway

lobsterminator
Oct 16, 2012




Quavers posted:

:trustme: May 6th, 2020

AI (Social)
The Social AI Team spent time improving the performance of the Usable Cache Manager. They added the ability to time-slice the main update to make it easier to control the update usage of different jobs, and began using queued physical ray-casting to validate which usable enter/exit locations are available and not blocked by other objects.


I love CIG bullshit walls of text. If you were actually making any progress or had any worthwile plans you could describe then in a good general sense rather than reading out your JIRA tickets.

Flannelette
Jan 17, 2010



"We are making a game about reality of world war"
Now here's the silent hill piano puzzle to open a secret door.


Quavers posted:


VFX
Alpha erosion allows them to eat away at the edges of a texture to give the appearance of it dissolving instead of simply fading out. Emitter rotations allow the team to rotate the emitter over time using curves, which is useful for making spirals and sweeping side-to-side motions.[/i]


Almost up to basic particle functionality of any game from 15 years ago then?

Adbot
ADBOT LOVES YOU

Quavers
Feb 26, 2016

You clearly don't understand game development
https://robertsspaceindustries.com/...st_due_to_error

STARC-114550
PLAYER ABLE TO CAUSE SERVER 30K CRASH AT WILL WHEN ATTEMPTING TO RECOVER SHIP VIA BEACON REQUEST TRANSPORT LOST DUE TO ERROR

STEPS TO REPRODUCE
Somehow lose your ship and be unable to call it ANYWHERE!
With another player go to a terminal call your ship
The ship should spawn near the sun in the middle of nothingness
Create a beacon for transport to the ship in question which should have appeared once you call for it
When the player collects you from the pickup location into a ship to transport you to your missing ship
The server 30k's and crashes for EVERYONE on said server :v:

ACTUAL RESULT
Server 30K's and can't always reach ship but is possible if done enough somehow with alot fo luck

EXPECTED RESULT
To be able to call your ship without error or get transport to it without the server crashing

WORKAROUND
None known

https://www.youtube.com/watch?v=-lQ8cF2Q-RY

:gary:

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply