Games – Linux Hint https://linuxhint.com Exploring and Master Linux Ecosystem Mon, 01 Mar 2021 00:17:42 +0000 en-US hourly 1 https://wordpress.org/?v=5.6.2 How to Use GameConqueror Cheat Engine in Linux https://linuxhint.com/use-gameconqueror-cheat-engine-linux/ Sat, 30 Jan 2021 16:59:24 +0000 https://linuxhint.com/?p=88244

The article covers a guide about using the GameConqueror cheat engine in Linux. Many users who play games on Windows often use the “Cheat Engine” application to modify game parameters and player attributes to enhance the gameplay experience, get over unnecessary grinding, complete speedruns and so on. The Cheat Engine application is not available for Linux, however, another application called “GameConqueror” based on the same concept and features is available for Linux distributions. While GameConqueror is not as advanced as Cheat Engine, it gets the job done and it is the only Cheat Engine for Linux with an easy to use interface.

How Cheat Engine Applications Work?

Cheat engine applications (also called “memory scanner” or “memory debugger” apps) can be used to find values assigned to game variables by scanning memory occupied by a running game process. These apps attach themselves to a running game process and continuously scan memory in real time.

You can use these cheat engine apps to locate game variables and their addresses and then change their values to get modified in-game attributes. Since everything is done when the game is running, you will immediately see changed values within the game itself (sometimes a change of frame/scene is required). There can be hundreds of thousands of variables in memory and it can be tricky to find what you are looking for. But with some practice and trial and error methods, you can reduce lookup time. For instance, if you are playing a game with in-game currency and currently holding 1000 gold pieces, you can use cheat engines to find the variable that stores the gold amount and change it to get increased in-game money. Note that in-game save mechanisms can save modified values to save-game files. So if you are modifying some risky variables in a cheat engine that can break save games, it is a good idea to backup save files beforehand.

Should You Use Cheats in a Game?

Some gamers frown upon people who use cheat engines to modify gameplay attributes while others have no problem with it. In my personal opinion, you can use a cheat engine if the game is 100% offline or if cheats don’t ruin the multiplayer experience of other players in any way (more on it below). Using cheats in co-op, PVP and other forms of multiplayer gameplay should be avoided not only because it is wrong but also because you can be banned forever from playing the game you have purchased.

Player Ban Considerations

Using cheat engine or memory scanning applications can lead to temporary or permanent ban in games that extensively require online data connection. Almost all multiplayer PC games come with anti-cheat mechanisms nowadays and any attempt to modify game memory can lead to irrevocable bans. As a rule of thumb, avoid using cheat engines on multiplayer games that regularly connect to game servers (unless you know what you are doing).

About GameConqueror

GameConqueror is a graphical frontend to command line cheat engine / memory scanning app called “scanmem”. It can perform quick memory scans as well as full thorough scans to identity program variables and their values. You can isolate program variables using its “Value” input box and then changing parameters as needed. GameConqueror supports exporting and importing of cheats, though the memory addresses can change each time you launch a program or game.


I have tested GameConqueror extensively. It works with native Linux games, WINE games, SteamPlay (Proton) games and even with game emulators.

Installing GameConqueror

You can install GameConqueror in Ubuntu by executing the command mentioned below:

$ sudo apt install gameconqueror

GameConqueror is available in the repositories of all major Linux distributions. More installation instructions are available on its wiki page. GameConqueror usage can be best explained through an example.

Example: Modify In-game Currency Using GameConqueror

You can’t define one best method to use the GameConqueror cheat engine in every game. Each game is different and occupies a different memory range. Even new instances of a game can have different memory addresses. The example below illustrates how you should proceed to increase in-game currency called “Coins” to 500 from 103 in a native Linux game called SuperTux2. But this exact approach may not work in every game. The example only gives you some idea about the process of finding variables.

The game starts with a fixed amount of coins, as shown on the top right corner (100).


Next, launch the GameConqueror app and select the “supertux2” process by clicking on the little computer icon located at the top row. This is the very first and mandatory step to enable cheats in a game using GameConqueror. You should be careful when selecting the game process as a wrong selection will give you incorrect results. Exe file processes running on SteamPlay (Proton) compatibility layer are usually prefixed with “Z:” drive.

Once the process is selected, put 100 in the “Value” input box as that was the initial number of coins. In the “Data Type” field, select “number” but you can also choose “int” or “float” types explicitly. “Number” data type includes both int and float values. Click on the search icon and wait for the process to finish. On the left pane, you should see matched results. There are 69175 game variables having a value of 100. Yes, you have to find a needle in a haystack. GameConqueror won’t show all 60000+ variables in the left pane. When you have narrowed down the results following the steps below, results will start appearing in the left pane.

Note that “Search Scope” is set to “Normal” which should be sufficient for most games. In case you are struggling to find desired variables, you should move the scope slider to the right to perform a deep scan. Deep scan is only useful if it is performed in the very first step.


Next, play the game and collect another coin to increase the tally to 101 coins.


Now you need to check which of the variables that had a value of 100 previously now have a value of 101. Enter 101 in the “Value” input box and click on the search icon. GameConqueror will now scan 69175 variables found in the previous step to look for variables having a value of 101. When the process is finished, you should now get a reduced number of results. DO NOT click on the “refresh” or “reset” button next to the search button. It will completely remove the results and you will have to start all over again.


Collect another coin to increase the total to 102.


Repeat the previous step but now put 102 in the “Value” input box. You must now have even less results than the total results you got from the first search query. As for this case, there are two remaining results but the result count may vary depending on your game and what you are searching for.


Collect another coin to get the total to 103.


Now even without entering 103 in the “Value” input box, you can see that there are two variables whose value changed to 103 when you collected the third coin in the game. At this point, you can stop or repeat the above step. If only one variable represents coins in the game, you can narrow it down to a single result. However as there are only two results left, you can try each one of them to see impact on the game.

Right click on the first result and click on the “Add to cheat list” option to add a new cheat.


Change the value of the newly added cheat entry to 500 in the bottom pane.


Check the game if coins have increased to 500. If yes, this is the correct variable you need to change to modify the coin counter. Otherwise try the second result or keep on performing nested searches until you get a reduced number of results.


Note that using a cheat engine can crash the running game. For instance, if a game is designed in such a way that your player can only have 255 strength attribute at max, and you set 9999 strength for your player, the game can crash. You have to keep using trial and error methods to find correct variables and their values. This is the only way to use cheats in games through cheat engine applications like GameConqueror.

Note that, on rare occasions, cheat engine cheats can corrupt game save files. You should backup save files before trying any cheats in the cheat engine.

If you hover over the “?” link next to the “Value:” label, you should see a syntax guide. If you are not certain about the current value of an in-game attribute, you can use this syntax guide. For instance, you are not sure about the exact number of coins but suspect that it may be somewhere between 100 and 300 coins, you can enter “100..300” in the “Value” input box. Similarly, if you don’t know the attribute value but are certain that it decreased in the game from its initial value, you can simply enter the “-” (minus) sign in the “Value” input box.

Conclusion

Cheat engine apps like GameConqueror are not only useful for adding cheats in games, but also for adding quality of life modifications to otherwise frustrating games. It is 100% fine to use cheats in offline games as you own the game, and you are not ruining the experience of other players by using cheats.

]]>
Best Game Console Emulators for Linux https://linuxhint.com/best-game-console-emulators-for-linux/ Sun, 24 Jan 2021 11:14:09 +0000 https://linuxhint.com/?p=87465 This article will list popular game console emulation software available for Linux. Emulation is a software compatibility layer that emulates hardware components of game consoles, instruction sets and related APIs. Emulation software can emulate CPUs, GPUs, audio hardware and many other such physical components available in real game consoles. Emulation allows you to play console exclusive games that are otherwise unplayable on PCs. Games running on these emulators see emulated components as if they were parts of a real game console and they cannot see the underlying platform (PC) on which the game is running on.

Developing an accurate game emulator for PC is an extremely difficult task, involves reverse engineering and many times developers have to sacrifice accuracy to improve compatibility. Emulators require original file system dump from game consoles. Some emulators emulate these components as well making it easier to play games. To play games on emulators, you must have game files, typically called ROMs.

ROM files can be ripped or dumped from your game console or from cartridges and discs using third party software. You need to own both game console and game copy to emulate games on PC. Downloading console firmware files and game ROMs from unauthorized sources without owning the actual console and game copy may be illegal and considered piracy. This article just lists emulation software available for Linux and doesn’t encourage piracy of any sort. Not all emulators will be listed in this article, only the most popular ones based on the console popularity and emulator development activity.

Note that emulators need considerable CPU and GPU power to emulate games, much higher than original game console hardware. Even the most modern and powerful PCs can struggle to emulate games, especially games with high resolution 3D graphics. While emulator developers constantly work to improve compatibility and performance, neither they nor the emulation software can be blamed if certain games don’t work on emulators. They have to rely on limited resources and many times public documentation is not available at all. Most of the emulators available today are free and open source and developers don’t get much monetary benefits to work on them.

Most of the emulators listed below are available in default repositories of almost all major Linux distributions. You can also download pre-compiled binaries and get source code from their websites linked below. Some of the emulators listed below have Android versions as well. You can find builds for Android on their official website.

Sony PlayStation

Many emulators have been in development for Sony PlayStation (PS1 / PSX), some for over a decade. The development of some of these emulators like ePSXe and PCSX have ceased as of today while a few are still being actively developed, namely DuckStation and Mednafen. These emulators have pretty good compatibility rates and use some game specific tweaks to make the game playable. You will need original BIOS files from Sony PlayStation console and ripped ISO files to play games on DuckStation and Mednafen.

Sony PlayStation 2

PCSX2 is the most compatible and comprehensive emulator to play Sony PlayStation 2 games on Linux PCs. In development for nearly two decades, PCSX2 can nearly play every game from the entire Sony PlayStation 2 game catalog. Like Sony PlayStation emulators, PCSX2 also needs original BIOS files to work and of course you also need game ROM files. PCSX2 is based on a plugin system and sometimes multiple graphics and sound renders are available based on the operating system you are using. Play! is another Sony PlayStation 2 emulator that is active in development. While it is not as good as PCSX2 as of now, it is catching up fast and can already be used to play numerous Sony PlayStation 2 games with great compatibility. Play! Doesn’t require you to have original BIOS files but you still need game ROM files.

Sony PlayStation 3

RPCS3 is the only Sony PlayStation 3 emulator available at the time of writing this article. It has great compatibility and can use Vulkan renderer to draw game graphics. The developers are quite active and regularly publish development logs to share insights with users. Some games are known to run better, with richer graphics on RPCS3 than on the original Sony PlayStation 3 game consoles. RPCS3 requires firmware files and ROM files to work. Firmware files can be downloaded from the official PlayStation website.

PlayStation Portable (PSP)

PPSSPP is an open source emulator that can be used to play PlayStation Portable (PSP) games on Linux PCs. Its user interface is developed using Qt libraries and it doesn’t require game BIOS or firmware files to work. PPSSPP is the only PSP emulator for PC that can play almost the entire PSP game catalog. PPSSPP also comes with an on-screen gamepad and you can emulate games on Linux based tablet PCs.

Nintendo GameCube / Nintendo Wii

The Dolphin emulator can emulate both Nintendo GameCube and Nintendo Wii games. There are some hardware similarities between these two game consoles, so Dolphin developers developed the emulator to support both game consoles. Dolphin emulator supports classic game controllers on PC as well as Wii Nunchucks and other motion sensitive controllers. Like RPCS3, the Dolphin emulator also comes with a Vulkan renderer.

Nintendo 64

Many emulators have been in development for Ninntendo 64 since the launch of the console. Some of them are defunct now while others have been taken over by new developers. The most active Nintendo 64 emulation project today is Mupen64Plus. Mupen64Plus also features a command line interface if you want to use scripts and need some automation.

Nintendo GameBoy, GameBoy Color and GameBoy Advance

You can use SameBoy and Gambatte to emulate Nintendo GameBoy, GameBoy Color and Super GameBoy console games. Gambatte has been in development for quite a long time and it is one of the most accurate GameBoy Color emulators available out there. SameBoy is relatively newer but it is already very accurate and supports multiple GameBoy consoles.

GameBoy Advance games can be emulated through VisualBoyAdvance-M and mGBA emulators. Both these emulators have been in development for quite a long time and offer high accuracy and good compatibility.

NES and SNES

A number of different emulation software are available for Nintendo Entertainment System (NES) and Super Nintendo Entertainment System (SNES) game consoles. NES emulators don’t require much hardware horsepower and can be run on old and low end PCs. You can use Mesen and PuNES, both offer high compatibility and accuracy on par with real NES consoles.

For SNES, you can use the Higan emulator. It is the most accurate and bug free emulator created for any game console platform. It almost entirely mimics the original game console without any compromises. Developing an highly accurate emulator is an extremely difficult task but talented developers of Higan have achieved almost 100% accuracy and compatibility with all SNES games. You can also use Bsnes and Snes9x as alternatives to Higan.

Nintendo DS and Nintendo 3DS

You can use melonDS and DeSmuME to emulate Nintendo DS games. Both these emulators have support for touch screen input required to play Nintendo DS games. You can even use tablet PCs and your touchscreen taps will be correctly detected by these emulators. For displays without touch support, you can use mouse pointer to emulate touch screen taps.

Nintendo 3DS can be emulated through Citra emulator. Citra is currently actively in development but it has made astonishing progress in a short period of time, thanks to the talented team of developers working on it. It offers decent compatibility and touch screen support and many popular games can already be played using the emulator.

Nintendo Switch

Yuzu and Ryujinx are the two main emulators available today that can emulate some commercial Nintendo Switch games on Linux PCs. Both these emulators are under heavy development and not many games are compatible and playable. However, they are progressing at great speed and some high resolution 3D games can be played from start to finish with some minor tweaks. This kind of progress usually takes years of development in the emulation scene. Yuzu is being developed by the same developers who are working on the Citra emulator.

Sega Dreamcast

Reicast is the only Sega Dreamcast emulator available for Linux that can emulate some games. Accuracy and game compatibility is average, some games fail to boot. However, many popular games can still be played from start to finish with some compromises and caveats.

RetroArch, Mednafen, MAME and Higan

Some emulators can emulate multiple game consoles and can act as a frontend to manage games from these platforms. These emulators provide global settings to manage all emulators as well as platform specific settings to tweak emulation parameters. MAME emulates arcade game machines and other similar vintage gaming devices. RetroArch is an emulation frontend that hooks into game specific emulation cores to play games. It supports over hundred emulation cores, a list of these cores is available here. Mednafen can emulate Sega Saturn, Sega Genesis, Sega Master System, Sega Game Gear, Atari Lynx, PC Engine and many other game consoles. You can find a full list available here. Higan supports over 25 different console systems, you can find a full list here (scroll down).

Conclusion

Almost all major game console emulators available for PCs are free and open source with a few exceptions. These emulators have been supporting Linux as a first class citizen for a Long a time. Some emulators have also embraced Vulkan renderer to improve performance and graphics.

]]>
Best Linux Distros for Gaming in 2021 https://linuxhint.com/best-linux-distros-gaming-2021/ Sat, 23 Jan 2021 12:08:37 +0000 https://linuxhint.com/?p=87176 The Linux operating system has come a long way from its original, simple, server-based look. This OS has immensely improved in recent years and has now evolved into a powerhouse, which has led to Linux becoming one of the most popular operating systems in use today. The community that supports Linux is extremely large and is truly remarkable, which can be seen in the development of so many Linux-based distributions, each catered to the interests of a particular fanbase.

This evolution has revolutionized the dynamic of gaming in Linux. Tasks that once seemed so difficult in Linux have become extremely easy with the wide availability of diverse Linux distributions. There are now hundreds of games available in Linux, and the list keeps on growing. This article looks at the best Linux distros for gaming that are currently available.

Ubuntu

Ubuntu is one of the most popular and widely used Linux distributions, and the large community behind this distribution is a clear indicator of its functionality. This distribution is extremely stable and secure. With the LTS (Long Term Support) releases of Ubuntu, users can use these versions for a long time without any major issues.

For Linux users, most of the games that they want to play can be found on Steam, an online platform from which users can buy, play, and download games. On Steam, Ubuntu sits at the top as the most-used distribution for gaming, and this comes as no surprise, as this distribution is easy-to-use, immensely popular, and extremely user-friendly. Ubuntu also allows for the easy installation of the tools and packages required for gaming, such as automatically installing proprietary NVIDIA graphics drivers. You can also easily install software like Lutris, GameHub, or Steam Proton to play Windows games on your Linux system.

Moreover, if you encounter any errors, you can easily communicate with the massive Ubuntu community, which is always there to help.

Pop!_OS

Pop!_OS is another excellent free and open-source operating system designed by System76. Since it is based on Ubuntu, Pop!­­­­­­­­­­­­­_OS comes with a GNOME desktop environment. Pop!_OS has a very fast and fluid navigation system, along with some neat and tidy workflows that provide users with optimal performance and an excellent user experience. This distribution has exceptional built-in GPU support, and you can easily install the GPU that suits your system, whether it is NVIDIA or AMD.

