仕事で長い一日を過ごした後、システム管理者は少しのダウンタイムに値します。しかし、ダウンタイムでさえ、システム管理者のスキルを練習する機会になる可能性があります。たとえば、Ansibleプレイブックを作成して、リラックスして心を清めるのに役立つクラシックゲームをインストールしました。私のプレイブックを使用してAnsibleの使用を練習したり、独自のプレイブックを作成するためのインスピレーションとして使用したりできます。
LBreakoutHDは、Linux用に開発されたシンプルで楽しく中毒性のあるゲームです(したがって、最初は「L」)が、他のプラットフォームでも利用できるようになりました。 LBreakoutHDはLBreakout2のHDリメイクであり、それ自体が1970年代に開発されたクラシックなBreakoutのリメイクです。
ゲームのアイデアは、ボールを使用して画面上部のレンガを壊し、下部のパドルを使用してボールをバウンドさせてリダイレクトすることです。すべてのレンガを壊した後、レベルが上がり、ボールをパドルの下に落とすとゲームに負けます。
一部のレンガはサプライズボックスを隠しており、追加のポイントやパワー(パドルサイズを大きくしたり、ボールを爆発させたりするなど)を追加して楽しみを増やすことができます。パドルをフリーズしたり、サイズを小さくしたりするなど、ゲームの難易度を上げる悪いサプライズもあります。
LBreakoutHDはLGamesコレクションにあります。これらのゲームはMichaelSpeckによって開発され、オープンソースであり、GPLライセンスの下でリリースされています。
[とにかくターミナルエミュレータで生活しているのなら、そこにいる間少し楽しんでみませんか?システム管理者向けの5つのコマンドラインゲームをご覧ください。]
Ansibleを使用してゲームをインストールする
LinuxにLBreakoutHDをインストールするには、ソースコードからコンパイルする必要があります。 GCCコンパイラmake
も必要です 、およびSDL2開発ライブラリ。簡単にするために、Fedora34にインストールするために私が設計したこのAnsibleプレイブックを使用できます:
- name: Manages a local source install of lbreakouthd
hosts: localhost
gather_facts: yes
vars:
prefix_dir: "{{ ansible_env.HOME }}/.local/"
version: "1.0.8"
make_action: "install"
cleanup_tmp: yes
tasks:
- name: Ensure requirements in place
dnf:
name:
- SDL2
- SDL2_image
- SDL2_mixer
- SDL2_ttf
- SDL2-devel
- SDL2_ttf-devel
- SDL2_image-devel
- SDL2_mixer-devel
- make
- gcc
- gcc-c++
update_cache: yes
state: present
become: yes
- name: Create temporary directory
file:
path: /tmp/lbreakout
state: directory
mode: 0770
- name: Download and extract source code
unarchive:
src: "https://sourceforge.net/projects/lgames/files/lbreakouthd/lbreakouthd-{{ version }}.tar.gz"
dest: /tmp/lbreakout/
remote_src: yes
- name: Configure the build
command: ./configure --prefix={{ prefix_dir }}
args:
chdir: "/tmp/lbreakout/lbreakouthd-{{ version }}"
creates: "/tmp/lbreakout/lbreakouthd-{{ version }}/Makefile"
- name: Make game according to defined make_action install / uninstall
make:
chdir: "/tmp/lbreakout/lbreakouthd-{{ version }}"
target: "{{ make_action }}"
- name: Ensure temporary directory is deleted
file:
path: /tmp/lbreakout
state: absent
when: cleanup_tmp | bool
このプレイブックのインストールには依存関係が含まれています。一時ディレクトリを作成します。ソースをダウンロードして抽出します。 Ansible make
を使用して構成、コンパイル、インストールします ターゲットのinstall
を含むモジュール 。最後に、一時ディレクトリとその中のソースコードを削除して、システムをクリーンアップします。
次に、プレイブックを実行してゲームをインストールします。 ansible
を使用する オプション-K
依存関係のインストールに必要な特権昇格を有効にするには:
$ ansible-playbook -K lbreakout.yaml
BECOME password:
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'
PLAY [Manages a local source install of lbreakouthd] ************************
TASK [Gathering Facts] ******************************************************
ok: [localhost]
TASK [Ensure requirements in place] *****************************************
ok: [localhost]
TASK [Create temporary directory] *******************************************
changed: [localhost]
TASK [Download and extract source code] *************************************
changed: [localhost]
TASK [Configure the build] **************************************************
changed: [localhost]
TASK [Make game according to defined make_action install / uninstall] *******
changed: [localhost]
TASK [Ensure temporary directory is deleted] ********************************
changed: [localhost]
PLAY RECAP ******************************************************************
localhost: ok=7 changed=5 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
このプレイブックを他のディストリビューションで使用する場合は、タスクを更新してくださいEnsure requirements in place
ディストリビューションに正しいモジュール名とパッケージ名を使用します。デフォルトでは、このプレイブックはLBreakoutHDを.local
にインストールします 現在のユーザーのホームディレクトリの下にあるサブディレクトリ。変数prefix_dir
を変更することで更新できます 。システムディレクトリに設定する場合は、特権ユーザーでプレイブックを実行する必要があります。 make_action=uninstall
の設定など、他の変数を変更してプレイブックの動作を変更することもできます。 ゲームをアンインストールするか、cleanup_tmp=no
最後に一時ディレクトリを削除するのではなく、保存します。
ゲームをプレイする
インストールしたら、ディレクトリ$HOME/.local/bin
を確認します $PATH
にあります 、lbreakouthd
を実行してゲームを開始します 。インストールスクリプトは、$HOME/.local/share/applications
にゲームのショートカットを作成します 。システムがデスクトップファイルにこの場所を使用している場合は、デスクトップメニューを使用してゲームを起動できます。
ゲームが開始したら、新しいゲームを選択します 新しいゲームを開始するには、元のレベルを開始を選択します ゲームで設計されたレベルをプレイするか、カスタムレベルを開始 多数のユーザー提供のカスタムレベルから選択します。
これらのカスタムレベルのいくつかは挑戦的または非常に創造的であるため、これらのカスタムレベルはゲームにさらに楽しいものを追加します。
ゲームのアンインストール
ゲームをアンインストールするには、変数make_action=uninstall
を設定して、プレイブックを再実行します。 :
$ ansible-playbook -K lbreakout.yaml -e make_action=uninstall
プレイブックはインストールディレクトリからすべてのゲームファイルを削除しますが、保存されているゲームデータはすべて$HOME
の下に残ります。 ディレクトリはそのままです。
[システム管理者のスキルをテストしたいですか?今日、スキル評価を受けてください。 ]
楽しんでください
LBreakoutHDは楽しいゲームです。それはあなたがすぐにプレーを始めることを可能にするのに十分シンプルですが、それでも面白いのに十分挑戦的です。すべての力が何をするのか、そしてそれらがゲームにどのように影響するのかを理解するために少し学ぶことがあります。これらの同じ力は、プレイするたびにレベルを変更するため、ゲームのリプレイファクターに追加されます。
全体的に見て、これは懐かしさを感じさせる優れたゲームですが、優れたグラフィックとクールなサウンドを備えたモダンなゲームです。仕事の後に心をリフレッシュし、楽しみながらシステム管理者のスキルを練習するのは素晴らしいことです。