Apple to hold annual shareholders meeting on Feb. 26
Apple is scheduled to hold its annual shareholders meeting in February at Apple Park’s Steve Jobs Theater, where stock holders will cast votes on measures ranging from the election of the company’s board of executives to three shareholder proposals.
The meeting is slated to take place on Feb. 26 at 9 a.m. Pacific, according to a proxy statement filed with the U.S. Securities and Exchange Commission on Friday. Shareholders of record, or those who owned Apple stock at the close of business on Jan. 2, 2020, are invited to participate in person, but anyone with stake in the company can vote online through proxyvote.com.
For 2020, the meeting will cover a total of six proposals involving the election of directors, ratification of Ernst and Young as the independent registered public accounting firm and approval of executive compensation. Three shareholder proposals covering proxy access, sustainability and executive compensation, and policies of freedom of expression are also up for vote.
Apple presents board nominees James Bell, Tim Cook, Al Gore, Andrea Jung, Art Levinson, Ron Sugar and Sue Wagner for consideration. Bob Iger, CEO of Disney, resigned from the company’s board last September, prior to the debut of the Apple TV+ and Disney+ streaming services. A longtime director at Apple, Iger later said the tech giant’s interest in entering the entertainment industry put the companies on “conflicting rather than converging” paths.
During 2019, CEO Cook once again netted the lowest payout amongst fellow C-suite executives at $11.5 million, including a $3 million base salary. Other executives, including CFO Luca Maestri, General Counsel Kate Adams, SVP of Retail and People Deidre O’Brien, COO Jeff Williams, and former retail chief Angela Ahrendts, reaped between $19 million and $25 million in salary, stock grants and incentives.
That said, Cook raked in $113.5 million in vested stock units and stands to gain hundreds of millions of dollars should Apple continue to perform at expectations, as he controls 1.26 million unvested stock units worth some $275.7 million, as well as 560,000 equity incentive plan awards worth $122.5 million.
Three shareholder proposals are on the docket for 2020, including yet another proxy access amendment that seeks a second shareholder-approved nominee to the board. Apple’s current proxy access regulations limit access to 20 percent of immediately serving directors rounded down to the nearest whole number, which comes out to one director. The proposal would change that language to reflect a 20 percent figure “or 2, whichever is greater.”
Apple has received proxy access proposals six years running and in each case recommended shareholders vote against the proposition on the basis that the existing method of proxy access has been deemed effective.
Proposal 5 requests the Board Compensation Committee to prepare a report “assessing the feasibility of integrating sustainability metrics into performance measures, performance goals or vesting conditions that may apply to senior executives under the Company’s compensation incentive plans.” While Apple touts efforts in the areas of environmental sustainability and human rights, directly tying specific metrics to executive compensation could “reduce reputational, legal and regulatory risks and improve long-term performance,” the proposal reads.
Apple recommends a vote against Proposal 5, noting existing programs like the yearly Supplier Responsibility Progress Report, Environmental Responsibility Report and Supplier Code of Conduct are already in place. Further, integrating the requested metrics into executive compensation would be redundant as they are already built in as core corporate values, the company says.
“An effective approach to “sustainability,” as that term is defined by the proponent, requires more than simply tying executive compensation to the achievement of environmental, social, and governance goals,” Apple says. “That is why, as a company, we already incorporate the Apple Values into our business strategy.”
Finally, Proposal 6 seeks a report on Apple’s policies on freedom of expression and access to information, “including whether it has publicly committed to respect freedom of expression as a human right.” The company’s dealings in China are specifically mentioned, with proponents noting Apple’s mass removal of VPN apps from the App Store in 2017, a takedown of at least 634 so-called “illegal” apps in 2018 and the ejection of The New York Times app in 2017. In each case, Apple acted at the behest of the Chinese government, a regime known to stifle free speech.
The company recommends voting against Proposal 6, saying it adheres to the laws and regulations of countries in which it operates.
“In these instances, we prioritize engagement, advocating for the outcome we believe is in the best interests of our users. And, while we may disagree with certain decisions at times, we do not believe it would be in the best interests of our users to simply abandon markets, which would leave consumers with fewer choices and fewer privacy protections,” Apple says. “We believe engaging and participating in markets enables us to advocate for policies and practices that are consistent with Apple’s values.”
Translation is an important step in software localization which helps make software more popular globally, and impacts international user experience. In recent years, localization processes have been evolving worldwide to become more continuous, faster, efficient with automation. In Fedora, the development of the Zanata platform and its plugins, then Transtats, and now the migration to the Weblate platform are part of this common ongoing goal. The localization of a desktop OS like Fedora is highly complex because it depends on many factors of the individual upstream projects which are packaged in Fedora. For example, different translation timelines, resources, and tooling.
What is Transtats?
Transtats is a web application which tries to tie up upstream repositories, translation platforms, build system, and product release schedule together to solve problems of mismatch, out-of-sync conditions and to assist the timely packaging of quality translations. Actually, it collects translation data, analyzes them, and creates meaningful representations.
Just select Packages tab from left hand side navigation bar. This takes us to the packages list view. Then, search for the package and click on its name.
For example anaconda. On package details page, locate following:
Here, we have translation statistics from translation platform: Zanata and Koji build system. Syncs with the platform and build system are scheduled, which update differences periodically. Languages in red color indicate that there are translated strings remaining in the Translation Platform to be pulled and packaged, whereas, blue denote translated messages could not make 100% in the built package.
String breakage (or changes?)
In translation of software packages, one of the challenges is to prevent string breakage. Package maintainers should strive to abide by the scheduled Fedora release String Freeze. However, in some circumstances it could be necessary to break the string freeze and to inform the translation team on the mailing list. As well as, to update latest translation template (POT) file in the translation platform. Just in case these actions seem missing – translators may get new strings to translate very late or the application may have some strings untranslated. In the worst case, an outdated translation string mismatch may result in a crash. Sync and automation pipelines are there to prevent this, nevertheless it depends on the push or pull methods followed by package developers or maintainers.
To deal with the same context, we can use a job template in Transtats to detect this string change – particularly useful after string freeze in Fedora release schedule. This would be really helpful for the folks who look for packaging translations without string breakage, keeping translation template (POT) file in sync with translation platform, and testing localized form of the application for translation completeness to back trace.
How to detect string changes?
One of the options in Jobs tab is ‘YML based Jobs’. Where we can see available job templates.
The jobs framework executes all the tasks mentioned in the YAML, create appropriate logs and store results. Track String Change job basically:
Clones the source repository of respective package.
Tries to generate translation template (POT) file.
Downloads POT file from respective translation platform.
And, finds differences between both the POT files.
Actually, Transtats maintains mapping of upstream repository, Translation Platform project and respective build tag for every package.
Let’s take a closer look into this YAML. We can provide value for %PACKAGE_NAME% and %RELEASE_SLUG% in the next step – Set Values! For example: anaconda and fedora-32. Furthermore, a couple of things seek attention are:
In case the upstream software repository maintains separate git branch for fedora release, please edit ‘branch: master’ to ‘branch: <fedora-release-branch>’
In ‘generate’ block, mention the command to generate POT file. Default one should work for ‘intltool-update’ only, however, many packages do have their own.
A few packages may have gettext domain name different than that of package name. If this is the case, mention the gettext domain too.
As soon as the job is triggered, logs should be populated. If this is not a scratch run, a unique URL shall also be created at the end.
Left hand side is the input YAML and right hand side is respective log for each task. Here we can find the differences and figure out string mismatch.
In Transtats, we can create solutions to different problems in the form of job templates. And, scheduling of these jobs could be a step towards automation.
Nintendo Reveals The 20 Most-Played Switch Games Of 2019 In Europe
I don’t know how seriously I’m supposed to take this ranking.
I mean, I can take it that 5 games out of 20 are from 2019 because their releases were among the most expected ones, but I have to notice that Pokémon Sword and Shield was released on the 2nd half of November.
Now, how the hell is it possible that it’s been one of the most played games in the whole year? Sorry, I just don’t believe that.
Well, unless people generally keep their data sharing option turned off, like I do.
Posted by: xSicKxBot - 01-04-2020, 03:23 AM - Forum: Lounge
- No Replies
Three Great PC Games Are Free Right Now
The Epic Games Store is ringing in 2020 by giving away three free PC games until January 9 at 8 AM PT / 11 AM ET. The freebies represent the end of Epic's 12 Days of Free Games promotion that actually ended up lasting a full two weeks. To claim the free games, you just need to have a free Epic account.
If you like what you play, you can move onto 2018's Darksiders 3 and the recently-released Darksiders Genesis, which introduces more role-playing mechanics and a new top-down perspective.
Quite a departure from Darksiders, Steep is a 2016 extreme sports sim from Ubisoft. Though focused on snowboarding and skiing, Steep also has paragliding, sledding, base jumping, and wingsuit flying. Steep earned a 7/10 in GameSpot's review. Critic Leif Johnson praised the open world mountain and the game's overall variety while lamenting the lack of objective rewards beyond cosmetics.
Posted by: xSicKxBot - 01-03-2020, 07:00 PM - Forum: Windows
- No Replies
Meet the 2020 Imagine Cup Asia regional finalists
For 18 years, student developers have brought their unique technology solutions to life with Imagine Cup to make a difference in the world around them. Starting with just an idea, students form teams of one to three people and leverage Microsoft technology to develop purpose-driven applications from what they’re most passionate about.
This competition year is no different, and the journey to the 2020 Imagine Cup World Championship is kicking off with the selection of the Asia Regional Finalists! From hundreds of teams who submitted projects to the Asia Online Semifinals, 10 teams have been chosen to advance to the Asia Regional Final in Singapore this February. Encompassing solutions tackling a drug scanning app to monitor authenticity and allergens, to a real-time computer vision physiotherapy tool, to an immersive virtual reality experience so young students can learn about different cultures, these student innovations are truly incredible and have the chance to create global impact.
At the Regional Final, all teams will participate in an Entrepreneur Day and receive in-person pitch training from the U.S. Department of Global Innovation through Science and Technology (GIST), and compete for prizing totaling over USD20,000 in cash plus Azure credits. The top two teams will win spots in the 2020 Imagine Cup World Championship in Seattle, Washington to present their projects live for the chance to take home USD100,000 and a mentoring session with Microsoft CEO, Satya Nadella.
We’re excited to introduce this year’s Asia Regional Finalist teams!
Tanah Airku:Tanah Airku is immersive learning media using books, AR, and VR to deliver a complete cultural learning experience for children from 1st to 3rd grade.
Seguro Droga: The team developed an Android application which lets patients scan a drug’s RFID card to determine authenticity using Hyperledger Fabric on Azure VM, manage their drug purchases, and set filters for allergens.
EDVR
Nepal
EDVR:EDVR is a voice-controlled immersive Virtual Reality experience for dyslexic students enrolled in STEM education. EDVR aims to solve the problem of imparting STEM education for students with learning disabilities by enabling them to visualize, comprehend, and conceptualize.
Hollo:Hollo is a Social Technology Enterprise based in Hong Kong. The team is developing a comprehensive tool for NGOs, therapists, and youth living with mental illness to advance therapy practices using technology such as Big Data and Artificial Intelligence.
Muses
China
AI Composition System:Using AI, The Muse Artificial Intelligence Composer is a low-cost solution to create music for commercial use, providing a new solution for some commercial music creations that have lower creative requirements and are more cost effective.
FaceTag: The team created a solution for bottlenecked gateways in a daily commute: specifically the entry and exit points at metro stations. FastTag tollways enable commuters to simply walk in, have their face scanned, and have the toll deducted automatically from their wallet.
Dr. Rehab:Dr. Rehab is a mobile application for real-time physiotherapy supervision through computer vision. Users can access the rehabilitation exercises assigned to them, follow guided instructions, and receive feedback while completing their exercises.
Tulibot Team
Indonesia
Tulibot:Tulibot is an integrated assistive device to bridge the communication gap for the deaf by providing a smart glove (gesture to text) and smart glasses (speech to text).
Vibra-Intellisense:Vibra-IntelliSense aims to help companies transition from traditional preventive maintenance to predictive maintenance through the use of sensors. The sensors capture machine vibrations to detect anomalies and recommend maintenance efforts.
Congratulations to our finalists! Follow their competition journey on Twitter and Instagram as they head to Singapore in February to compete in the Regional Final, co-located with Microsoft Ignite | The Tour. Students will have the opportunity to connect with the tech community and get hands-on with the latest in developer tools and cloud technologies.
Are you passionate about using tech for social good to solve some of today’s most pressing challenges? Imagine Cup Asia and EMEA submissions are now closed but Americas regional submissions are open until January 15! Register now for a chance to join students across the globe making an impact with technology.
The Standard Nintendo Switch Is Strangely Hard To Find In The UK Right Now
We imagine there were a fair few Nintendo Switch consoles sitting under the trees of lucky gaming fans all around the world over the holidays, but it’s actually surprisingly hard to get your hands on one in the UK at the moment.
Taking a look at some of the biggest gaming retailers in the country reveals that stock of the original, standard Switch model is strangely hard to come by. The official Nintendo UK Store is entirely out of stock of every single bundle, the only options at GAME cost a whopping £495 or more (suggesting that stock is very limited), and even Amazon only has options through third-party sellers who are trying to shift their consoles at increased prices.
The Switch Lite – the newer, handheld-only version of the console – appears to be readily available at all retailers, however. So what’s going on?
The folks over at Console-Deals, who first brought this oddity to our attention, believe it could be down to a mixture of several factors. They mention the release of the console’s first new generation Pokémon release, which no doubt sparked sales, a potentially busier-than-expected holiday season, and finally the idea that perhaps Nintendo has struggled to produce the original model in great numbers owing to the release of the Switch Lite. All of these are possible, but it’s impossible to know for sure.
Either way, we’re sure that stock will return within the next few weeks or so; you can still find consoles at a handful of smaller, less-known stores and we’re confident that Nintendo will be doing everything it can to get more to those listed above as soon as it can.
A Heavy Dose of the ’90s in Cardpocalypse, Now on Xbox One
Talk to any kid in the early ’90s and the ’90s absolutely sucked! There was a hole in the ozone layer, war was popping up all over the globe, they had lost the voice of our generation in Kurt Cobain, and parents were just the worst.
But talk to those ’90s kids now and the decade rocked! Blossom, Pogs, Ren & Stimpy – it’s never been bettered before or after. A lot of the bad stuff filters away and all of the boring in-between times have vanished from memories. Nostalgia, that painful longing for the past, was once treated as an illness but now we wear it as a badge of honor, triggered by a song or a film or a toy.
With our latest game, Cardpocalypse, it wasn’t enough to only poke at people’s nostalgia, we wanted to grab it by the Hypercolor t-shirt and, like Kris Kross before us, make it jump, jump. We wanted to remind the players about what it was like being a kid in the 90’s, more than any Buzzfeed listicle could. Remember the time your favorite game got banned in school, or when that one kid called the teacher Mom? Back when you couldn’t look up cheats and tips online, but had to wait for the latest games magazine to come out (or sneak a costly phone call to the hint-line).
We’ve filled the game with all the vibes that made being a ten-year-old so fun, those years before teen cynicism creeps in and clothes become blacker. Our theme song draws from afternoon cartoons like TMNT and Pokémon, and every champion has their time in the spotlight with super fun character intro music – some of the tunes absolutely wail. We’ve packed the artwork of the game with as many easter-eggs as possible which should provide eagle-eyed players with an abundance of warm “oh my god, remember that” moments. The game-within-a-game, Mega Mutant Power Pets, is our tribute to the trading card games that we grew up with, many of which and inspired us to start making games in the first place. And the stories and quests are like a time capsule of our collective memories at school all told through Jess’s first week at Dudsdale Elementary.
There’s been an over-abundance of ’80s themed retro and the timing seems right for ’90s reminiscing to have it’s day in the sun, we’re mega-thrilled to have Cardpocalypse as a part of this. It was such a fun time to relive while creating the game. Hopefully there’s plenty more to come before we start seeing the “you were a child of the ’20s if…” articles or until “OK, Millennial” starts becoming a catchphrase. One thing’s for sure though, nostalgia will never grow old.
Blog: Scalable content management with Unity addressables
The following blog post, unless otherwise noted, was written by a member of Gamasutras community. The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.
Do you have a Christmas present for your players? Well, just make sure it’s not a memory crash. Those happen when greedily using countless assets from the store. Don’t dump the assets, just adopt a clever strategy with Unity Addressables Prefabs.
It’s pretty easy to go crazy buying assets in the asset store. I’ve been guilty of purchasing some discounted bundles this month. You keep adding stuff to your cart and you know how it goes.
What is common is to miss the problems that come afterward, though.
Integrating assets in your projects is always in detriment of your players who have the least capable hardware. Adding content decreases the performance characteristics of your game. And if you go wild adding content, you’ll exclude players from playing your game. And these people will be angry, trust me.
The key is to engineer a proper content management strategy.
That said, here’re some signs you don’t have a scalable content management strategy:
The loading times of your game increase and become unbearable (>30s)
You get reports of players experiencing random crashes
Your user checks on Tinder and comes back to your game only to see that Android/iOS killed it and they lost all their progress
Your development iteration times explode (time-to-play over 15s)
When you experience these symptoms, it’s time to upgrade your game to the next level.
Integrate any smart content management strategies:
In Unity it’s straightforward to add references to your new content. You can easily link meshes, materials, prefabs to your scripts. And then you spawn them in run-time to add enemies, bullets and all the like.
The problem is that you pay the memory price constantly whenever that reference is alive in your scene. It doesn’t matter if your asset is currently spawned in the level, you still pay it. See the high memory base cost below.
Traditional Content Management: Profile (Level 1)
That’s the #1 reason your game won’t scale.
The level 1 scene contains a manager that takes care of spawning/despawning the prefabs. Find below its code.
public class Level_1_HandlePrefabLifecycleTraditional : MonoBehaviour { [SerializeField] private Transform spawnAnchor = null; [SerializeField] private float separation = 1f; [SerializeField] private int instanceCount = 10; [SerializeField] private GameObject prefabReference = null; List<GameObject> _instances = new List<GameObject>(); public void HandleLifecycle() { var hasSpawnedInstances = _instances.Count > 0; if (hasSpawnedInstances) { Despawn(); } else { Spawn(); } } private void Spawn() { for (var i = 0; i < instanceCount; i++) { var newGameObject = Instantiate(prefabReference, spawnAnchor.position + i *separation * Vector3.right, spawnAnchor.rotation); _instances.Add(newGameObject); } } private void Despawn() { foreach (var instance in _instances) { Destroy(instance); } _instances.Clear(); } }
As you can see, there’s nothing wild going on there. It’s just the traditional flow of handling the lifecycle of your game objects.
A reference to the prefab, an instantiate and a destroy call.
That’s all you need to eventually make your game unscalable.
Ideally, we should only pay for the content that we actually use. How can we achieve this?
Addressables is a relatively new Unity package that will help you implementing smart content management strategies.
There’s no special diploma required to get started with Addressables. Just follow my Unity Addressables Tutorial and you will be set for the journey in a matter of a few hours. I’ll assume you know the basics and have the Addressables package installed.
In this section you and I will update the traditional code of the previous section to the Addressables era.
We will follow the next steps:
“Address” the original tank and soldier prefabs
Replace the direct references to the prefabs with indirect references.
Add loading and release phases.
Addressing Prefabs
This is the easiest step.
Once you have the Addressables package installed, you’ll see a new inspector option to mark your assets as Addressable. This will add your prefab to the addressables database.
Setting up Unity Addressable Prefab
Replace Direct With Indirect References
In the previous code, we had a direct reference to our prefab.
That direct reference causes the increased memory base cost.
This step alone will power up your inspector (provided you remove the non-compiling code). You’ll soon be able to assign the new indirect reference to your prefab like below.
Assigning Unity Addressable Prefab Reference
Add Pre-Loading And Post-Release Phases
We now have to finish modifying our spawn and despawn functions to take advantage of the indirect reference.
public class Level_2_HandleAddressablesPrefabLifecycleManually : MonoBehaviour { [SerializeField] private Transform spawnAnchor = null; [SerializeField] private float separation = 1f; [SerializeField] private int instanceCount = 10; [SerializeField] private AssetReference prefabReference = null; // Indirect reference private AsyncOperationHandle<GameObject> _asyncOperationHandle; private readonly List<GameObject> _instances = new List<GameObject>(); public void HandleLifecycle() { var hasSpawnedInstances = _asyncOperationHandle.IsValid(); if (hasSpawnedInstances) { Despawn(); } else { Spawn(); } } private void Spawn() { _asyncOperationHandle = prefabReference.LoadAssetAsync<GameObject>(); _asyncOperationHandle.Completed += handle => { var prefab = handle.Result; for (var i = 0; i < instanceCount; i++) { var newGameObject = Instantiate(prefab, spawnAnchor.position + i *separation * Vector3.right, spawnAnchor.rotation); _instances.Add(newGameObject); } }; } private void Despawn() { foreach (var instance in _instances) { Destroy(instance); } _instances.Clear(); Addressables.Release(_asyncOperationHandle); } }
Here’re a few explanations about the new manager:
Line 6 contains the indirect reference as I shown you in the previous point. We assign the prefab in the Unity inspector.
Line 8 contains an AsyncOperationHandle variable we use to keep track of our prefab memory loading/release operation. It is specialized to track a prefab (GameObject).
In line 13 we ask whether the AsyncOperationHandle is valid, i.e. it the prefab data is loaded.
In line 26 we start loading the prefab data based on the indirect reference of line 6. We store this handle for the future memory release. Note this is an asynchronous process, that’s why…
… We add a callback in line 27 so Unity notifies us when the prefab data has been loaded. In line 29 we then access the loaded prefab through the Result field passed by the callback. The result field will always contain the data we initially asked for, in our case a GameObject prefab.
Instantiate and Destroy work exactly as shown in the Traditional Workflow (Level 1).
When despawning, we also release the data we loaded in line 45. For that, we pass the AsyncOperationHandle we stored in line 26.
The result?
A variable memory cost based on what we actually need. And it is always below the traditional workflow approach.
Let’s delegate some of the memory management responsibilities to Unity. Let’s focus our time on our game instead.
How do we do this?
By getting rid of the traditional Instantiate and Destroy calls. We will use the Addressables equivalents for those: InstantiateAsyncand ReleaseInstance.
The advantage of the new API calls is that they have memory reference counting built-in.
That means, you cannot mess up (but don’t try hard).
When all instances using your prefab are gone, Unity will unload the prefab data automatically.
Instancing works similarly. If there’s no previous instance alive, Unity will load the prefab first and then instantiate it. If there was an existing prefab, then it skips the loading phase as it is already in memory.
We can simplify the code to this:
public class Level_3_HandleAddressablesPrefabLifecycleReferenceCounting : MonoBehaviour { [SerializeField] private Transform spawnAnchor = null; [SerializeField] private float separation = 1f; [SerializeField] private int instanceCount = 10; [SerializeField] private AssetReference prefabReference = null; private readonly List<GameObject> _instances = new List<GameObject>(); public void HandleLifecycle() { var hasSpawnedInstances = _instances.Count > 0; if (hasSpawnedInstances) { Despawn(); } else { Spawn(); } } private void Spawn() { for (var i = 0; i < instanceCount; i++) { var asyncOperationHandle = prefabReference.InstantiateAsync(spawnAnchor.position + i *separation * Vector3.right, spawnAnchor.rotation); asyncOperationHandle.Completed += handle => { _instances.Add(handle.Result); }; } } private void Despawn() { foreach (var instance in _instances) { Addressables.ReleaseInstance(instance); } _instances.Clear(); } }
The biggest change is in the Spawn method. Instead of using LoadAssetAsync first, we directly call InstantiateAsync in line 27. As you already know, Unity will take care of its loading if needed.
As with the traditional Instantiate method, we pass the position and rotation parameters. We just skip the prefab argument, as we’re invoking it on the prefabReference object itself.
When loading and instantiation are complete, we add the new instance to our list.
Line 36: Despawning works by calling Addressables.ReleaseInstance with the instantiated game object as its parameter. This function will take care of releasing memory for you if the reference (or game object instance) count drops to 0.
The result?
Our memory profile will look exactly the same, but our code will indeed be sexier.
Note there’s a small performance hit by using reference counting, but unless you’re spawning thousands of these objects, you can stick to this simpler method.
Gamasutra’s Best of 2019: Alissa McAloon’s top 5 games (from 2018’s backlog)
It’s been pointed out to me that every single year I do one of these lists, I start things out by running down a list of the games I didn’t get time to play and rarely get the time to circle back and give those games a go.
So rather than add to that list and run down what I did and didn’t play of this year’s releases, I took some time to circle back and spend some time with games from 2018 that I might’ve overlooked during a year packed with wonderful releases.
That all being said, 2019 also just happened to be a great year for video games and I feel like I should at least mention some of the best of the bunch I was able to drop time into. Studio ZA/UM’s Disco Elysium is easily my personal GOTY and does some really incredible things with the traditional skill-based framework set up by generations of RPGs before it.
Untitled Goose Game and Baba Is You both led to some incredible party play sessions, in one case huddling around the TV to watch friends become a horrible goose for the first time and in the other shouting absolute BABA IS WIN nonsense at the screen to help solve an impossibly creative set of rule-bending puzzles.
You’ll those and other wonderful games from this year like NeoCab, Outer Wilds, and Control on other Best Of lists around Gamasutra, so instead let’s take a look at the games from 2018 that beat the odds and managed to escape my backlog.
Red Strings Club is one of two adventure games that made it on to this list, but its quite different from the other found further down the page. I’m big into games that let you talk your way down different paths, using information or other subtle nudges to steer conversations from one branch to the other. The three playable characters in the cyberpunk world of Red Strings Club all have their own ways of doing this to a certain extent. As my favorite of the three, the bartender Donovan, you’re able to mix drinks designed to alter the emotional state of a patron, affecting how receptive they are to certain questions. The android Akara-184 has the opportunity to install personality-altering implants into key characters that could affect how future encounters play out. With different mechanics affecting the conversations at the core of Red Strings Club, it doesn’t feel that you’re brute forcing your way through every conversation option to push to the end of the game. Rather, you feel as if the nudges made a certain drink or implant have an impact on the turns the story takes, which is both rewarding and challenging all at once.
Red Dead Redemption 2 landed itself on my best of 2018 list last time around for its charmingly mundane moments more than anything, and it’s that same sort of feeling that brings its online variant on this year’s list. Online comes with its own story, along with the ability to rope friends into a posse to complete said story missions, competitive online races or shootouts, or just roam freely throughout Red Dead’s massive map together. I find myself free roaming most of time, working my way through bounties or hunting game to stock up my trading business for Online’s career-like pursuits, sometimes inviting a friend along to track down targets while we catch up over voice chat.
What’s most endearing about Red Dead Online however, is its surprisingly docile community. I imagine it’s mellowed out some since the game’s first debut, but nine times out of ten,an encounter with another player online ends in a friendly emote rather than a shootout. It’s a refreshing shift from the disruptive, rocket launcher laden chaos that soured Grand Theft Online for me way back when, and a key part of why Red Dead Online has become the new live game in my life.
My first exposure to Paratopic was through a story Gamasutra ran last year detailing the lengths its developers went to instill this unsettling feeling throughout the entirety of their game. That attention to sudden camera cuts, intentionally designed discomfort points, and a gritty low-poly look certainly pays off to deliver an experience that keeps you on the edge of understanding, never quite sure of your surroundings or safety in them. Not much is spelled out; you’re left only clues in the world to figure out who you are and what part you play in a story told through jump cuts from vignette to vignette. The game’s mundane moments—a conversation with a gas station clerk, an all-too-long midnight drive down a deserted highway—are what left me the most on edge, and sometimes confronted with subtle reminders of more sinister elements at play just off camera. The best kind of horror uses unease as its baseline and keeps players asking questions as they push forward, both qualities Paratopic embodies masterfully.
After hearing praise for Unavowed throughout much of 2018 and into 2019, I finally bit on WajetEye Games latest and revisited a love for point-and-click adventure games fostered by the several strange Sierra Games titles I happened upon as a kid. Unavowed’s puzzles are sparse but just difficult enough, and reward you for keeping a pen and paper close by. Its incredibly character driven nature is what stands out about Unavowed, both from the narrative and gameplay perspective. Only two members of your team of four can come along to solve each supernatural mystery, and the varied skills each brings to the table shifts what information you’re able to work off of, and where you’ll get it from. Every conversation is fully voiced, lending an additional dose of personality to an already endearing cast and making the casual banter between teammates that takes place on the subway or outside a bar just as enjoyable as solving the case and down the monster of the week.
I need to admit upfront that I haven’t put as much time into Vampyr as I’d like quite yet, but after finally sitting down to play after well over a year of saying I wanted to give it a shot it’s already earned a spot on my best of list, and then some. I’ve got a soft spot for vampire fiction and video games already, but layering a well-executed morality system on top of that feels like a game tailor made for my interests. Conversing with townspeople throughout London is as vital as scrounging experience points for the next combat encounter. Each character you have the option of feasting from has their own web of relationships throughout the city, their own personality and connections laid out by a wonderfully expansive chart in-game. Decisions both including and beyond feeding choices leave a lasting impact on the city and each of its districts, taking Vampyr’s concept of morality beyond just a red-to-blue slider into something tangible in the game’s gritty world.