Since it is based on Ubuntu, Pop!_OS also has LTS versions, and users can use the system for a long time without going through any major issues. Like with Ubuntu, you can install software like Lutris, GameHub, and Steam Proton directly from the Pop!_OS apps store.

Manjaro

Manjaro is an Arch-based Linux distribution. Unlike its parent distro, however, Manjaro drives away all the complications, ensuring that the installation process is extremely easy. This is something that many users have had an issue with when using Arch. Manjaro offers great hardware support and automatically installs all required drivers, including graphics card drivers.

Although Manjaro is based on Arch, it maintains its own repositories and supports a large collection of software inside its repository, which is up-to-date. Manjaro comes with Steam preinstalled, and you can quickly dive into playing games. This distribution also has an excellent community that is always ready to offer help to users.

Solus

Solus is an operating system that is based on the Linux kernel and is designed from scratch. This distribution supports several desktop environments, such as Budgie, Gnome, Mate, etc. Solus follows the rolling release model, in which once an application or software has been installed, it will keep getting updates so that all the drivers will be up-to-date. Installing the drivers of the graphics cards of either Radeon or NVIDIA is also a relatively straightforward process with this distribution, and this can be done simply by using the GUI. Solus works extremely well with applications like Steam, Lutris, DXVK, and WINE, and this distribution is an excellent choice for gaming.

Linux Mint

Linux Mint is another Ubuntu-based Linux distribution in the list of the most popular desktop Linux distributions. This distribution is extremely fast and supports a lot of proprietary software, including multimedia codecs. For gamers with an AMD Radeon graphics card, Linux Mint is perfect for you, as the MESA driver comes as part of the Linux Mint kernel. Like with Ubuntu, NVIDIA users can easily install the proprietary NVIDIA driver from the Driver Manager, and you can start installing software like Steam, which, again, are easily accessible from the Software center.

Elementary OS

Elementary OS is also an Ubuntu-based Linux distribution and is known for having one of the most beautiful and awe-inspiring graphical interfaces. Unlike Ubuntu, however, Elementary OS uses the Pantheon desktop environment and offers a very smooth and slick user experience. With Elementary OS, you can easily set up your graphic drivers without much hassle, and you can easily install software like Steam, Lutris, and Wine on your system.

Fedora

Fedora is a Linux distribution developed by Red Hat that offers support for several desktop environments, such as Plasma, XFCE, Cinnamon, and so on. The Fedora Linux kernel is regularly updated, and therefore, Fedora offers great hardware support. Installing software like Steam is immensely easy, and both Radeon and NVIDIA users can install their graphic card drivers without much hassle. Fedora is a solid, stable, and up-to-date distribution that is well-suited to gaming.

Best Linux Gaming Distributions?

Gaming in Linux has become extremely easy. Nowadays, it does not really matter which distribution you use, as long as you know how to obtain and configure all the required software. There is also tons of help available online, and every Linux community is always willing to offer aid to other users. From the large collection of distributions, all of the seven distributions mentioned above are among the most popular and widely-used Linux distributions that are worth considering for gaming.

]]>
The Best Gaming CPUs in 2021 https://linuxhint.com/best-gaming-cpus-2021/ Mon, 18 Jan 2021 14:59:08 +0000 https://linuxhint.com/?p=85993 A few years back, it was easy to choose a CPU that could match all your hardcore gaming needs, with Intel CPUs running the show. But now, we are in the world of affordable 4K gaming. There has been a major shift in the last couple of years, with AMD entering the market with CPUs crafted specifically for gaming needs and at a more affordable price than Intel CPUs.

With its Ryzen processors, AMD has provided great competition to Intel. As both companies are looking to lead the race, there have been some tremendous launches in the last couple of years. Zen 3 from AMD is the company’s latest release, and this model is going toe-to-toe with Intel’s gaming giants.

I personally like to have gaming CPUs, as they are worth the investment. These CPUs are not limited to just gaming. You can also use them for development, editing videos, creative work, and streaming video if you are a content creator or influencer on social media platforms, such as YouTube or Instagram.

Choosing a good gaming CPU is certainly not rocket science. You just need to know what your requirements are, and that is it. It is easy to build your own machine around a CPU, coupled with other components, such as a graphics card, additional storage, and motherboard.

This article covers the best CPUs for gaming in 2021 that can also match your creative needs.

AMD Ryzen 5 3600x

AMD’s Ryzen series is very popular for its gaming-friendly processors. The Ryzen 5 3600x is not only a gaming processor, but it is also ideal for tasks that require a powerful CPU. The reason why the Ryzen 5 3600x tops this list is that it is a great gaming CPU that also comes at a great price, giving you great value for your money.

Specifications:

  • Cores: 6
  • Threads: 12
  • Clock Speed: 3.6 GHz / 4.2 GHz

On the normal settings, this model easily beats out the likes of Intel’s Core i5-9600K series. You do not need to install coolers separately with this device, as it ships with a cooler included inside the box, making this model even more affordable.

The Ryzen 5 3600x is an ideal CPU for gamers, as well as power users, such as developers and content creators. Power consumption is also low, as compared to other processors in this price range.

Find more details about the AMD Ryzen 5 3600x here: Amazon

AMD Ryzen 9 5900x

The AMD 5000 series is one of the most advanced and powerful gaming CPU series out there. All Ryzen CPUs are based on Zen architecture, which has made serious improvements with each passing generation. This model is priced on the higher side, but AMD has still managed to keep the price lower than its competitor, Intel, without compromising on performance.

Specifications:

  • Cores: 12
  • Threads: 24
  • Clock Speed: 3.7 GHz / 4.8 GHz

Why invest in a separate CPU for gaming and content creation when you can do both in one? Ryzen 9 5900x is ideal for both gamers and content creators and comes with great performance capabilities.

One thing you should consider before buying this model is that it does not include any thermal solutions. If that is not one of the most important features for you, then this CPU still provides great value for the money.

Find more details about the AMD Ryzen 9 5900x here: Amazon

Intel Core i9 10900K

Core i9 is one of the most advanced generations in Intel’s processors and gaming-friendly series. Intel claims i9 to be the world’s fastest gaming CPU, which also comes at a high price. The 10900K is a super powerful CPU that integrates well with NVMe SSD.

Specifications:

  • Cores: 10
  • Threads: 20
  • Clock Speed: 3.7 GHz / 5.3 GHz

The likes of CS: GO and Dota 2 run effortlessly with the support of this CPU. However, some of the cheaper CPUs from the AMD Ryzen series perform the same job, and even in 4K. So, if you do not have any monetary limitations, then feel free to go for Intel’s 10900K series. Otherwise, cheaper options are available from AMD that provide the same performance and experience.

One feature that might attract users to this CPU is its great overclocking potential. Overall, this is a powerful CPU, but it comes at a slightly higher price point.

Find more details about the Intel Core i9 10900K here: Amazon

AMD Ryzen 5 5600x

The Ryzen 5000 is a mid-range series from AMD that provides great value for the cost. There is little difference between the Ryzen 5900x CPU and this model. Gaming performance is the same for both, with nearly identical frame rates.

Specifications:

  • Cores: 6
  • Threads: 12
  • Clock Speed: 3.7 GHz / 4.6 GHz

This processor offers great gaming performance with good overclocking performance. Like other CPUs in the Ryzen 5000 series, this model also ships in with the Wraith Stealth Cooler. Priced quite aggressively, this model easily competes with many overpriced CPUs from AMD’s competitor, Intel.

Find more details about the AMD Ryzen 5 5600x here: Amazon

Intel Core i7 10700K

Another Intel CPU on our list is the i7 10700K. This model is the one that I am currently using. This is a great CPU with fantastic stock performance and solid overclocking potential. This model is also priced cheaper than similarly capable CPUs offered by AMD, offering value for its price point.

Specifications:

  • Cores: 8
  • Threads: 16
  • Clock Speed: 3.8 GHz / 5.1 GHz

The 8 cores and 16 threads contained within this CPU prove to be enough for any games that I play, as well as other content-related work. The games that I have played on this CPU include CS: GO and EA Sports FIFA 21, and the performance was very good, even on full settings.

The i7 10700K is the best gaming CPU out there, and it can handle anything you throw at it.

Find more details about the Intel Core i7 10700K here: Amazon

AMD Ryzen 5 3400G

The Ryzen 5 3400G is one of the cheapest CPU models from AMD (and its competition, as well). At this price point, you cannot expect much, but this CPU offers great performance, though it is certainly not the best in this segment.

Specifications:

  • Cores: 4
  • Threads: 8
  • Clock Speed: 3.7 GHz / 4.1 GHz

CPU ships in with a cooler in the box so that you do not have to spend more money to buy a cooler. This model is a great budget gaming CPU that comes with integrated Vega 11 graphics, faster than the UHD graphics found in the 8th and 9th generation of Intel’s CPUs.

Find more details about the AMD Ryzen 5 3400G here: Amazon

Conclusion

This list covered some of the best gaming CPUs that you can buy in 2021. Certainly, there are other CPUs that are also available, but I tried to keep the list small and cover the best model in every segment. This way, you should find it easy to decide which model best suits your needs. Feel free to ask us anything related to Linux and gaming at @linuxhint and @SwapTirthakar. ]]> How to capture and stream your gaming session on Linux https://linuxhint.com/stream-gaming-session-linux/ Wed, 06 Jan 2021 09:23:30 +0000 https://linuxhint.com/?p=84583 In the past, playing games was only considered a hobby, but with time the gaming industry saw a huge growth in terms of technology and the number of players. The gaming audience has increased by multiple folds due to the remarkable prevalence of online gaming. And now gaming has become a mainstream sport, aka e-sports.

Like other sports, e-sports broadcasting is becoming popular. The viewership of e-sports has expanded in the last several years due to the overwhelming engagement of gaming fans. Mainstream media has started showing interest in gaming because of its whopping audience. Amazon’s famous platform, Twitch, is one of the renowned streaming platforms. Besides Twitch, other platforms like YouTube, Facebook, Streamlabs, and Discord are also being used by gamers to stream games. You can even publish your recorded games on Youtube.

As we all know that Windows and gaming consoles are well-liked and accepted gaming platforms, but Linux is now slowly picking up the pace and becoming the third popular gaming platform, thanks to the support of Steam and many modern hardware manufacturers for Linux. There is a huge library of games on Linux, some have native support, and some work using third party plugins. This guide will focus on how to record games and stream on Linux. Let’s check how to get it worked:

Installing Open Broadcast Software – OBS on Ubuntu 20.04, 20.10:

Firstly, we need a program that can stream and record as well. OBS is a well-known broadcasting and recording application that is open-source and cross-platform. The installation process of OBS is similar to any other program installation on Linux.

Step 1:

OpenGL 3.2 is required for the OBS program to work on Linux.
Use the below-mentioned command to check OpenGL:

$ glxinfo | grep “OpenGL”

If there is an error, to fix it, try installing Mesa utilities using the command shown below:

$ sudo apt install mesa-utils

Mesa is an open-source 3D graphics library that helps in rendering 3D graphics on different platforms by implementing OpenGL.

Step 2:

There are a couple of approaches to get OBS on Ubuntu. First is simply open Ubuntu Software Store and search “OBS” and install it.

It can be seen in applications.

The second approach of installing OBS is through the terminal. Use the command mentioned below to add the repository:

$ sudo add-apt-repository ppa:obsproject/obs-studio

After that, update the packages list using:

$ sudo apt update

To install the OBS program, use:

$ sudo apt install obs-studio

Open it:

Setting Up OBS for streaming and recording on Ubuntu 20.04, 20.10:

OBS has made the setup procedure quite easy. It will prompt you “Auto-Configuration Wizard” when it is first open. If for some reasons you can’t see it, click on tools and then” Auto-Configuration Wizard”:

The first thing, “Auto-Configuration Window” will show is “Usage information.” Usage information comes with two options. Since we are recording and streaming, therefore the first option will be checked. Click on the “Next” button:

Now, adjust the video settings, for example, frame rate and base resolution according to hardware capabilities:

After that, the wizard will present you with different streaming services; select one. I am selecting twitch; it will ask for the streaming key; click on the get stream key as shown in the image below:

To get a stream key, you must have a Twitch account: login and head towards the “Creator Dashboard” by clicking on the user’s icon, and then in the “Preferences” tab, “Primary Stream Key” can be found as shown in the images:

Copy the streaming key, and paste in the OBS as displayed in the above images. After that, OBS will perform various and tests for ideal settings:

Upon finishing, it will present the estimated configuration for the system. You can hit “Apply Settings” or go back to tweak settings:

The setup is pretty much finished. But these settings can further be tweaked in the “Settings” option also. Click on “File” and then “Settings”:

In the “General” tab, you can change language, theme and enable or disable various options; see the image:

In the “Stream” tab, the streaming platform can be changed. It is recommended to leave server “Auto”:

In the “Output” tab, there are two main options; the first one is “Simple,” and the second one is “Advanced.” The “Simple” output settings can be seen in the following image, where certain streaming and recording options are given to modify. Encoder, audio bit rate, saving path, recording format, and quality can be modified here:

Simple settings are appropriate but if you want to further tweak the output settings, then open “Advanced” Settings. In advanced settings, many other options can be modified, including special audio channel settings. While recording, speech audio and game audio can be recorded on 2 different channels that help in editing the recorded footage:

Hotkeys play a vital role while streaming or recording games; OBS has a dedicated tab in settings to set hotkeys as per your convenience:

After setting up the OBS time to begin stream/record. On the main window, “Scenes” represent the canvases; these canvases can be resized and repositioned:

In the sources window, various sources can be added, for example:

  • Screen Capture
  • Audio Capture
  • Image (Overlays)
  • Text
  • Video Capturing Device
  • Browser

Click on the “+” button to add sources:

To add the screen capture, click on the “Screen Capture” option; a couple of windows will pop up, keep the default settings, and press “OK.” To make the mouse cursor visible, check the “Capture Cursor” option.

The screen capture source has been added; other sources like audio can also be added if you have attached the mic with the system. If you want to do both recording and streaming, first click on the “Start Recording” button and then “Start Streaming” or press the assigned hot keys:

Stream status can be seen at the bottom bar:

Now time to play games; OBS will do its job.

]]>
Best Games to Play with Hand Tracking https://linuxhint.com/best_games_hand_tracking/ Mon, 09 Nov 2020 08:56:21 +0000 https://linuxhint.com/?p=76400 Oculus Quest recently introduced the great idea of hand-tracking without controllers. With an ever-increasing number of games and activities that execute support either formally or through SideQuest, Oculus Quest hand tracking games have been limited until now.

In this article, we list some of the best games to play with the hand-tracking VR feature. If you are searching out the best hand-tracking games, this article is a great place to start.

1. Tea for God

Tea for God establishes vivid virtual conditions that you can navigate simply by strolling around. You can move throughout lobbies and environments to find enemies and shoot them on sight. The hand-tracker feature provides an additional experience for this game. Instead of using a pistol, you can make a gesture of finger gun and load your gun by pulling your forefinger to shoot. This is a somewhat senseless addition, but it still successfully shows how hand-trackers could be used in a battle situation.


https://void-room.itch.io/tea-for-god
https://sidequestvr.com/app/65/tea-for-god-under-development

2. VRtuos

As its name reveals, VRtuos is a basic and reliable music-playing application. This game gives you hands-on practice for playing the piano, providing you with an entire 88-key piano. In this game, detailed hand-tracking allows you to interact with every single key, just as you would when playing a real piano.


https://sidequestvr.com/app/494/vrtuos

3. The Curious Tale of the Stolen Pets

This game was launched a year ago, and it was the primary game designed to formally support the hand-tracking feature. In this game, each stage is a lifelike model, with several riddles and reminders along the way. In contrast to other games, hand tracking is used as an input method for the game. You can play this game with the hand tracking feature from beginning to end.


https://www.oculus.com/experiences/rift/2339909156084669/?ranking_trace=0_2339909156084669_SKYLINEWEB_1IJ8jTKZGIXs5xuD1
https://www.viveport.com/d294a648-e52a-4f3b-9c44-b03977a30e5f
https://store.steampowered.com/app/1099500/The_Curious_Tale_of_the_Stolen_Pets/

4. Virtual Desktop

This game was updated recently to give users access to their computer or laptop on their Oculus Quest device, without involving any controllers. If you have any other version of this application, it can expand to take control of computer-based virtual games, in which you can use your hands as tactile remote-control.


https://www.oculus.com/experiences/rift/911715622255585/?ranking_trace=0_911715622255585_SKYLINEWEB_1DHuiyUkIn86UU5p9
https://store.steampowered.com/app/382110/Virtual_Desktop/

5. Elixir

Elixir is a free hand-tracking trial game created by Magnopus and Facebook Reality Labs. That means that anyone can install Elixir free of cost. The trial length in this game is about 10 minutes. It is quite an easy puzzle game. You will require some space to play this game, a minimum of about 6.5 feet. This game begins quite simply, as you figure out how to transfer things using a hand-tracker by forming a triangle with your fingers and pointing your fingers towards your thumbs. This game is extremely fun to play, especially with the hand-tracking feature.


https://www.oculus.com/experiences/quest/3793077684043441/?ranking_trace=0_3793077684043441_SKYLINEWEBQUESTSEARCH_19RiJo4SnUZRFJzsb

6. The Line

This game is a captivating experience, based on the tale of Perdo, a small-scale doll, and a newspaper carrier. It just keeps going, and at around 15 minutes of gameplay, you will begin using your hands to interconnect with the objects in ‘The Line.’ This animated video is very popular, and the game description shows that the gameplay could be enjoyable for all users.


https://www.viveport.com/fd6beb24-770b-4995-8bd1-ba5ea5334bf3
https://www.oculus.com/experiences/quest/2685959161497510/?ranking_trace=0_2685959161497510_SKYLINEWEBQUESTSEARCH_1ij2JRRgnViBrFJOq

7. Richie’s Plank Experience

Before obtaining hand-tracker support, this game was well known for creating the most mesmerizing stages in virtual reality – perhaps you may have seen the video of the person bouncing into the TV. After the latest upgrade of the Oculus Quest version of this game, involvement in this game has increased considerably due to the addition of the hand-tracking system. This feature is so far only for the plank section, but it is a wonderful and exciting experience at the same time. The absence of controllers causes everything to feel somewhat more genuine.


https://www.oculus.com/experiences/quest/1642239225880682/?ranking_trace=0_1642239225880682_SKYLINEWEBQUESTSEARCH_1cxbhoyOCBhXJ3heJ
https://www.viveport.com/9347a360-c6ea-4e35-aaf1-9fab4f41cb79
https://store.steampowered.com/app/517160/Richies_Plank_Experience/

8. Waltz of the Wizard

There are many hand-tracking games available on the Quest, but this game comes with its own charm. Waltz of the Wizard allows you to use your hands to change something in the environment around you and enjoy virtual reality in various ways. Like any other hand tracking game, this game is not an ideal one; however, it is one of the most interesting encounters we have had with this innovation yet.


https://www.oculus.com/experiences/quest/2280285932034855/?ranking_trace=0_2280285932034855_SKYLINEWEBQUESTSEARCH_1MBK2CeHBg189o0H6
https://store.steampowered.com/app/436820/Waltz_of_the_Wizard_Legacy/

Conclusion

With the advancement of VR technology, the field of gaming is also getting better and more exciting every day. Hand-trackers provide a realistic experience through which a person can feel more realism in the virtual world using his or her hands, instead of a controller.

]]>
How to Show OSD Overlay in Fullscreen Linux Apps and Games https://linuxhint.com/osd_overlay_fullscreen_linux_apps/ Tue, 29 Sep 2020 07:44:14 +0000 https://linuxhint.com/?p=69593 Playing fullscreen games or using apps in distraction free fullscreen mode can cut you off from relevant system information visible in a panel or taskbar. To overcome this, you can use an OSD (on-screen display) overlay on fullscreen apps and games. This article will cover a guide on a handy OSD creation command line utility, simply called “osd_cat”. Terms like OSD and HUD (heads-up display) will be used interchangeably in the article.

Installing Osd_cat in Linux

To install osd_cat in Ubuntu, run the command below:

$ sudo apt install xosd-bin

You can install osd_cat in other Linux distributions by searching for it in the package manager application.

Osd_cat comes with many command line options, it is not possible to cover all use cases here. You can access osd_cat man page by running the command below:

$ man osd_cat

Osd_cat man page is also available online. A few examples are explained below, giving you some idea about usage of osd_cat and its various command line options.

Date and Time

To show a continuously updating date and time HUD, run the command below:

$ while true; do date; sleep 1; done | osd_cat --align center
--pos middle --lines 1 --delay 1

The command runs a never ending “while” loop in a terminal and updates output of the “date” command every second. The pipe symbol “ | “ is used to feed output of “date” command into the osd_cat command. The “-lines” switch is used to define the number of lines to display in OSD and the “-delay” switch is used to define the duration of osd_cat command (1 second here). The “–align” and “–pos” switches are used to display the OSD at the horizontal and vertical center of the screen respectively.

To change the font size, use “–font” switch and change its value, as shown in the command below:

$ while true; do date; sleep 1; done | osd_cat --align center --pos middle
--lines 1 --delay 1 --font -*-*-*-*-*-*-28-*-*-*-*-*-*-*

To run an executable binary along with the osd_cat command, use another pipe symbol:

$ while true; do date; sleep 1; done | osd_cat --align center --pos middle
 --lines 1 --delay 1 | ./executable_binary

Note that closing the executable binary will not end the “while” loop. You will have to manually end the loop by pressing the <CTRL + C> key in the terminal window where the command was first launched.

If you can see blinking text in OSD, try increasing the value of “–delay” to 2 or more.

CPU and Memory Usage

To display a HUD showing CPU usage every second, use the command below:

$ while true; do top -b -n1 | grep "Cpu(s)" | awk '{print $2 + $4}'; sleep 1; done
 | osd_cat --align center --pos middle --lines 1 --delay 2 --font -*-*-*-*-*-*-28-*
-*-*-*-*-*-*

To display a HUD that shows RAM used by the system every second, use the command below:

$ while true; do free | grep Mem | awk '{print $3/$2 * 100.0}'; sleep 1; done | osd_cat
--align center --pos middle --lines 1 --delay 2 --font -*-*-*-*-*-*-28-*-*-*-*-*-*-*

Crosshair in Games

You can display a small crosshair exactly at the center of the screen using osd_cat. By displaying a single letter exactly at the center of the screen, you can use it as a reticle in FPS Games. Most FPS games display a crosshair at the center of the screen. Whenever a player uses mouselook (moves camera through mouse), the crosshair remains at the center of the screen while the camera or scene moves around. An osd_cat HUD can be used to display a fixed, static reticle at the center of the display. Run the command below to show letter “o” as crosshair:

$ echo "o" | osd_cat --align center --pos middle

Note that the crosshair can be slightly off depending upon the game you are playing and the original crosshair style and size. However, it can be easily fixed using “offset” and “indent” switches explained in the “osd_cat” man page. These options can be also used to align crosshair in third person or over the shoulder games, where crosshair may not be exactly at the center.

DualShock Controller Battery Level

You can show the battery level of your DualShock controller as an overlay on any game using osd_cat. Pretty useful if you don’t want to constantly check remaining capacity while playing games. Run the command below to show remaining battery percentage in an osd_cat HUD:

$ while true; do upower -i $(upower -e | grep sony_controller_battery) | grep percentage
 | awk '{print $2}'; sleep 1; done | osd_cat --align center --pos middle --lines 1
 --delay 2 --font -*-*-*-*-*-*-28-*-*-*-*-*-*-*

Conclusion

Osd_cat can be customized heavily and you can use it with any command that generates output in the terminal to create a HUD. For instance, you can continuously show an FPS counter in 3D games or you can show useful information in a minimal desktop environment that uses a lightweight window manager like openbox or a tiled window manager like XMonad.

]]>
Top 5 Game Capture Cards https://linuxhint.com/top_5_game_capture_cards/ Sun, 26 Jul 2020 05:48:40 +0000 https://linuxhint.com/?p=64033 We have all seen and loved streaming gameplays on YouTube. PewDiePie, Jakesepticye, and Markiplier are only some of the top gamers who have made millions by uploading their gameplay experiences and notifying viewers about the latest game releases.If you are someone who loves to record their game sessions and upload them to the internet, or if you simply want to review your progress in a game, then you will need a trustable game capture card to do so.

A game capture card converts the game signals into digitalized form to aid in uploading it on the internet. Read on to find out what makes a game capture card so great, and later, we will introduce you to some of the best cards for capturing games.

Buyer’s Guide to the Best Gameplay Stream Recording Experience

So, do you really need a game capture card?

If you want praiseworthy data streaming and have a desire to gather recognition amongst the competition, a game capture card is your best bet. You will be able to generate high-quality content that can be streamed lag-free, so that it is well-received by your viewers.

Game capture cards will allow you to create high-quality content. It is important to go through the following pointers, which are worth investigating before looking at the products themselves.

1. Cost

The price tag is deeply related to your usage. If your life happens to orbit around gameplays and live streaming, then sure, we fully back your decision to invest in a good quality game capture card. These will have richer video quality and will run more smoothly. However, if you have only an occasional need for this item, you can buy one that gets the job done without spending too much.

2. Image Quality

One of the main pillars of online gameplay streaming is video quality. You certainly do not want your high definition graphics to go down the drain when converting the database to a digital platform.

Look for the FPS (Frames Per Second) rate that the device is capable of recording. Going for 1080p or Full HD quality is ideal, but expanding your budget to support 4K or Ultra HD will give you excellent results.

However, keep in mind that to support Ultra HD video quality, you will need a hardy software system to back it up.

3. User Specifications

To utilize all the features offered by a game capturing card, you will have to go through numerous manuals to achieve a balance between data input and storage, in sync with your platform.

Professionals will not have issues with this, but novices are advised to use a less complex setup so that you record your sessions without any hassle.

4. Hardware

Be aware of the compatibility of all your hardware items, such as gaming consoles, memory cards, storage spaces, etc. Good game capture cards come with tutorials and tech support ready to handle any issue you throw their way. User manuals that are direct and to-the-point also come in handy.

Types of Game Capture Cards

The type of game capture card depends on the support platform, including five different kinds:

1. PC

Especially for competitive gamers with high FPS rates, and the ability to record and stream side-by-side.

2. Play Station

Enhances editing and comes with additional features.

3. XBOX

Game capture cards accentuate the simple software of XBOX.

4. Mac

Mac-supported game capture cards aid you to play in ideal resolution levels.

5. 3DS and Wii

You need to buy a platform-specific card to allow seamless uploads and transfer.

Now that you have some idea about what to look for, the following section will look at some of the best game capture cards available today.

1. Roxio Game Capture HD Pro

The Roxio HD Pro game capture card is outstanding in video, sound, and speed. Roxio gives you the ability to record, edit, share, and even manage live streaming, all through your PS4, Xbox One, or PC.

What makes this game capture card the best, is the clear, crisp Full HD video having up to 1080 30p/1080 60i.

This game capturing card is perfect for content creators, especially when you want to publish your game reviews directly to Twitch or YouTube. This card also comes with the added benefit of testing your bandwidth for you.

You will get the chance to be an editing king, as this model allows you to edit H.264-encoded videos, totaling over 95 transitions, special effects, soundtracks, and so much more!

This model comes with the capturing card, a USB cable 2.0, the Roxio game recording device, editing software, and a starting guide to kick things off. However, if you purchase this card, you would also be required to separately purchase the HDMI and cables designed specifically for your console.

Buy Here: Amazon

2. Elgato Game Capture HD60

If you want something quick and instantaneous, then Elgato Game Capture HD60 is worth looking into.

This model allows the user to record and play games in 1080p quality with up to 60 FPS. This card takes the gamer directly into instant gameplay, with high-end, low latency technology.

Whether it is putting up live Twitch or YouTube sessions, or adding an interesting commentary in the background, Elgato Game Capture HD60 lets you do it all.

You can easily connect the card to your TV through HDMI support. This product comes with the Elgato Game Capture Card, a USB 3.0 cable, and an HDMI cable. The HD 60 card is supported by both Windows 10 and Mac and is super easy to use. However, you will need to download the required drivers and software to be able to run this card.

Overall, this model provides a lag-free, high definition experience for all your recordings.

Buy Here: Amazon

3. AVerMedia Live Gamer Portable 2 Plus

AVerMedia is a quick and easy solution for all your on-the-go recording sessions. All you need to do is record, stream, plug it in, and press play!

This game capture card has a unique headset commentary feature. This allows gamers to add in their reactions and responses as they progress through the game.

Chatrooms can easily be captured while playing through the console party chat. Making gameplays even more interesting by using this feature results in more views! People always love the involvement and interaction in between gaming sessions.

The AVerMedia Game capture cards also have PC and PC-free modes. This means you do not require a PC at your disposal all the time to be able to record. Simply connect your console anywhere, and press play!

This model is an exceptional, on-the-fly game capture card, with a rich 4K pass-through experience that you can use to record in Full HD. However, this product is lacking in its manual, which carries very little detail. Moreover, the card does not specify if it is recording or not because it does not have indicatory lights.

Buy Here: Amazon

4. Hauppauge HD PVR 2

The personal video recorder by Hauppauge is one of the best game capture cards available.

This product not only looks chic, but it also delivers in tech. This game capture card contains the digital audio SPDIF, along with the phenomenal IR blaster technology that lets you record seamlessly.

This card is compatible with laptop or desktop PC with a 3.0 GHz single-core or 2.0 GHz multi-core processor. As for the video quality, Hauppauge provides high definition H.264 Blu-ray compatibility through the set-top box. The model is compatible with Xbox360 using HDMI, or from the PS3 via component video.

The whole package includes HDMI and component cables, a 9 ft. long USB cable perfect for Microsoft 10, 8, 7, or Vista (32 or 64-bit). However, note that the Blu-ray burner software is not included in the unit. You do get a detailed instruction guide to easily install and download the software.

Buy Here: Amazon

5. Razer Ripsaw HD

The last in our list of game capture cards is the versatile Razer Ripsaw. The basic features of this model include 4K 60 FPS pass-through, which lets your gameplay run smoothly and lag-free. This card’s streaming performance is up-to-mark as well, giving a powerful display of Full HD 1080p at 60 FPS. Razor Ripsaw card also supports other resolutions like 2160p, 1440p 30 FPS, 720p, 480p.

Furthermore, you also get the option of mixing audio with this model. This allows you to manage and control audio recordings of the gameplay much more efficiently.

The setup is quite simple and to-the-point. With this model, you will get a Hemi 2.0 and USB 3.0 connectivity, along with the benefits of zero latency output. A 3.5 mm audio cable allows you to connect everything with ease.

However, there are several cheaper game capture cards than the Razer. There have also been configuration and crashing issues reported with this device. If you are someone who likes including party chats in your stream, this may not be the best option. The Razer Ripsaw works better on Xbox One and Pc, as opposed to PS4.

Buy Here: Amazon

Final Thoughts

All things considered, the best game capture cards will record, transmit, and help you store or upload your gameplay sessions. The products mentioned above have been tried and tested over the years for their reliability and functionality. Remember, there is no compromising on your passion, so be sure to get the capture card that best suits your needs.

]]>
How to Develop a Game on Linux https://linuxhint.com/develop_game_linux/ Mon, 27 Apr 2020 10:01:21 +0000 https://linuxhint.com/?p=59098 A decade ago, not many Linux users would predict that their favorite operating system would one day be a popular gaming platform for commercial video games. However, that day has come, and with it a growing interest in Linux game development.

This article is aimed at Linux users who would like to become game developers but don’t know where to start, introducing some of the most popular game engines that Linux game developers can use to turn their ideas into full-fledged games compatible with major operating systems—not just Linux.

Why Develop a Game on Linux?

If you’re a long-term Linux user, you can answer this question easily since it makes sense to develop a game on an operating system you use on a daily basis. But even if your experience with Linux is limited, there are several reasons why it’s the right choice for aspiring game developers:

  • It’s free and open-source: When developing a game on Linux, you don’t need to worry about licensing and software fees. The operating system is free and open-source, and so are the applications that ship with it.
  • Low-level control: Linux lets you fully customize how it looks, feels, and works. If there’s something bothering you about your distribution of choice, you can simply change it and be as productive as possible.
  • Helpful community: The Linux community is made up of geeks and enthusiastic hobbyists who are always willing to lend a helping hand. Many Linux users have interest in programming and game development, so you’re always guaranteed to find someone knowledgeable willing to help you.
  • Native programming tools: Included in most Linux distributions is the GNU toolchain, which provides a set of native programming tools for software development. Additional development tools and libraries can be easily installed using a package manager.
  • Low system resource requirements: There are many Linux distributions with low system resource requirements. Such distributions make it possible to develop games even on aging computers that would struggle to run Windows or macOS.

Getting Started with Game Development on Linux

As a game developer, you can take two different approaches when developing a game: build everything from scratch or use existing development tools and resources to build the framework of your game.

If you’re reading this article, it means that you have limited or no experience with game development. In that case, we highly recommend you choose the latter approach and pick one of the five game engines listed below.

A game engine provides the necessary set of features to allow you to build games quickly and efficiently. It takes care of everything from physics to input to scripting and artificial intelligence, so you can spend more time creating your game and less time reinventing the wheel.

There are dozens of game engines for Linux, each offering different features and technologies. Let’s take a look at five popular Linux game engines that you can use to create anything from a 3D shooter to a text adventure.

Unity

Suitable for making: 3D & 2D games of all genres

Unity is the most popular game engine in the world. It works on Linux, Windows, and macOS, and you can use it to create 2D and 3D multiplatform games. Some of the most popular games made with Unity include Escape from Tarkov, Monument Valley, Hollow Knight, and Cuphead.

The main programming language supported by Unity is C#, which was developed by Microsoft as a general-purpose, multi-paradigm programming language. Most Linux developers who use Unity write code in Visual Studio Code (VS Code).

Because of how immensely powerful Unity is, getting started with it can be a challenge. Fortunately, there’s a wealth of learning resources available online, including YouTube video courses and community tutorials.

Godot

Suitable for making: 3D & 2D games of all genres

Godot is a versatile open-source game engine suitable for making both 3D and 2D games. It was first released in 2014, and it has already been used to create several popular games, including Project Kat, Genomix, Ludum Creare, Lurking in the Dark, and Keep IT Fed.

Because Godot is completely free and open-source, licensed under the permissive MIT license, you don’t need to worry about royalties or subscription fees. Even if you use it to create a hit AAA game, your creation will be 100% yours to the last line of code.

To get started with Godot, we recommend you read the official documentation, which is available in multiple languages.  The getting started section provides a novice-friendly introduction to all important concepts.

RPG Maker

Suitable for making: role-playing games

If you love role-playing games (especially old-school JRPGs like The Legend of Zelda or Final Fantasy) and would like to create your own, RPG Maker is an excellent game engine for the task. This engine was created specifically to simplify the development of RPGs by handling everything from crafting to inventory management to quests.

There’s a chance that you’ve played at least one RPG made with RPG Maker, such as To the Moon, Finding Paradise, Corpse Party, LISA, or Skyborn. The latest version of this game engine, RPG Maker MV, runs flawlessly on Linux, and you can even download it through Stream.

If you decide to create a game in RPG Maker, you may want to purchase professionally designed tilesets, characters, animations, and music from the RPG Maker online store. Of course, you can also create everything yourself and give your RPG a unique look.

Ren’Py

Suitable for making: visual novels

Ren’Py is a game engine for visual novels. It was used to make games like Doki Doki Literature Club!, Analogue: A Hate Story, Long Live the Queen, Dissolving, and Butterfly Soup. Games made with Ren’Py combine an engaging story with captivating visuals to create games that place storytelling above gameplay.

Ren’Py supports its own scripting language as well as Python scripts, and you can freely combine them to create everything from branching stories to complex simulation games. The quickstart does a great job of walking new Ren’Py users through the process of creating a simple game, so make sure to check it out.

Twine

Suitable for making: text adventures

Twine is an open-source game engine for interactive stories. To create a game with this engine, you don’t need to write any code whatsoever. All you need is an idea for a story and the ability to tell it in a captivating way.

That said, Twine games can be extended with variables, conditional logic, images, CSS, and even JavaScript, so you really have nearly limitless creative options. Another thing that’s great about Twine is the fact that the games created with it are published directly to HTML and playable in any modern web browser.

Conclusion

Developing a game on Linux isn’t any more difficult than developing a game on Windows or macOS. In fact, Linux users benefit from easy access to countless native and third-party programming tools, most of which are free and open-source. To embark on your own Linux game development journey, all you need to do is pick a suitable engine and let your creativity flow. Some Linux game engines require no programming skills whatsoever, allowing anyone to experience the magic of game development without having to first spend hundreds of hours buried in books.

]]>
Best Command-Line Games for Linux https://linuxhint.com/best_command_line_games_linux/ Tue, 11 Feb 2020 11:19:04 +0000 https://linuxhint.com/?p=55040 The command-line isn’t just your biggest ally when using Linux—it can also be the source of entertainment because you can use it to play many fun games that don’t require a dedicated graphics card.

Despite their seemingly simple nature, some console games for Linux are surprisingly complex and more than capable of sucking you in for hours at a time. Yes, you will need to use your imagination to fill in the blanks created by their rudimental graphics, but that’s not necessarily a bad thing.

In this article, we review and demo the top 7 games you can play on the Linux command line.  Enjoy!

1. NetHack

nethack

NetHack was first released in 1987, and the game has been in development since then (version 3.6.4 was released on 18 December 2019).

In many ways, it can be seen as the grandfather of all roguelike games, which has seen a massive surge in popularity in recent years, with titles such as FTL: Faster Than Light, The Binding of Isaac, Rogue Legacy, Crypt of the NecroDancer, or Darkest Dungeon becoming top-sellers in their category.

The gameplay revolves around exploration and survival. You start the game by creating your character, taking on a traditional fantasy role like a knight or wizard. You’re then introduced to your main objective, which is to find the Amulet of Yendor at the lowest level of the dungeon, and the rest is more or less up to you.

2. Dwarf Fortress

Dwarf Fortress is the only game on this list that’s not open source, but we think that it doesn’t deserve to be disqualified just because it doesn’t make its source code public—its influence and popularity are too great for that.

In Dwarf Fortress, you’re either in charge of a dwarven output, or you play as an adventurer in a large randomly generated world populated by distinct civilizations, thriving capitals, villages, catacombs, labyrinths, bandit camps, and much more.

Managing a dwarven output involves everything from crafting resources to trading with your neighbors to defending your output against enemies, while adventuring relies on traditional roguelike gameplay mechanics, but with far more depth than games like NetHack can offer.

3. Frotz (Zork)

Frotz isn’t a game. It’s an interpreter for Infocom games and other Z-machine games, such as Zork, one of the most popular text adventure games of all time. Unlike other text adventure games released in the 1980s, Zork could interpret fairly complex text commands (“open the door with the crystal key”), which significantly improved the gameplay and made the world feel more alive.

Zork is split into three games (Zork: The Great Underground Empire – Part I, Zork II: The Wizard of Frobozz, and Zork III: The Dungeon Master), and you can download them all for free directly from Infocom’s website.

To discover even more interesting Z-machine games, we recommend you browse the Interactive Fiction Database. Here are five games you shouldn’t miss:

  • Lost Pig: A fun game with moderate difficulty where you follow an orc who must retrieve an escaped pig. The game was released in 2007, and it placed first in the 2007 Interactive Fiction Competition.
  • Spider & Web: This self-published Z-machine game puts you in the role of a captured spy, and your goal is to tell a plausible story to your interrogators. However, that’s no easy feat because everything you say in the game is questioned to the last detail.
  • The Witness: Created by Infocom, The Witness is a murder mystery text adventure game that takes place in a quiet suburb of Los Angeles. You play as a detective assigned to investigate a rich man named Freeman Linder, who’s afraid that his life might be in danger.

4. BSD Games

When waiting for a program to compile or for an update to download and install, it’s helpful to have a few simple games to pass the time. The BSD Games package includes a sizable collection of command-line Linux games that were originally distributed with some BSDs.

BSD Games includes adventure, arithmetic, atc, backgammon, battlestar, boggle, canfield, cribbage, dab, fish, gomoku, hack, hangman, hunt, mille, monop, phantasia, quiz, robots, sail, snake, tetris, trek, worm, and wump.

Additionally, there are several fun non-games: banner, bcd, caesar, rot13, countmail, dm, factor, morse, number, pig, pom, ppt, primes, rain, random, wargames, worms, and wtf.

To launch any package included in BSD Games, simply enter its name in the terminal and hit enter. Besides worm (which is displayed above), we also recommend phantasia (a Middle Earth-themed multi-user dungeon) and hack (the predecessor of NetHack).

5. Cataclysm: Dark Days Ahead

Set in a procedurally generated post-apocalyptic world, Cataclysm: Dark Days Ahead is a turn-based survival game where a few lucky survivors must fight to see another sunrise because zombies, killer robots, giant insects, and other deadly enemies are lurking everywhere.

The game begins in a fairly typical roguelike fashion: You wake up without your memories, and your immediate objectives include securing food, exploring your surroundings, and not getting killed in the process.

Cataclysm: Dark Days Ahead can be played either in the terminal or with a graphical tileset. In addition to Linux, it also runs on Windows, macOS, iOS, and Android.

6. 2048-cli

When Italian web developer Gabriele Cirulli released 2048 in 2014, the internet instantly fell in love with its simple yet addictive gameplay. The objective is to move numbered tiles so that two tiles with the same number touch, which causes them to merge into one. You continue playing in this way until you create a tile with the number 2048, but the game lets you keep on playing even after you’ve completed its objective.

2048-cli is a recreation of the original game for the terminal. One version of the game (see the screenshot above) is rendered only using ASCII characters, but there’s also a more colorful version that uses ncurses.

The instructions on how to download and install 2048-cli are provided on its GitHub page, but you really need just two commands:

$ git clone https://github.com/tiehuis/2048-cli.git
$ make

7. SSHTron

Inspired by the original coin-operated arcade video game, SSHTron is a multiplayer command-line game for Linux that plays a lot like Snake, except that there are up to four snakes on the screen, and each is controlled by a human opponent.

If you have SSH installed on your system (and you most certainly do), you can start playing just by entering the following command in the terminal:

$ ssh sshtron.zachlatta.com

The game is controlled with WASD or vim keybindings, and you can press Escape or Ctrl+C at any time to exit it.

]]>
Open Source Ports of Commercial Game Engines https://linuxhint.com/open_source_prts_commercial_game_engines/ Fri, 07 Feb 2020 20:20:49 +0000 https://linuxhint.com/?p=54854 Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article will list some of these game engines that are either built by reverse engineering the original files or made by adapting the freely available source code released by the original developers. Even though there are alot of such projects, this article will only list some of them that allow you to play complete games with minor issues or workarounds. This list by any means, is not exhaustive.

OpenMW

OpenMW is a free, open source, and cross-platform recreation of the Gamebryo game engine used in Bethesda’s The Elder Scrolls III: Morrowind open world role playing game. Not only is it fully compatible with original game files and mods, it also provides tools to create full standalone games. OpenMW also comes with numerous improvements over the original game engine including improved UI and mod support, improved AI and physics, and a work-in-progress Android port that supports touchscreen controls.

Daggerfall Unity

Daggerfall Unity, as the name suggests, is a complete recreation of Daggerfall game in unity game engine. It is free, open source, cross platform and comes with numerous enhancements like improved lighting, graphics, controls, mod support and full compatibility with modern systems. The original Daggerfall game is now available for free and you will need the original game files to play Daggerfall Unity. You can find more information about installation here.

Xash3D

Xash3D is a reimplementation of GoldSrc engine used in Half-Life 1. It can be used to play the original Half-Life game as well as numerous mods that are compatible with it. Xash3D was later forked into Xash3D FWGS bringing in improved multiplayer support, full Android compatibility and controller support. Android port download links are available here.

OpenTTD

OpenTTD is a reimplementation of “Transport Tycoon Deluxe” strategy and simulation game. It comes with numerous enhancements, most notable of which are improved graphics, compatibility with modern systems, quality of life updates and improved multiplayer support. All the game assets have been recreated in OpenTTD, so you don’t need to have the original game files (original files are still supported though). An Android port is available here.

GemRB

GemRB is a free and open source recreation of the Infinity game engine developed by Bioware. The game engine was originally used in isometric role playing games like Baldur’s Gate series, Icewind Dale series and Planescape: Torment. GemRB has brought numerous improvements over the original engine, including improved mod support, Android, and iOS ports. GemRB requires original games files to work, but a built-in demo is provided that can be used to test the engine and doesn’t require any external files.

Note that remastered enhanced versions of Baldur’s Gate series, Planescape: Torment and Icewind Dale 1 have been released by Beamdog in the recent past. These remastered versions have Android and iOS ports as well. If you have original games stored somewhere, you can use GemRB to play these games and skip purchasing the enhanced versions. If money is not an issue, I would recommend getting enhanced versions as they have a lot of quality of life improvements. Enhanced edition for Icewind Dale 2 doesn’t exist as the original source code was lost, so the only option to play it on modern systems is to use GemRB.

ScummVM

ScummVM is a reimplementation of game engine used in classic point and adventure games made by game companies like LucasArts and Sierra On-Line. Some of these popular games include Broken Sword and Monkey Island titles. The “VM” part stands for “Virtual Machine” and in all it supports more than 250 games that can be played on Windows, macOS, Linux, Android, iOS, and even on consoles. ScummVM is free and open source and it has mainly brought in improved controls and compatibility with modern systems while preserving the original look and feel of the games. In fact, some of the original game makers have partnered with ScummVM to re-release their games on modern systems. Note that ScummVM is not an emulator but a complete recreation of the original engine and you will need original game files to play.

CorsixTH

CorsixTH is a recreation of the popular hospital management and simulation game “Theme Hospital”, released back in 1997. It is free, open source, and cross-platform but you need original games files to play the games as it doesn’t come with its own assets. An unofficial Android port is also available on the web. CorsixTH has mainly brought in high resolution support and compatibility with modern systems.

VCMI Project

VCMI Project is a free and open source implementation of Heroes of Might and Magic III game engine. It comes with numerous improvements, a few of them include support for high resolution displays, improved GUI, improved game launcher and configuration tool, improved mod support, and compatibility with modern systems. Besides builds for Windows, macOS, and Linux, an Android port is also available. VCMI Project requires original game files to work.

OpenRA

OpenRA is a recreation of game engine used in classic real time strategy games like Command & Conquer series, Tiberian Dawn and Dune 2000. It comes with many improvements such as support for modern screen resolutions, improved controls and UI interface, improved hotkeys support, improved mods support and full built-in support for multiplayer games. The player base is quite active and you don’t even need original game files to play. When first running OpenRA, you will be prompted to download game files.

RBDOOM-3-BFG

RBDOOM-3-BFG is a source port of Doom 3 BFG first person shooter game originally released by id Software. The game uses id Tech 4 game engine whose source code was released in 2011. RBDOOM-3-BFG’s main features include 64bit cross-platform builds, improved shadows, lighting and graphics, improved mods support, and compatibility with modern systems. To play DOOM 3 BFG using RBDOOM-3-BFG port, you will need original game files. An unofficial Android port of RBDOOM-3-BFG is available on the web.

EasyRPG

EasyRPG is a free and open source reimplementation of RPG Maker 2000 and RPG Maker 2003 game engines. It can be used to play existing RPG Maker 2000 and 2003 games, provided you have the original game files. EasyRPG also comes with an editor that can be used to create games from scratch. EasyRPG Player can be used to play games on all major desktop operating systems, on some consoles, Android phones and iOS devices.

OpenRCT2

OpenRCT2 is a free and open source adaptation of the RollerCoaster Tycoon 2 game. Besides one to one reimplementation of the original game, it comes with many additional features like an improved editor, improved multiplayer gameplay, compatibility with modern systems including Android devices, improved UI, and so on. OpenRCT2 requires original game files to work, so you must own the RollerCoaster Tycoon 2 game.

Conclusion

Open source recreations of old games are not only allowing players to relive nostalgia, but they also help in preserving classics. Some of the projects mentioned above are in development for over a decade and they are community projects with no corporate backing.

]]>
Best Gamepad Mapping Apps for Linux https://linuxhint.com/gamepad_mapping_apps_linux/ Wed, 01 Jan 2020 09:28:09 +0000 https://linuxhint.com/?p=52880 If you like to play games on Linux with a gamepad instead of a typical keyboard and mouse input system, there are some useful apps for you. Many PC games come without controller support out of the box, mainly because of the nature and the genre of the game. For instance, strategy games require you to micro manage resources and often contain a lot of UI elements and tooltips. Controller support in such cases is the last thing developers would like to add. However, even though the game may not support gamepads, it is possible to add controller support unofficially. This article will list some apps that allow you to remap key bindings to a game controller as well as remap existing gamepad mappings.

QJoyPad

QJoyPad is a free and open source graphical application that allows you to map keyboard and mouse events to a game controller. In simple terms, a Linux game that doesn’t support any or your particular game controller can be made to work with a gamepad using QJoyPad.

Some of the main features of QJoyPad are:

  • Multiple profiles making it easier to manage and switch mappings
  • “Turbo” or “Rapid Fire” button mode
  • Sticky mode for simulating “Press and Hold” behavior
  • Automatically detects gamepad buttons and axes
  • Supports controlling mouse via joysticks
  • Comes with full command line support for those who prefer CLI
  • Support for setting sensitivity of joysticks
  • Comes with many predefined algorithms for controlling mouse cursor sensitivity and acceleration
  • Quick set mode that allows you to detect and set individual keys at the same time

To install QJoyPad in Ubuntu, run the following command:

$ sudo apt install qjoypad

Run command below to launch QJoyPad (or use application launcher):

$ qjoypad

QJoyPad starts minimized to system tray, so you may not see any GUI window until you click on its panel applet. On some desktop environments, system tray is shown but nothing happens when you click on its menu items. To fix this issue, you have to run QJoyPad in non-system-tray mode by running command below:

$ qjoypad --notray

Running QJoyPad without system tray will create a small window containing nothing but icon of the app. If you right click on this icon, all the menu options that are available in the system tray will become visible.

Note that some of the QJoyPad options may not work unless you connect a game controller. To see the gamepad mapping window, double click on the icon shown in the screenshot above.

For QJoyPad mappings to work in a game or app, you will have to keep it running. Be careful not to accidentally close the small window with gamepad icon.

SDL2 Gamepad Tool

SDL2 Gamepad Tool is a free and open source app that allows you to configure game controller buttons using an easy to use graphical interface. As the name suggests, it only works for games that use SDL2 API for controller support (most native Linux games).

Using gamepad mapping database available here, it automatically configures mapping for most controllers. However if your game controller mappings are not shown in the app, you can create new mappings for it by clicking on “Create a New Mapping” button. You can also change pre-defined mappings for any controller using the same process.

Note that this app is not a keyboard-to-joypad mapping utility. It just creates SDL compatible mappings for gamepads so that games using SDL API can automatically pick them.

You can download SDL2 gamepad tool from here.

Once you are satisfied with the mappings, there are two methods you can use to enable them for games. Click on “Set Mapping as Environment Variable” to set these mappings system wide for all games.

The other method is to use these mappings on per game basis. Click on “Copy Mapping String” button then run a command in the following format:

$ SDL_GAMECONTROLLERCONFIG=”paste_here_string_copied_from_method_explained_above”
 /path/to/the/game/executable

For example, the mapping command on my system looks like this:

$ SDL_GAMECONTROLLERCONFIG="050000004c050000cc09000000810000,PS4
Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,
guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,
rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,"
/path/to/the/game/executable

SC Controller

SC Controller is a GTK3 application that allows you to create button mappings for Steam Controller, DualShock 4 gamepad, Xbox controller, and other similar gamepads. The main highlight of this app is its ability to configure advanced gamepad mappings that are equivalent to Steam client’s built-in configuration tool. In simple terms, SC Controller’s user mode driver / GUI app enables configuring gamepads without having a need to install Steam client (no need to have a Steam account as well). Just like QjoyPad, this app allows you to map keyboard and mouse events to a game controller.

Other useful features of SC Controller:

  • Gyroscope configuration support
  • Rapid fire or turbo mode functionality
  • Supports multiple gamepad profiles
  • Vibration / Rumble support
  • Macros and controller emulation
  • Supports on screen keyboard

SC Controller AppImage for Linux distributions can be downloaded from here. Mark the file executable and run it in a terminal or double click the file to start customizing gamepad mappings.

Note that for some reason, SC Controller fails to detect my DualShock 4 controller unless I run it with root access. Most probably because it fails to read input events from the gamepad. A custom udev rule can possibly fix this issue but explaining it here is beyond the scope of this article. If you are having gamepad detection problems with this app, try running it as root.

Conclusion

These are a few apps that can be used to create mappings for your game controller. Most of the well-known game controller brands work out of the box on Linux these days. However unlike console games, PC games rarely provide an option to remap gamepads. The apps mentioned above are especially useful when you are using a generic controller, when you want to alter the layout of existing button mappings, or when you want to map keyboard and mouse events to a game controller.

]]>
Useful Tools for Linux Gamers https://linuxhint.com/useful_tools_linux_gamers/ Sat, 28 Dec 2019 04:28:23 +0000 https://linuxhint.com/?p=52377 If you like to play games on Linux, chances are that you may have used apps and utilities like Wine, Lutris and OBS Studio to improve the gaming experience. Apart from these projects, there are some other handy tools that provide useful features mostly to complement and enhance Linux gaming on your system. This article will list some of these apps.

Feral’s Game Mode

Feral Interactive is a game studio that specializes in porting Windows and console games to Linux, macOs and Android. They have brought many popular games to Linux, Tomb Raider and DiRT series are some of them.

Game Mode is being developed by Feral to provide Linux users a way to speedup and optimize games running on their system. Some of the features of game mode include the ability to change CPU governor, increasing the priority of a running game process, increasing the priority of I/O events and a high performance mode for dedicated GPUs.

Game mode can be installed in Ubuntu using a PPA. Run commands below to add the required PPA and install game mode on Ubuntu:

$ sudo add-apt-repository ppa:samoilov-lex/gamemode
$ sudo apt update
$ sudo apt install gamemode

If the PPA above doesn’t provide packages for your Ubuntu version, you can try directly installing deb packages available here. You can also compile the source code to get executable binaries for game mode. Instructions to compile game mode are available here.

To run a game in game mode, execute a command in the following format:

$ gamemoderun /path/to/game/executable

To enable game mode for a Steam game, add following launch option in the game properties window (right click on a game title in the Steam library):

$ gamemoderun %command%

A sample configuration file for game mode is available here. It can be used as a starting point for your own customizations. Store your customized .ini file in “$HOME/.config/” directory.

Mesa Vulkan Drivers

Many native Linux games have been using Vulkan renderer to deliver improved performance and better graphics. This is also true for Wine and Proton games using DXVK and D9VK to run games on a Vulkan backend. Unfortunately, Vulkan drivers are not installed by default in Ubuntu as of today. This may change in the future but as of now, all native games that support Vulkan API end up using fallback OpenGL renderer as Vulkan drivers are simply not present in the system by default.

If you are using open source graphics drivers, you can fix this problem by running the command below:

$ sudo apt install mesa-vulkan-drivers mesa-vulkan-drivers:i386

Now all games and emulators using Vulkan API will automatically pick it up or will give you an option to switch to it.

Wine AppDB / ProtonDB / SteamDB

Using some nicely curated databases, Linux gamers can do some research about compatibility and game popularity. These databases are community driven projects and are updated regularly.

Wine AppDB is probably the oldest of all these. It provides a large database of apps and games tested using Wine’s Windows compatibility layer for Linux. This database can be filtered using various advanced options and a platinum rating indicates good compatibility with Linux.

Proton is Steam’s adaptation of Wine and it comes with some additional features, bug fixes and quality of life updates. ProtonDB, as the name suggests, is a database for Proton games tested on Linux. Games playable on Linux using Proton are assigned various ratings with platinum rating indicating best compatibility.

SteamDB is another database that can be used to browse information about Linux games. It provides a comprehensive list of Steam games with many advanced filters not available in the official steam website. Unlike other lists mentioned above, this database does not provide any compatibility notes. However, it does include a Linux only filter and can help you in taking a purchase decision by narrowing down results with its deep search options.

FPS Counter Scripts

I have written a comprehensive guide about displaying FPS counter as an overlay on Linux games. It covers various methods that can be used to show FPS on OpenGL and Vulkan games running on different GPU drivers. You can try these methods and I am sure one of them will work for you depending on your hardware configuration.

Built-in GNOME Shell Screen Recorder

GNOME Shell comes with a built-in screen capturing utility that can be used to make small screencasts having a maximum limit of 30 seconds by default. This tool doesn’t capture sound and FPS is capped at 30, so it is not ideal for users who want to record high quality streams. However for casual use or for making GIFs, this is an excellent tool that just works and doesn’t require you to install any third party apps.

To start and stop video recording using GNOME Shell recorder, you have to use the following key combination:

< CTRL + ALT + SHIFT+ R >

It is possible to increase the 30 second recording limit to infinite by using the command below:

$ gsettings set org.gnome.settings-daemon.plugins.media-keys max-screencast-length 0

DualShock Battery Percentage GNOME Shell Extension

As the name suggests, DualShock (DS) battery percentage GNOME Shell extension shows remaining battery levels for your bluetooth connected DS4 and DS3 game controllers. It comes without any configuration options but gets the job done by displaying a small indicator on top panel. If you are running a fullscreen or borderless game, you can use <ALT + TAB> or <SUPER> key to quickly have a look at remaining battery percentage.

You can download the extension from here. Latest versions of KDE has built-in support to show battery percentage of DS4 controller. To check the battery levels, you have to click on system tray and navigate to the battery icon tab.

That’s it about this article. Some of these are not full fledged apps and may not have many use cases, but overall they help improve and grow the Linux gaming ecosystem.

]]>
HD Remastered Games for Linux that Never had a Linux Release Earlier https://linuxhint.com/hd_remastered_games_linux/ Wed, 04 Dec 2019 18:17:07 +0000 https://linuxhint.com/?p=51356 Many game developers and publishers are coming up with HD remaster of old games to extend the life of franchise, please fans requesting compatibility with modern hardware and of course, to make a profit.  Linux has its own share of these remastered games. This article will specifically list games that never had a Linux release back in the day, but a got a HD remaster version in recent times.

Fahrenheit: Indigo Prophecy Remastered

Original Game: Fahrenheit

Fahrenheit is a cinematic action adventure game featuring interactive and narrative oriented story and gameplay. Originally released in 2005, the game features motion captured animation, branching storylines and split screen view gameplay.  The main highlights of the remastered version are new and updated visuals, restoration of content previously cut in regional releases, steam achievements, steam trading cards and full gamepad support.

Broken Sword: Director’s Cut

Original Game: Broken Sword: The Shadow of the Templars

Broken Sword, the Shadow of the Templars: The Director’s Cut or simply Broken Sword: Director’s Cut is an enhanced remaster and director’s cut release of the classic 1996 point and click adventure game Broken Sword I. The original version was never released for Linux.  Remastered version of the game has added two hours of additional story and gameplay, new first person perspective minigames, new facial expressions, a new help system and enhanced music tracks and voiceover audio.

Infinity Engine Games

Including Baldur’s Gate: Enhanced Edition, Baldur’s Gate II: Enhanced Edition, Icewind Dale: Enhanced Edition, Planescape: Torment Enhanced Edition

Original Games: Baldur’s Gate, Baldur’s Gate II: Shadows of Amn, Icewind Dale, Planescape: Torment

Infinity engine games are a series of party based role playing games based on Dungeons & Dragons rulesets. These games were developed and published originally by Black Isle Studios, Interplay Entertainment and BioWare game studios. They were hailed as genre defining computer role playing games (CRPG), akin to what the Final Fantasy series is to Japanese role playing games (JRPG). All these games were released between 1998 and 2000. Remastered versions of these games were released for Linux between 2014 and 2017. The enhancements are too many to list but here are some highlights of these remastered games: new quests, new characters, new voice sets, support for high-resolution widescreen displays, improved multiplayer support with connectivity between all platforms, new spells and items, improved interface and hundreds of bug fixes and improvements to the original games.

Day of the Tentacle Remastered

Original Game: Day of the Tentacle

Day of the Tentacle (also known as Maniac Mansion II) is a point and click adventure game that was originally released by LucasArts in 1993. The player takes control of a trio of characters to solve puzzles while using time travel mechanics. Double Fine Productions, the studio behind both original and re-release of the game, has updated the remastered version with high resolution graphics, new hand drawn artwork preserving the original game style, enhanced music and sound effects.

Full Throttle Remastered

Original Game: Full Throttle

Full Throttle is a point and click adventure game first released on April 20, 1995. The game’s plot is mainly about Ben, a leader of a biker gang, who is framed for the murder and seeks to clear his and his gang’s names. The remastered version has been updated with new high resolution graphics, crisp hand drawn visuals, enhanced sound effects, remastered music tracks and a cinematic audio experience.

Oddworld: New ‘n’ Tasty!

Original Game: Oddworld: Abe’s Oddysee

Oddworld: Abe’s Oddysee is an adventure and platformer game released in 1997. In the game, the player takes control of the character Abe, solving puzzles and avoiding enemies. The remastered version is built from scratch from the ground up with new visuals, enhanced audio, improved gameplay, revamped controls, new areas, new gameplay mechanics and new secrets.

Grim Fandango Remastered

Original Game: Grim Fandango

Grim Fandango is a point and click adventure game released by LucasArts in 1998 for Windows. Like most of the other point and click games, the core gameplay in Grim Fandango revolves around exploration and solving puzzles using various items collected during the gameplay.

The remastered edition has been updated with dynamic lighting effects, high resolution graphics, completely recreated audio tracks by an orchestra, insightful developer commentary and an original concept art viewer.

Painkiller Painkiller Hell & Damnation

Original Game: Painkiller

Painkiller is a first-person shooter game that was released in 2004. Its core gameplay involves killing large numbers of monsters, very similar to other run and gun games Serious Sam and DOOM. The game featured robust multiplayer and innovative physics for that time.Painkiller Hell & Damnation is a full modern remake (not a remaster) of the original game, released for Linux around 2013.

Turok 2: Seeds of Evil

Original Game: Turok 2: Seeds of Evil

Turok 2: Seeds of Evil is a first person shooter game originally released for the Nintendo 64 console in 1998 and for Windows in 1999. The game features fast paced combat and its main objective is to destroy a powerful alien entity. An enhanced edition of the first game “Turok: Dinosaur Hunter” has been released for Linux as well. The remastered version features new quest levels, a new multiplayer mode, improved graphics, updated game engine, new user interface, improved player mobility, improved enemy AI, instant travel and ability to save and load anywhere.

Conclusion

These are the major HD remaster games released for Linux. There have been other games as well and this list is not exhaustive. It does look pretty small compared to other platforms, but Linux gaming (on Steam) has been mostly getting new games in existing franchises and indie games.

]]>
How to Use AutoKey to Automate Linux Games https://linuxhint.com/autokey_automate_linux_games/ https://linuxhint.com/autokey_automate_linux_games/#comments Wed, 27 Nov 2019 19:46:16 +0000 https://linuxhint.com/?p=51096 AutoKey is a desktop automation utility for Linux and X11, programmed in Python 3, GTK and Qt. Using its scripting and MACRO functionality, you can automate keypresses, mouse clicks and most parts of a desktop interface. If you are looking for an alternative to Windows program AutoHotkey, AutoKey is the best option available today for Linux users.

Note that this is an X11 application only, Wayland support hasn’t been added to the application at the time of writing this article.

Some of the AutoKey features are:

  • Supports abbreviations that can automatically expand a few characters into any of your commonly used sentences and text blocks.
  • Supports sending arbitrary keystrokes and mouse clicks.
  • Supports specifying rules for a specific application window.
  • Python 3 scripts can be used for writing automation rules.
  • Ability to control window functions like maximizing, resizing and moving.
  • Comes with a set of preconfigured examples for easier scripting.
  • Ability to show custom menu popups with a list of choices.
  • Ability to record keystrokes and mouse clicks.
  • Ability to set hotkeys without modifier keys.
  • Automation scripts are portable and can be easily shared with other users.

This guide will show you some AutoKey examples that are useful for Linux gamers. To get started, let’s install Autokey Ubuntu packages from its GitHub page. Download the files mentioned below from here

  • autokey-common_x.xx.x-x_all.deb
  • autokey-gtk_x.xx.x-x_all.deb or autokey-qt_x.xx.x-x_all.deb (download only one)

After downloading the files, run the following commands in order:

$ sudo apt install ./autokey-common_0.95.8-0_all.deb
$ sudo apt install ./autokey-gtk_0.95.8-0_all.deb

Example 1: Setting <F5> Key for Automatic Game Saving

It is common to see many PC games using <F5> key for quick saving and <F9> for quick loading. However, many other PC games, especially console ports have a tedious way to save game where you have to navigate through multiple menu options. Here is a quick mockup I have drawn that illustrates this (excuse my drawing skills):

The game wants you to hit <Esc> key to pause the game, then <Down> arrow key, then <Enter> key to save the game, followed by <Esc> key again to return to the game. This entire process can be easily automated and mapped to <F5> key using AutoKey. Check out the script code below:

import time
keyboard.send_key('<escape>')
time.sleep(0.25)
keyboard.send_key('<down>')
time.sleep(0.25)
keyboard.send_key('<enter>')
time.sleep(0.25)
keyboard.send_key('<escape>')

To add this script to AutoKey, launch the app and then click on a visible folder or click on a custom folder created by you to highlight it. Click on File > New > Script menu option to create a new script inside that folder, as shown in the screenshot below:

Rename this script to “Quicksave” and put the above code inside it. Then click on “Hotkey” button at the bottom, as shown in the screenshot below:

On the next screen, click on “Press to Set” button and then hit <F5> key to map it to the script.

“Key: (None)” will change to “Key: <f5>”.

 

Click on “OK” and press <CTRL+S> to save the script. Always remember to save the script otherwise nothing will be executed when you press the mapped hotkey.

Quicksave keymapping is now ready to be used. Next time when you press <F5> key, a series of keypresses will be executed in order.

Note that we have changed the functionality of <F5> key globally throughout the OS, as long as AutoKey is running and docked to the system tray. To restrict it to a particular window or application, you will have to specify window rules by clicking on “Window Filter” button at the bottom.

You can use the same script above to create a script for quick loading as well. You just have to remove the line for <Down> arrow key and then map the script to <F9> key.

If you are looking for correct key names to use in AutoKey Python 3 scripts, a list of all special keycodes usable in AutoKey can be found here. Any key not mentioned in the page above can be inserted using single or double quotes. Example: keyboard.send_key(‘5’), keyboard.send_key(‘p’) and so on.

Example 2: Drink Two Health Potions in a Row in a Role Playing Game

Assuming the hotkey to drink health potion in your game is <H>, the script would be:

keyboard.send_key('h', repeat=2)

The value of the repeat variable can be changed to any other number as well. You can follow the steps in the first example to map the script to your desired hotkey.

Example 3: Burst Mode for Gun in a Shooter Game

 

Using the code below, you can map <E> key to shoot a gun thrice in a row. The original way to shoot in the game is to press left mouse click once.

# mouse buttons: left=1, middle=2, right=3
mouse.click_relative_self(0, 0, 1)
mouse.click_relative_self(0, 0, 1)
mouse.click_relative_self(0, 0, 1)

The above script will execute left mouse click three times in a row. Extra statements can be added if you want to execute left click more than three times.

You can follow the steps in the first example to map the script to <E> hotkey.

Example 4: Create a Custom Game Menu / Turn a Real Time Game into a Turn Based Game

Using the list menu functionality of AutoKey, we will show a menu as an overlay on top of a running game. This menu will steal focus from the game and return it after a mouse click is executed on one of the menu items. Once the focus is returned, an automated keystroke will be executed that invokes a function inside game.

Take a look at this picture:

In the “GameMenu” folder, I have created a subfolder called “Show”. Both “GameMenu” and “Show” folder have child items. Here is the code I have put inside each child item:

  • Inventory: keyboard.send_key(‘i’)
  • Map: keyboard.send_key(‘m’)
  • Back to the Game: keyboard.send_key(‘<escape>’)
  • Switch to Assault Rifle: keyboard.send_key(‘2’)
  • Switch to SMG: keyboard.send_key(‘1’)

Here the “GameMenu” folder is mapped to <CTRL+F8> key and this is what it looks like inside running game:

Each menu item has a number prefixed before its label. You can invoke any menu item by pressing the corresponding number key on your keyboard. For example, pressing <2> key here will switch the gun to assault rifle.

A small GIF demo of this example (click on the image or right click and open the GIF in a new tab if animation stops below):

This method may not work with all games, depending on the way they handle windowed and full-screen rendering. Some games don’t pause when focus is stolen while others do. If the game pauses when focus is lost, you have essentially converted a real time game into a turn based game using this AutoKey script.

This example will work with games on a case by case basis. However in my testing, I have achieved pretty good results with both native and Steam Proton / Wine games.

Conclusion

All the examples mentioned here are basic, mainly focused for Linux gamers. They cover only a part of AutoKey’s powerful API. AutoKey can automate a lot of your workflow using its scripting features for everyday or complex software as well. A few more examples are available in the official documentation of the app. ]]> https://linuxhint.com/autokey_automate_linux_games/feed/ 2 How to Show FPS Counter in Linux Games https://linuxhint.com/show_fps_counter_linux_games/ Wed, 20 Nov 2019 17:19:26 +0000 https://linuxhint.com/?p=50445 Linux gaming got a major push when Valve announced Linux support for Steam client and their games in 2012. Since then, many AAA and indie games have made their way to Linux and the number of users who game on Linux have increased considerably.

With the growth of Linux gaming, many users started to look for proper ways to display “frames per second” (FPS) counter as an overlay on running Linux games. An FPS counter helps in tweaking performance of running games as well as in benchmarking a PC’s overall ability to play games at different resolutions.

Unfortunately there is no single unified way to display FPS counter in all Linux games that is independent of underlying technologies a game is running upon. Different renderers and APIs have different ways to display FPS counter. This guide will explain various methods that can be used to display an FPS counter in Linux games.

Method 1 (Steam)

Compatibility Notes:

  • Works with OpenGL and Vulkan games.
  • Works with native games and Proton Proton is a compatibility layer included in Steam for running Windows games in Linux. It is based on Wine, DXVK and D9VK open source projects with additional patches and new features added by Valve/Wine developers.
  • Works with games purchased on Steam or third party games added to Steam by the user.
  • Tested working with integrated Intel and AMD graphics cards.
  • Untested with NVIDIA cards as I don’t own an NVIDIA card. But according to Steam community forums, built-in fps counter works fine on NVIDIA cards.

Steam for Linux includes a built-in FPS counter that can be toggled from settings. This is probably one of the most compatible options that works with a majority of Linux games. However I had some issues with Unity engine games not displaying the built-in FPS counter. This option also requires you to have a Steam account and Steam client installed on your system.

Steam even allows you to add games not purchased from Steam to the game library and the built-in FPS counter works in these games as well. To add a non steam game, click on “Games” and then click on “Add a Non-Steam Game to My Library”, as shown in the screenshot below:

Browse to the location of your game files and then toggle “All Files” option at the bottom.

Select the game executable and then click on “ADD SELECTED PROGRAMS” as shown in the screenshot below:

If you want to run a Windows only game in Steam’s Proton compatibility layer, you will have to enable an additional option in game properties.

I have added SuperTuxKart executable in steam Library, and FPS counter is working fine here as well. Note that any third party games added to Steam library should not have any spaces in their file location path.

Method 2 (LibGL)

Compatibility Notes:

  • Works with OpenGL games only.
  • Works with native games and Wine games.
  • Tested working with integrated Intel and AMD graphics cards with open source drivers.
  • Untested with NVIDIA cards as I don’t own an NVIDIA card. It should however work with NVIDIA GPUs with open source drivers.

LibGL is a Mesa library that exposes OpenGL APIs to apps and games and it is included in almost all Linux distributions by default. Using this library and another package that creates a HUD on visible display, we will show an FPS counter in Linux games. Run the following command to install the required package:

sudo apt install xosd-bin

To show FPS counter in native Linux games, use the command below after replacing /path/to/executable with your own game executable path. You can know more about all osd-cat options from here.

LIBGL_SHOW_FPS=1 /path/to/executable 2>&1 |
tee /dev/stderr | sed -u -n -e '/^libGL: FPS = /{s/.* \([^ ]*\)= /\1/;p}' |
osd_cat --lines=1 --color=yellow --outline=1 --pos=top --align=left

To show FPS counter in Windows games running on Linux through Wine, use the command below after replacing /path/to/executable with your own game executable path.

WINEDEBUG=fps wine /path/to/executable 2>&1 | tee /dev/stderr |
sed -u -n -e '/trace/ s/.*approx //p' | osd_cat --lines=1 --color=yellow
--outline=1 --pos=top --align=center

If you are using a Wine prefix, command would be (replace /path/to/wine/prefix and /path/to/executable):

WINEDEBUG=fps WINEPREFIX=/path/to/wine/prefix wine
/path/to/executable 2>&1 | tee /dev/stderr | sed -u -n -e '/trace/ s/
.*approx //p' | osd_cat --lines=1 --color=yellow --outline=1 --pos=top
 --align=center

This method has a small limitation. While you can customize the osd-cat HUD, it stays at a fixed position on the display area without taking into consideration the geometry of the game window. In the screenshot above, FPS counter is shown above game window, not inside it. Games running in fullscreen are not affected by this.

Method 3 (Gallium3D)

  • Works with OpenGL games only.
  • Works with native games and Wine games.
  • Tested working with AMD graphics cards with open source drivers.
  • Gallium3D support for Intel is ongoing, so not working yet.
  • Untested with NVIDIA cards as I don’t own an NVIDIA card. Since NVIDIA open source driver is Gallium3D enabled, this method should work.
  • Gallium3D is an API that makes it easier to develop drivers for graphics cards by providing a set of standard libraries and interfaces. AMD and NVIDIA open source drivers are built upon Gallium3D.

    To show FPS counter in native Linux games, use the command below after replacing /path/to/executable with your own game executable path:

    GALLIUM_HUD="simple,fps" /path/to/executable

    To show FPS counter in Windows games running on Linux through Wine, use the command below after replacing /path/to/executable with your own game executable path.

    GALLIUM_HUD="simple,fps" wine /path/to/executable

    If you are using a Wine prefix, command would be (replace /path/to/wine/prefix and /path/to/executable):

    GALLIUM_HUD="simple,fps" WINEPREFIX=/path/to/wine/prefix wine /path/to/executable

    In the screenshot above, I am using a customized GALLIUM_HUD variable that shows GPU and CPU temperatures as well. This custom command is different for different PC configurations. To read more about all customization options, run commands:

    sudo apt install mesa-utils
    GALLIUM_HUD=help glxgears

    Just for reference, here is the Custom command I used in the screenshots above:

    GALLIUM_HUD="simple,fps;sensors_temp_cu-amdgpu-pci-1c00.temp1;
    sensors_temp_cu-k10temp-pci-00c3.Tdie"
    /path/to/executable

    Method 4 (Mesa Vulkan Overlay)

    Compatibility Notes:

    • Works with Vulkan games only.
    • Works with Ubuntu 19.10+ only and other distributions having latest Mesa with vulkan overlay layer.
    • Works with native games and Steam Proton games running with DXVK/D9VK support.
    • Works with with Wine games running with DXVK/D9VK libs.
    • Working status unknown for Wine’s Vkd3d. Since this is a Vulkan layer, it should work with anything as long as Mesa is built with VK_LAYER_MESA_overlay support.
    • Tested working with AMD graphics cards and integrated Intel cards with open source drivers.
    • Untested with NVIDIA cards as I don’t own an NVIDIA card. Since this is a Vulkan layer, it should work with anything as long as Mesa is built with VK_LAYER_MESA_overlay support.

    Mesa Vulkan overlay is a new Vulkan layer added to recent builds of Mesa. It displays various information about the running application using an overlay.

    To show FPS counter in native Linux games, use the command below after replacing /path/to/executable with your own game executable path:

    VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG=position=top-left /path/to/executable

    To show FPS counter in Windows games running on Linux through Wine and DXVK, use the command below after replacing /path/to/executable with your own game executable path:

    VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG=position=top-left wine /path/to/executable

    If you are using a Wine prefix, command would be (replace /path/to/wine/prefix and /path/to/executable):

    VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay
    VK_LAYER_MESA_OVERLAY_CONFIG=position=top-left
    WINEPREFIX=/path/to/wine/prefix wine /path/to/executable

    Method 5 (DXVK HUD)

    Compatibility Notes:

    • Works only with Vulkan games running in Wine and Proton with DXVK/D9VK libs.
    • Tested working with AMD and integrated Intel graphics cards with open source drivers.
    • Untested with NVIDIA cards as I don’t own an NVIDIA card. Source code has commits that mention NVIDIA support so this method should work.

    DXVK provides a Vulkan-based translation layer for D3D10 and D3D11 allowing users to play Direct3D 10/11 games on Linux. D9VK uses DXVK backend to provide an additional Direct3D9 implementation that can be used to play games built upon D3D9.

    To show FPS counter in DXVK games running on Linux through Wine, use the command below after replacing /path/to/executable with your own game executable path:

    DXVK_HUD=fps wine /path/to/executable

    If you are using a Wine prefix, command would be (replace /path/to/wine/prefix and /path/to/executable):

    DXVK_HUD=fps WINEPREFIX=/path/to/wine/prefix wine /path/to/executable

    This marks the end of this post. To conclude, I would mention one small detail omitted from above. All the non-steam methods explained above will work for Steam games as well. You have to replace “/path/to/executable” or “wine /path/to/executable” or “WINEPREFIX=/path/to/wine/prefix wine /path/to/executable” with “%command%” in the same commands used above. Just add the full command to launch options in game properties inside Steam app, as shown in the screenshot below:
    ]]> How to download and Play Sid Meier’s Civilization VI on Linux https://linuxhint.com/play_civilization_vi_linux/ Tue, 02 Apr 2019 01:51:25 +0000 https://linuxhint.com/?p=38391

    Introduction to the game

    Civilization 6 is a modern take on the classic concept introduced in the series of the Age of Empires games. The idea was fairly simple; you would start off in the very basic era where farming and agriculture were the biggest keys to survival and your army was not well equipped to handle situations as well. Then as your base focused on research, your knowledge advanced and with enough research, you could transition into a different era of civilization which would bring numerous wonders for your base and your people.

    Civilization VI takes that concept but with many twists to it. Where Age of Empires was a real-time strategy game, Civilization is a turn-based game. Both games have single player and multiplayer modes as well to offer a lot more incentive to the player to keep coming back to them. Civilization also makes use of various leaders in the game. Leaders are specific to different computer-controlled civilizations and each has different personalities. You have the freedom to decide whether you would like team up with different leaders, fight against them or remain neutral with them and keep a distance from their conflicts and battles.

    The goal of the game is to become the most powerful and influential civilization on the game map that you can be and the path you choose to make that happen is up to you. You can either be diplomatic in your approach or be ready for conflict every single time. Each path you choose will have its consequences and advantages and that is what makes the game so fun and interesting to play over. You are put in different situations each time you play and having the same situation replay has a very low chance of happening. The game offers various expansion packs that bring a lot more elements into the mix. Each expansion costs a decent price and is hence optional. Even without them, you can fully enjoy the game.

    Downloading and installing Civilization 6 on a Linux system

    Before following the instructions to download, make sure that the Linux system you are using is version 16.04 and have the Steam client installed. The official system requirements do not list the latest version (18.04) as supported and any errors you get on the unofficial version will probably never be fixed unless the developers release the game officially for that version.

    Once you are sure about your operating system version, make sure that you also meet the hardware requirements of the game. Failure to comply might not always result in launch failures but performance issues are highly probable and without meeting the minimum requirements posted by the developers, no one will be able to help you as well.

    After you’ve made sure you fulfill the requirements, all that’s left is to download the game, we will have to do everything from the Steam client. The first thing we need to do is log in to our Steam account. If you do not have a Steam account yet, go to Google and search for ‘Steam account creation’. The first link should take you to the Steam website and from there you can create an account and download the client.

    Once you are logged in to the client, head over to the store and in the search bar, type in ‘Civilization 6’. The results will give links with the full name of the game which is Sid Meier’s Civilization VI. From there, you get the option to buy the game along with its expansions too. In the beginning, I would suggest to try out the original game first before you move on to buy the expansions since you never know if a game will appeal to you in the long run. Once you have purchased the base game with a valid credit card or Steam wallet funds, you will see the game in your library.

    From there, you get to choose where to install the game and the download begins. Once the download has finished, Steam will begin to download the game itself and you do not have to do anything with it. Once the game has finished installing, you will be able to play it without any hassle by clicking the play button from the library of your steam client.

    Tips on getting the best playing experience

    The Civilization series is not a normal game that you can just jump into and begin to start playing and expect to do well. If you have never played a Civilization game before, you should go through the tutorials first so you know what each button, menu, and toolbar are for and how can you utilize them fully. One of the worst things you can do in a strategy game is to not fully understand the mechanics and under-utilize your abilities simply by not having enough knowledge of how the game works.

    Another thing you should avoid is going straight to the online section without having spent time with the single player mode. The game may not be highly complicated, but getting crushed in online mode will surely make the game less fun to play and irritating as well. Be sure to understand how the game progresses and works in single player mode first and when you are confident about your skills, go into the online mode with full confidence.

    From personal experience, this game requires patience and is not one of those games where you’ve to go all John Wick. There are no sudden boss battles or exciting moments in the game where everything just picks up from. The game is about progressing in the best and most efficient way possible and that takes time. The gist of the game is in progressing and if you want a fast-paced game, then civilization VI is not the game for you and you are better off buying something more involving instead.

    Here are some more screenshots below, enjoy:

    ]]> How to Install and Play Doom on Linux https://linuxhint.com/install_doom_linux/ Tue, 02 Apr 2019 01:42:51 +0000 https://linuxhint.com/?p=38376

    Introduction to Doom

    The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards the game series has received numerous awards and the original Doom has been a staple game in every gamer’s collection who grew up in the ‘90s era. The subsequent releases of the series were no strangers to tremendous acclaim and the games just got better as technology improved with every release. When Doom 3 came out, it was an instant success just like its predecessors but this game had certainly tested the technologies of the time as it was revered as one of the best games of its time in terms of technology, gameplay, and the story.

    The series then remained pretty dormant for about the next 10 years with only an expansion pack released for Doom 3 and its HD re-master in 2012. In 2016, the series attacked the gaming industry with a shooter game that did not forget its roots from the era of ‘shoot first, ask later’ kind of games. The 2016 edition of Doom was a welcome addition to the series and the modern game market because it brought back something that had been missing from games for a long time and that was some good old fashioned shooting enemies with lots of gore and no element of realism that would otherwise make games boring. Now that we have discussed Doom and its history, let us move on to actually getting the game to run on your Linux system.

    Downloading and installing Doom

    The first thing that you need to do is head on over to Steam. If you do not have a Steam account, you will need to create one as this is where we will purchase the game from. Once you have logged in to your account, go to the search bar and type ‘Doom’. The top returned results will contain the game you need. Click on its link and you will be taken to the game page. Over there, you will have the option to buy the game.

    You will need either wallet funds or a valid credit card to make the purchase. Once the game has been purchased, you can finally start to download the game.

    Once you have gone through the whole process of selecting a partition and folder to download the game in, relax and wait until the download is over. The game will also install automatically with the help of the Steam client. Till now, nothing different from the normal method of getting games to run on Windows has happened but from here onwards, things get different as Linux needs a bit more tweaks to be able to run this particular game.

    The Linux version of the Steam client is modified to contain a tool called Proton which is a modified version of a tool called Wine. These programs go hand in hand in creating an environment that allows a majority of games to be played on Linux systems which were otherwise very difficult to get to work.

    To set up Proton, the first thing you need to do is to install Python 3 in your system and to do that, you just need to make a quick search on Google; ‘Python 3 install guide’. The first link that pops up will help you get through the whole installation process.

    The next thing you need to do is to update your graphics card drivers to their latest stable releases. For Nividia users, you need to go to the terminal and type in:

    sudo add-apt-repository ppa:graphics-drivers/ppa
    sudo apt install nvidia-driver-418

    If you happen to be an AMD user, these commands will work for you instead:

    sudo add-apt-repository ppa:paulo-miguel-dias/pkppa
    sudo apt dist-upgrade
    sudo apt install mesa-vulkan-drivers mesa-vulkan-drivers:i386

    These are the basic settings that Proton needs to have gone through. The others that are system specific are explained in detail on https://github.com/ValveSoftware/Proton/wiki/Requirements. You will have to visit the link and check out the details and see what your system needs. Finally, you will have to go in the Steam Play settings of the client and choose the compatibility tool as Proton 3.7 from the compatibility tool drop-down menu. Once all these steps have been performed, you should be able to run Doom without any problems.

    Best way to play Doom

    Doom is a very fast paced shooter and therefore requires good reflexes and awareness to be able to play well and actually enjoy the game. The game is meant to give you and your skills a challenge so to get the most enjoyment from the game, you should play it on a high difficulty setting so that it does not seem like a walk in the park.

    In terms of hardware, Doom is not a very demanding game and can run on medium to high settings for most setups that possess a decent graphics card, something like a GTX 1060. If you are like me, frame rates are what you need and graphics can be compromised. If you feel that you are not getting the best performance on your current settings and your frame rates are falling below 60 frames per second, do not be afraid to lower the settings a bit as Doom still looks beautiful on low settings. A fast-paced game like Doom is really difficult to play on low frames and should be avoided so that the game can truly be enjoyed. If you cannot even aim enemies because of the low frames, you will quickly begin to hate the game and that is the last thing you would want.

    ]]> Vulkan for Linux Users https://linuxhint.com/vulkan-for-linux-users/ Sat, 18 Nov 2017 04:03:49 +0000 https://linuxhint-com.zk153f8d-liquidwebsites.com/?p=20101 With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But despite all the credit hardware gets for advancements in graphical technology, none of what we have seen so far would have been possible without equally groundbreaking software advancements. And perhaps the most significant software advancement of this generation is the launch of the Vulkan 1.0 specification.

    What Is Vulkan?

    “Vulkan is a new generation graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs used in a wide variety of devices from PCs and consoles to mobile phones and embedded platforms,” describes this new API its main developer, non-profit tech consortium Khronos Group, on its official website.

    The Khronos Group first announced Vulkan at the Game Developers Conference in 2015, but the technological foundation upon which Vulkan stands dates to 2013, when AMD originally developed Mantle, a low-overhead rendering API targeted at 3D video games, in cooperation with DICE and donated it to the Khronos Group to kickstart Vulkan’s development.

    Vulkan is often called “a spiritual successor to OpenGL” even though its philosophy is very different. OpenGL and other older graphics APIs were designed back when photorealism was still a distant dream, and single-core CPUs and GPUs represented the cutting edge of technology. As hardware improved, OpenGL and its equivalents have been extended numerous times, allowing them to run on modern hardware as well as on hardware that’s now essentially obsolete.

    “The cost of this approach has been that the behavior of modern GPUs is so abstracted by the API that it is hard for the application and the driver to know each other’s needs. The result is an unpredictable performance for the application and considerable complexity in the driver, as each vendor applies different driver optimizations in an attempt to make software run quickly,” explains Samsung.

    According to Robert Hallock, AMD’s Head of Global Technical Marketing, the company wanted to bring OpenGL, a high-level, cross-language, cross-platform application programming interface for rendering 2D and 3D graphics over to a low overhead approach. As an “explicit API,” Vulkan eliminates the need for complex drivers and moves control to the hands of software developers and the applications and games they create. This, in turn, means nicer graphics, better running games, and shorter development times.

    How Does It Work?

    Unlike older APIs such as DirectX 11 and the aforementioned OpenGL, which automate memory allocation, 3D command buffer construction, and other processes on the GPU, Vulkan brings software developers much closer to the bare hardware, giving them more control over the performance, efficiency, and capabilities of their software products.

    Hallock said that developers “really, really wanted to be in control,” and that’s exactly what Vulkan delivers: control and precision. Because Vulkan is intended to support current graphics hardware, it better utilizes multi-core GPUs and reduces CPU bottlenecks. And unlike DirectX 12, which was announced by Microsoft at GDC in 2014, Vulkan is platform agnostic, meaning it can run on everything from personal computers to consoles to smartphones, regardless of operating system.

    What Does It Mean for Linux Users?

    Until Vulkan’s arrival, the number of games Linux users could enjoy was fairly limited because most game developers have been relying on DirectX, which is not available on Linux. Thanks to Vulkan, the number of AAA games available on Linux is growing rapidly, and Linux derivatives such as Valve’s SteamOS, a Debian-based Linux operating system by Valve Corporation, have become viable alternatives to traditional consoles such as Xbox or PlayStation.

    To enjoy Vulkan on Linux, it’s necessary to own a graphics card that supports this new API, and it’s also necessary to have up-to-date graphics drivers installed and properly configured. Right now, Steam provides by far the most convenient way how to try Vulkan-based games, such as The Talos Principle, Doom, Mad Max, or Wolfenstein II: The New Colossus.

    According to tests by Phoronix, Vulkan is allowing for lower CPU utilization than OpenGL across the Intel Coffeelake processors from low-end to high-end as well as AMD’s Ryzen processors. The lower CPU utilization and support for Linux means that budget-minded gamers can save a substantial amount of money by buying a less expensive processor and not paying for a Windows license.

    What Does Vulkan Mean for the Gaming Ecosystem?

    “For the developers of premium applications, who spend more time optimizing their software for portability and performance than in basic content creation, Vulkan should reduce overall development time and improve the customer experience. By moving more control to the application, Vulkan reduces the total amount of work that the CPU must do and allows application developers better control over how that work happens,” states Samsung.

    A lot has been said lately about the rising cost of game development and the various ways how publishers try to offset it, for example by adding pre-order bonuses and microtransactions. Even though Vulkan alone isn’t nearly enough to recoup the rise of development costs, it might enable indie developers to give us more AAA experiences without AAA prices, such as the critically acclaimed cinematic psychological horror action-adventure Hellblade: Senua’s Sacrifice.

    The greater degree of control Vulkan gives developers over graphics processing makes it a great fit for virtual reality, where low latency and high frame rates are critical for achieving immersion without feeling physically ill. In fact, the Khronos Group has added Vulkan Multi-GPU and Virtual Reality Support to the Vulkan API earlier this year, making one additional step toward 16,000 x 16,000 pixels per eye at 200 frames per second, which many see as the ultimate goal of virtual reality.

    Conclusion

    Vulcan is a huge step forward for Linux users who are interested in computer gaming, and it’s also a huge step forward for the entire gaming ecosystem, allowing game developers to create better optimized games in less time. Best of all, you can try Vulcan right now—all you need is Steam and a Vulcan-ready graphics card.

    ]]>
    OpenTTD vs Simutrans https://linuxhint.com/openttd-vs-simutrans/ https://linuxhint.com/openttd-vs-simutrans/#respond Thu, 19 Oct 2017 05:01:49 +0000 https://linuxhint-com.zk153f8d-liquidwebsites.com/?p=19721 Creating your own transport simulation can be fun, relaxing and extremely enticing. That’s why you need to make sure that you try out as many games as possible in order to find the one you like. However, OpenTTD and Simutrans tend to be the ones that stand out in this niche. And for a very good reason. Both of them are very polished and fun to play. But which one is bringing you the best experience? Let’s find that out!

    Simutrans pros and cons

    Simutrans is a very good game from a gameplay standpoint. Maybe the thing that makes it stand out the most is that it allows you to set destinations for cargo and passengers. That’s definitely a huge improvement and it can help you create a more distinct, fun and rewarding experience.

    OpenTTD 4

    Moreover, Simutrans also enables you to create some complex structures, be it elevated or underground. OpenTTD does allow you to do this too, but it does have its own limitations.

    The graphics engine is pretty good here too, and thus it makes it easier to eliminate vertical cliff or long vehicle clipping errors. Simutrans is also known for the fact that there are multiple packets. You can choose from multiple ones, and the best thing is that each one comes with its own dynamic.

    The community is also very supportive, and the best part is that you can always find some modded features that will make your gameplay even more interesting. The game also features a stellar map customization since it allows you to check things like cities, rivers, industries, climate zone, you can also customize the map size, cities and so on. The entire transportation system in the game is rewarding, distinct and fairly easy to use. It’s also set to offer you a nice way of exploring and experimenting if you want.

    Simutrans is cross-platform and it can be played on Mac, Linux and Windows too. It’s also available on Steam and it has multiplayer. The downside is that it features a strange default packset and the packset mechanism is also pretty hard to figure out and use in the beginning.

    OpenTTD 2

    Then there’s the fact that the game is not developed anymore. The visuals are nice, but they don’t compete with OpenTTD, and that’s a shame. And yes, the fact that the game is deprecated means that there won’t be any new content for it anytime soon.

    OpenTTD pros and cons

    OpenTTD is known as one of the best simulators in this genre. It’s a great, free and open source game that you can download and play as you see fit. A major benefit is that you can create massive rail networks and you can complicate them in any way you want. As a result, players can be very creative and they will have a whole lot of fun this way.

    OpenTTD

    The game is also under active development. What this means here is that you will get constant updates, new content as well as a lot of bug fixes. Obviously, this is a major benefit for OpenTTD players, because they know that they can play a game which does get better and better all the time.

    OpenTTD is offering a lot more stuff when compared to the original game. You have a dedicated server mode, in game downloading of new content as well as stable multiplayer. Just like Simutrans, it does have mods. However, OpenTTD has a lot more mods and people love the ability to further customize their unique modded experiences.

    OpenTTD 3

    But this does lead us to the cons. The graphics are small when you play on high resolution displays and the title on its own can be boring if you don’t play with others. Online doesn’t work cross-versions, so two people need to have the same version in order to play. The good thing here is that you get a notification when there are new updates, so you can easily update and play even further.

    OpenTTD can also be pretty complicated for beginners, which is a problem at first. But you can get used to it, and that’s the thing that matters. The game is known for its harsh gameplay, so there’s nothing new here.

    Which one is the best?

    It all comes down to what you are looking for. OpenTTD is under active development, so if you want a supported game, OpenTTD can be very good in this regard. Simutrans added destinations for cargo and it also tends to feature a lot more depth. But in the end, both OpenTTD and Simutrans are some great games, so it all comes down to you to test them out. Give each one of these a shot and you will be very impressed with the uniqueness and immersion factors offered this way!

    ]]>
    https://linuxhint.com/openttd-vs-simutrans/feed/ 0
    Unity3D Tutorial https://linuxhint.com/unity3d-tutorial/ Tue, 10 Oct 2017 13:05:07 +0000 https://linuxhint-com.zk153f8d-liquidwebsites.com/?p=19671

    Introduction to Unity 3D

    Unity 3D is a powerful game development engine. It is cross platform that is it allows you to create games for mobile, web, desktop and console, around 30 platforms in all. Unity 3D has many exciting features, a few of them are given below:

    • Cost: Unity 3D’s personal version is free of cost for beginners, students and hobbyists. Unity Personal has all the core features of Unity. It also has core analytics, cloud build, ads, multiplayer, in-app purchases and cross platform features. Other than these features Unity personal has a few limitations too. Two other versions Unity Plus and Unity Pro are also available for serious creators and professionals, starting at the price of $35 per month.
    • All In-one Editor: Unity is known as an all in one editor. The Unity editor has multiple artist friendly tools for designing impressive experiences. It has a strong suit of developer tools for implementing game logic and high end performing gameplay. Unity also allows you to create both 2D and 3D games. It also includes AI pathfinding tools based on a navigation system. It has an excellent built-in system to create eye catching user interfaces. Its Box2D physics engine allows us to create realistic motion, momentum, force and gameplay.
    • Platforms: Unity supports many different platforms like Linux, IOS, Android, Windows, etc. totally nearly 30 platforms.
    • Virtual and Augmented Reality: Unity supports for virtual and augmented reality development. It is most widely used engine for XR development. It has Microsoft HoloLens, Stream VR/Vive, Gear VR and PlayStation VR support in Unity Plus for virtual and augmented reality.
    • Multiplayer: For real time networked and multiplayer games Unity is the best option. It provides servers for real time collaboration.
    • Engine Performance: Unity’s engine performance is extraordinary. Multi-threaded compute system is coming for intensive scenarios. Unity engine has advanced profiling tools which determines if your game is CPU bound or not and also tells how to optimize it with better experience.
    • Unity Asset Store: It is a massive catalog of free and paid content. You can increase your development time by downloading many built-in free models and assets. Even Unity asset store has complete projects both for free and paid.
    • Graphics Rendering: Unity has one of the best graphics rendering system. It allows you to create environments like luminous day, gaudy glow of neon signs, dimly lit midnights and shadowy tunnels. It produces amazing visual effects. Although Unity supports multi-platform but still it tries to cover low level graphics API of every platform for better results and smother user experience.
    • Team Collaboration: It has features that enable collaboration and simple workflow. Unity’s cloud storage allows you to save, share and sync your projects anywhere.
    • Performance Reporting: Unity performance reporting system deals with issues in real time. High priorities issues are solved very efficiently. Finds application errors across devices and platforms.

    Unity Interfaces

    Let’s explore Unity editor’s interfaces, which are configurable.  It is made up of tapped windows that you can rearrange according to your need.  Let’s explore the default window settings. Here is the image how it looks

    unity 3d environment

    Hierarchy Window

    The Hierarchy window represents every object in the scene. It shows how objects are linked with each other in the scene, so these two windows are related. In hierarchy window there is a drop down list named as Create. You can create an empty object, 3D objects, 2D objects, light, audio, video, particle system and camera objects very easily. The hierarchy window is shown below. ‘Untitled’ is the name of the scene. You can rename it as you want. You can see a drop down icon at the very right side of untitled (scene name). By clicking on this drop down you can see different options for Save Scene and Add New Scene.

    Unity3D Hierarchy Window

    Scene Window

    Scene window is where you create your scene. It is where you can interact with your game objects and models. You can resize, reshape and reposition your scene objects. This is the window where you start working with Unity. Scene view can be 2D or 3D depending on the setting of your project. Here is a screen shot of how the scene window looks:

    Unity3D Scene Window

    In scene window you can see another tab labeled Shaded, this is where you can select what type of view you want either shaded or wireframe. It has many other options like Miscellaneous, Global illumination, Real time GI, Baked GI and many others. You can view to 2D or 3D by using the button next to the Shaded drop down. Next is the toggle button for scene lighting. Similarly a toggle button for scene audio. Next is a drop down list to enable sky box, fog, animated material and image effects.

    Game Window

    Game window represents your final, published game in play mode. It is rendered from the cameras you used in your game. In game window you can see another tool bar as shown below in the screen shot:

    Unity3D Game Window

    Display 1 shows camera present in your game scene. By default it is set to Display 1 for main camera. If you have multiple cameras and you want to switch then you can select from drop down list. Next to this you can see a drop down for aspect ratios. You can select according to your target device monitor screen. Next you can see a Scale slider to zoom in. Scroll to the right and examine more details of your scene in play mode. Next is the button for Maximize On Play, when clicked, the game window size will be maximum on play mode. Mute Audio toggle is used for mute/unmute audio. Stats shows rendering statistics about your game’s audio and graphics.

    Project Assets Window

    As the name shows assets window has all the assets of your project which you can use. If you import something new it will appear in project assets window. Project asset window has two parts, the left panel and right panel as shown in the below screen shot:

    unity3d simple1

    Left pane shows the hierarchical structure of the project’s assets.  When you click on any folder it will show the details in the right panel. For example in the given figure Prefabs folder is clicked in left panel so its details are showing in the right panel as it contains two game objects. In the left panel you can see a Favorites section, where you can drag items which you want to use very frequently to avoid time waste in searching for them. Above it you can see a Create drop down which enables you to create a C# script, a folder, a shader, a GUI skin, a scene, a prefab, a material and much more.

    Console Window

    Console window is the place where you can see your errors, warnings and messages. You can adjust them by clicking their toggle buttons. It also allows you to clear all the errors, warnings and messages. You can pause errors for a certain time. Here you can see in the following figure

    Unity3d console window

    The drop down icon at the very top right corner has options for Editor Log and Stack Trace Logging.

    Inspector Window

    Inspector window is one of the most interesting and useful window of the editor. It is the place where you can edit all the properties of the selected game object. Every game object has its own type so their properties will be different and inspector’s window can vary. Assets, scripts and game objects all vary in properties. Lets see the properties of a cube in inspector window. Here is the image:

    Unity3D Inspector Window

    You can rename your game object by just clicking on the previous name and typing a new one. Next you will see the transform section where you can adjust position, rotation and scaling of your selected game object. In the last you see a button name as Add Component, click on it to add new components to your game object, for example if you want to attach a script, just click on add component and type your script name.

    Tool Bar

    Last is the tool bar tab, it has many useful features. It contains some basic tools for manipulating the scene view and objects. In center there are buttons for play, pause and step control. The next two buttons shows your Unity cloud and Unity account. Here is the figure how it looks:

    unity3d toolbar

    Getting Started With Unity

    Let’s start creating a new project in Unity because it’s time to play with what we have learned. Double click on Unity icon following window will appear:

    Unity3d Project Screen

    Enter Project Name, select a workplace Location and then select type of your project either 2D or 3D. Click on Create Project.

    By default you will see an untitled scene containing a main camera and directional light in the scene. Let’s start creating an environment.

    Building Environment

    First of all create a plane by clicking on Create -> 3D Object and then select Plane. Or alternatively you can create it by clicking on GameObject -> Game Object and then select Plane. Go to hierarchy window and click on plane game object. Now go to inspector window and rename it as Ground. Now adjust transformation values so that this plane looks like a straight road. Just scale X to 6 and Z to 50. Here is the image how it looks

    Unity3d Inspector Window

    Now download a road texture and apply it on the ground object. Create a folder name as Texture. Drag downloaded road texture to Texture’s folder. Now select Ground and drag road texture in the scene view. Here is the image how it looks

    Unity3D Road

    This is the texture I downloaded

    Unity3D Road

    After applying texture on the ground, click on Ground and set tiling in inspector window. Here is how I set it.

    Unity3D Settings

    Now you have created a road model, let’s create a ball model in unity.

    Go to Create -> 3D object and then select Sphere, you will see a sphere object in scene window. Select it and go to the inspector window to rename it as Ball. Now adjust transformation values accordingly. Just scale it to 5 along all three axis and reposition it to the center of the road. Here is how it looks

    Unity3D Ball on Road

    Now create a fence or wall around the road.

    Go to Create -> 3D Object and then select Cube. Select it and rename it to Wall1. Go to inspector window and set transformation values so that it looks like a wall around the road. Here is how it looks:

    Unity3D Inspector Window

    See these transformation values for Wall1. Scale Y to 6 and Z to 500. Then adjust its position so that it comes at the corners of road.

    Unity3D Properties Window

    Now search for a wall texture download it and copy to the Texture folder in assets. Drag wall texture to the wall in the scene window. Adjust tilling so that it looks nice and smooth. I adjusted tiling as X to 50 and Y to 1.5. After adjusting tiling this is how it looks

    Unity3D Road

    This is the texture I used for wall

    Unity3D Wall

    We have created wall for one side of the road. Now do the same thing for the other side of the road too. Instead of going through the all the process we can just copy Wall1 and rename it to Wall2.

    Select Wall1 in hierarchy window and then right click and then select Duplicate option. It will create another game object having same size and transformation values. Click on Wall1(1) and rename it to Wall2. Now adjust position so that it comes to the other corner of the road.

    See the following image how cool it looks

    Unity3D Red Ball on Road

    My position values for Wall2 are X to -29.6 Y to 2.6 and Z to 2.6.

    Now create a material for Ball. Go to Project window and create a folder by right clicking on the mouse and then select Folder. Name it as Materials. Again right click on mouse and create a material. Name it as redBall. In inspector’s window select color of material. Go to Main Maps and select Albedo color to red. Increase the metallic texture by scrolling bar to the right. Drag this material to the Ball in the scene view. Here is how it looks

    Unity3D Red Ball on Road

    Here is how material looks:

    unity3d simple2

    So we are done with our environment development. Now time to do some coding. For this we have to create a script.

    Scripting in Unity

    To implement your own gameplay features and to control the behavior of the game Unity provides as a scripting mechanism. You can write your own script for the desired output of the game. With these scripts you can trigger game events, can change component’s properties and you can respond to user inputs. Basically Unity supports two different programming languages for scripting purpose, one is C# and other is JavaScript. Other than these two languages many other .NET languages can also be used with Unity. Scripts are known as behavior component in Unity.

    Creating a Script

    Let’s start creating a Unity script. For this go to the assets window and create a new folder named Scripts (you can skip creating new folders for every new type of asset but its good practice to keep things organized). Here is how my assets window looks now:

    Unity3D Folders

    Now open the Scripts folder, right click, then go to Create and select C# script. Rename script to Movement. We are creating this script to move and roll the ball on the road. For now the ball is stationary, doing nothing, let’s create some movement in it.

    Double click on the Movement script it will open in Mono Develop. If your script is a mono behavior then you will see some pre written code like this

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class MovementScript : MonoBehaviour {
    
        // Use this for initialization
        void Start () {
            
        }
        
        // Update is called once per frame
        void Update () {
            
        }
    }
    

    You can see two functions Start() and Update().

    Start(): Start function is used for initializing variables and objects. It is called only once when the script is enabled just before any other update function calls.

    Update(): It is a mono behavior function, it is called once in every frame.

    Other than these two there are many other mono behavior functions for example awake(), fixedUpdate(), lateUpdate() etc.

    To move the ball on the road first of all you have to make it a rigid body (it is an ideal solid body in which deformation is neglected). Select Ball in hierarchy window and click on Add Component button in inspector window. Type rigid body and press Enter. A rigid body will attach to the Ball. Now go to script and create a private variable of type Rigidbody. Now assign rigid body of the Ball to this variable you just created in the script.

    private Rigidbody rb; 
    rb = GetComponent<Rigidbody> (); 
    

    Now write some code for the movement of this rigid body. What’s the idea? Ball should move when I press arrow keys of the key board. It should move forward when up key is pressed, backward when down key is pressed and so on.

    So the input in coming from the keyboard, how should I get this input? Unity’s Input class has a function name GetAxis(), to returns the value of virtual axis identified by the axis name. Create two variables one for x-axis and one for y-axis input. Here is how it should be

    float moveHorizontal = Input.GetAxis ("Horizontal");
    

    Now create a Vector3 variable to get movement values.

    Vector3 movement = new Vector3 (moveHorizontal, 0.0f,moveVerticle ); 
    

    First parameter is the value of x-axis, second is the value of y-axis and third is the value of z-axis. As ball will not move in the direction of y-axis so assign zero to it. Lastly add this movement to rigid body and multiply with a constant number for speed or create another variable for speed. See the complete code below

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Movement : MonoBehaviour {
    
        public float speed; 
        private Rigidbody rb;
        // Use this for initialization
        void Start () {
            rb = GetComponent<Rigidbody> ();
        }
        
        // Fixed Update is called after fixed number of frame
        void FixedUpdate () {
            float moveHorizontal = Input.GetAxis("Horizontal");
            float moveVerticle = Input.GetAxis("Horizontal"); 
            Vector3 movement = new Vector3 (-1*moveHorizontal, 0.0f,-1*moveVerticle );
            rb.AddForce (movement * speed);
    
        }
    }
    
    

    As speed is a public variable so you can assign value in the inspector window. Attach this script to the ball by dragging it to the inspector window or by pressing Add Component button. Press play button and test your coding either ball is moving or not.

    Setting Camera

    Last thing you will notice is when you press forward button and ball starts moving it goes out of the camera as camera is stationary. What should we do? We should move camera too? Yes it is the simplest thing to do. Make the camera child of the ball by dragging main camera to the ball.

    Conclusion

    This was a basic introductory tutorial in which you learned many interesting features, environment building and scripting in Unity. Don’t hesitate, start creating your first game with Unity today and enjoy!

    ]]>
    OpenTTD Tutorial https://linuxhint.com/openttd-tutorial/ Sat, 07 Oct 2017 11:59:49 +0000 https://linuxhint-com.zk153f8d-liquidwebsites.com/?p=19664 OpenTTD is one of the most popular business simulation games out there. In this game, you need to create a wonderful transportation business. However, you will start in the beginning at around 1900 or even earlier, and you have to try and find the right way to get new items and grow your business as much as you can. OpenTTD isn’t a simple game.

    OpenTDD Screenshot

    But it’s the way that plays which makes it so fun and interesting. Each time you play, you will get access to some new features and gameplay ideas. The maps are randomized, so you never know what cities you have on the map and what resources you can harness.

    How to play OpenTTD?

    The idea here is to start connecting cities to one another at first. Then you have to connect businesses to cities, in order to offer those cities the desired items that they are in dire need of. You will be able to use regular buses for transportation, trucks, airplanes and naval transport as well. Of course, the trick is to expand only when needed and to avoid unnecessary costs.

    OpenTDD Screenshot

    In the beginning, you need to work only with one or two routes at most. Make sure that you optimize those to make more money, and only then should you expand to getting even more and better results.

    Some of the best tips and tricks to play OpenTTD and succeed

    Despite the fact that it may look simple, OpenTTD is not a simple game at all. It’s a title full of challenges and it does tend to bring in front a lot of exciting and unique solutions.

    • Start by building 2 or 3 airports. This is a very good idea if you want to have thriving cities right from the start. The idea here is to focus on finding the best places where you can put these airports, usually the 1500+ cities will be perfect for that. Once you have the airports, a good idea is to buy one or two airplanes and let them fly between the airports. You can get lots of income from the start, and that can come in handy. You will have to fast forward to earn the income you need, and then you can repay the loan. Usually, these planes need to be replaced after a while, so check them out.
    • Create a two way track across a couple of cities. This will allow these cities to grow pretty fast and then you will get to have a nice income as well. Adding more stations and letting some industry products coming in can be a very good idea here. It’s a slower way to make money, but it delivers a more satisfying way to play the game.
    • Build up lots of routes that help you connect coal mines to a power station. When you have a lot of money, you can start a new network and then expand it from there. It’s a rather slow way to make money in the game, but it can be worth it and a whole lot of fun to pursue.
    • Favor longer routes instead of shorter ones. Longer routes may cost more to create, but they always end up giving you more money in the end. So, the option is you avoid spending on smaller routes and instead focus on the longer ones. It’s a lot better, more fulfilling and results can be more than ok in the end.

    OpenTDD Screenshot

    • Do whatever you can to focus on the best resource producers. Each map will have a different good resource producer. The idea here is to make sure that you stick to that resource. For example, you can focus on citizen transportation if you want passengers. If you want to focus on word carving, opt for a station near the forest. Be creative and try to find the best way to earn money fast!
    • Opt for the faster vehicles. Granted, they tend to cost a lot more money, but they end up bringing you a lot of value as a result. They also have less breakdowns, which in the end means that you will have a very good return on investment.
    • Upgrade stuff as you progress. Remember that as you progress in the game, new and better vehicles and bridges (among others) become available. What you want to do here is to find the right set of tools needed to take your experience to the next level.
    ]]>
    SuperTuxKart for Linux https://linuxhint.com/supertuxkart-for-linux/ Sat, 30 Sep 2017 18:40:04 +0000 https://linuxhint-com.zk153f8d-liquidwebsites.com/?p=19614 SuperTuxKart is a great title designed to bring you the Mario Kart experience free of charge on your Linux system. It is pretty challenging and fun to play, is designed to offer you a wide array of unique moments each time you play.  Before you get to play the game, you have to download it. Go to the game’s website and download the latest version, then install it. The game does receive regular updates, so you want to visit the site often to get the latest version.

    The main menu, features, and gameplay

    Right off the bat, you will see that the menu has multiple features for you to explore. You have the Story mode, singleplayer, multiplayer and add-ons.

    SuperTuxCart On Ice Screenshot 2

    The story mode is a series of races that connect to one another as a tournament, and upon completion, you will get to unlock a lot of cool stuff such as new races or new characters. The game does a very good job at adding in new characters and arenas all the time.   Once you start checking out the story mode, you will see that there are quite a lot of races you can go through. There are multiple difficulty options, so you may want to keep that in mind. It will be a very good idea to check out the races here, as there are plenty of them and you can unlock more all the time.

    Singleplayer is all about trying races individually. You can create your tournaments if you want, but trying races is a crucial aspect here.  Multiplayer will allow you and friends or random people from the web to play with one another.

    SuperTuxKart Underwater 2

    Customizing cars

    There’s not a lot of customizability in this game.  You can change colors a little bit, so you can make individual cars look a bit more interesting. It’s an interesting feature to have, and it can go a long way in this regard.

    Arena

    The arena mode is great. Although there aren’t a ton of maps for it, the idea is that you need to get powerups from the game world and eliminate opponents to win. This will be very interesting if you play with other people, and in fact, it’s the favorite game mode for people that want to play online.

    Racing tips

    What you should know about SuperTuxKart is the fact that you can indeed shoot powerups backward. You can fire them while you look backward. It will take a bit of trial and error, but it will allow you to do some very good shots without that much of a problem.

    A thing to note about the game is that it expects your hardware to be able to handle multiple simultaneous key presses, and if the hardware is not sophisticated enough these operations won’t work.  You can check the FAQ of the game to find more information about this issue and what hardware is recommended for the best experience.

    Also, keep in mind that as you race, you will be able to find various shortcuts and obtain new powerups. This is a crucial aspect of the SuperTuxKart gameplay because you do need shortcuts to make the game experience a faster and better one.

    SuperTuxKart Island 2

    As you play SuperTuxKart, you will appreciate the ability to restart the race. You can do that from the main menu, and it can work at any time. That being said, you will note the fact that SuperTuxKart also enables you to recover your car or reset it if necessary. This is a nice trick to have, and it does tend to work very well most of the time if you get stuck and want to come back to the race.

    Don’t bump into opponents. Try to avoid them as much as you can, as this can cause issues to your stability and you can end up losing the race.

    We recommend you to test the tracks on your own as a practice method. Learn all the ins and outs of each track so you can access each shortcut and get in front of the pack!

    SuperTuxKart is a fun game, and each new update brings in front some new cool ideas that you will like a lot. This is an exciting game for sure and one that manages to always bring you something cool and new to the table. If you are a fan of kart games in general, you don’t want to miss it!

    ]]>
    Battle for Wesnoth Tutorial https://linuxhint.com/battle-for-wesnoth/ Thu, 21 Sep 2017 05:00:29 +0000 https://linuxhint-com.zk153f8d-liquidwebsites.com/?p=19534 The Battle for Wesnoth is one of the most popular open source strategy games that you can play at this time. Not only has this game been in development for a very long time, but it has a stellar gameplay, lots of unique mechanics and it’s just a pleasure to explore the way you play it. There are lots of adventures to be had here, as well as plenty of enemies to battle and conquer!

    What should you know about The Battle for Wesnoth?

    This game has 3 areas, which include the northlands, the domain of the SouthWest Elves as well as the kingdom of Westnoth. Some regions like the kingdom are more civilized, while others like the northlands for example are full of orcs, barbarians and dwarves.

    Battle for Wesnoth

    As you play, you will be able to control various races and factions, but most of the time you get the ability to recruit units from other factions too. The campaign will most likely dictate what units you can recruit.

    What options do you have in the game?

    Right off the bat, as soon as you launch the game, you will have access to the tutorials. If you never played The Battle for Wesnoth, then this is the best place to start. It will let you know all the info you need about the game. Then you have the campaigns, which allow you to play a select set of scenarios and enjoy them.

    Battle for Wesnoth

    You are free to choose any difficulty level, usually it’s Easy, Medium or Hard. Sometimes, you will find some levels that have a Nightmare setting. Medium and Easy are perfect for beginners. The Battle for Wesnoth also allows you to play in multiplayer. This means you enjoy the experience while fighting with or against other people. It’s mostly suitable for those persons that already finished the campaign or which did play quite a lot of this game.

    Scenarios

    The game allows you to play separately, aside from the main missions and campaigns. If you want to do that, you will be able to face AI enemies that are ready to take you down. This is a nice experience to have, and it allows you to further explore your strategies. Again, you are free to select the desired difficulty level, according to your own skill. Most of the time, the simplest one will be the best as a whole.

    Battle for Wesnoth

    The game interface

    One of the things that you will love in The Battle for Wesnoth is that it offers you all the information you want right form the main interface. On the upper side of your screen, you get the menu button, the action button and the turn counter. It allows you to access all the visuals and features you want, but at the same time you can also opt for specific actions if you so desire.

    Battle Wesnoth

    Then you have access to resources, which you can use to buildup your city and create an army. Obviously, you do need to keep an eye on your gold and your housing. You also need to be certain that you don’t get over the highest troop amount, as that can be troublesome too.

    The idea here is to adapt to the situation as much as you can, in order to reach the very best experience. You can recruit a unit as soon as you start the game. You can see your location on the map in the bottom right of the screen. Make sure that you recruit units often, because the more you have, the higher the chances of defeating enemies.

    There are more than 17 campaigns to play through and new ones are added all the time. Then you also have scenarios that you can go through. Regardless of what mission you play, the idea here is that you do need as much gold as you can. Villages will give you 2 gold each, and you can also acquire some gold from battles. Try to play the best way you can and then you can acquire some really nice results as a whole.

    Controls

    The game plays mostly with the mouse, since you can left click to select or move an unit, the right click to access the context menu or cancel an action and you can also do a middle click in order to center on the pointer location. But you can also use CTRL and S to save the game, CTRL+O loads a game and you can zoom in or out the best way you can via the + and – keys.

    Battle for Wesnoth

    Strategies

    Playing The Battle for Wesnoth is not going to be a walk in the park. This is why we have a set of nice tips for you to check out:

    • Make sure that you avoid wasting units. Instead of sending units to sure death, bring them back to your base.
    • See the amount of moves your enemies can do and try to protect wounded units. This is very helpful if you want to protect your units against a potentially massive attack.
    • Always focus on keeping a defensive line. Defense matters a lot in this game, and you have to focus on it in order to maintain the best results.
    • Rotate troops when you have any other wounded troops behind them. This will help you cover the line. It’s a good idea to use this especially against archers.
    • Choose the right targets, some troops are going to kill enemies faster. And while there, use the terrain to your advantage to get some great results as a whole.
    • Some units like humans fight better during the day. Others are better during the night, especially the Chaos units. Use this info to your advantage.
    • Level up your units, as some of the campaign maps assume that you already have units which leveled up adequately.

    One thing is certain, playing The Battle for Wesnoth can be incredibly fun and at the same time it does test your strategic approach and tactical abilities. But the fact that this game runs flawlessly on Linux and you can play it free of charge is a very enticing thing to have. It really goes to show that the game is a delightful time for all strategy lovers. If you always wanted to play a great strategy game with tons of tactics and great gameplay, this is the one for you!

    ]]>