New Projects - Fresh from the Labs
When exploring these projects, sometimes I have to dig deep to find something that will arouse my audience, but other times, I'm instantly mesmerized and need discipline, so I don't run out of writing space! This is one of those times. According to the game's Web site:
0 A.D. (pronounced “zero ey-dee”) is a free, open-source, cross-platform real-time strategy (RTS) game of ancient warfare. In short, it is a historically based war/economy game that allows players to relive or rewrite the history of Western civilizations, focusing on the years between 500 B.C. and 500 A.D. The project is highly ambitious, involving state-of-the-art 3-D graphics, detailed artwork, sound and a flexible and powerful custom-built game engine.
The game has been in development by Wildfire Games (WFG), a group of volunteer, hobbyist game developers, since 2001....In short, we consider 0 A.D. an educational celebration of game development and ancient history.
At the time of this writing, the game was in an early testing version (Build: Jul 29 2010—7732-release). Tailored packages purportedly are available in various guises for Gentoo, Arch Linux, Debian, OpenSUSE, Fedora and Mandriva. If you can, trust me, grab a binary! A package was supposed to be available for Ubuntu on the PlayDeb.net Web site, but I got an error when I tried to download it. If you're unlucky like I was, source packages are available, and as that's the usual “distro-neutral” option, that's what I'll be running with here. This project is in its infancy, and compilation will be more streamlined in the future (possibly by the time this article is printed), but for now, strap yourselves in—this will be a long one!
As far as library requirements go, the documentation states you need the following:
GCC (at least 4.0, preferably 4.3).
NASM—there is a bug in NASM 2.06 on x86_64, so you might want to try a different version if you get errors.
wxWidgets (probably called wxgtk on Linux; optional, but required for the editor tools).
Gamin (FAM should work too; Linux only).
BFD (typically called something like binutils-dev; Linux only).
ENet 1.2.x (not 1.3.x).
Of course, this doesn't include the “-dev” libraries you'll need to compile it, and I needed to grab a few for my Kubuntu machine. The docs are helpful enough to recommend this command for Ubuntu or Debian (at least unstable and testing):
sudo apt-get install build-essential libsdl1.2-dev zlib1g-dev ↪libpng12-dev libjpeg62-dev libgamin-dev nasm ↪libwxgtk2.8-dev libboost-dev libboost-signals-dev ↪libboost-filesystem-dev libopenal-dev libalut-dev ↪libvorbis-dev libogg-dev libcrypto++-dev binutils-dev ↪libdevil-dev libenet-dev libxml2-dev
Sorry I don't have room for helping out with other distros, but the package names should at least give you a hint for your own system.
Once the packages are sorted, grab the latest tarball files from the Web site, specifically the 0ad build and data files. Now, this is important: copy the two files into the same folder, and extract them both there.
Next, open a terminal in the (0ad main directory)/build/workspaces/ folder, and run the command:
A series of files will download for several minutes. Once they're done, continue with the following commands:
$ cd gcc $ make $ cd ../../../binaries/system
Run the game with:
This game is still in its early alpha stage, so there's no single-player AI yet, but you can at least test the game mechanics. For now, you can play multiplayer over a LAN—at least I think so, I didn't get the chance. For now, fire up a single-player map and have a look around. I recommend the default choice to begin.
Once you're in the game screen, you're presented with a village that is your starting base with a number units (people). To scroll around your world, middle-click and drag your mouse. Left-click a unit or object to select it, and right-click on a map to tell where to go or what to do.
Units seem able to go beyond simply one class, like harvesting wood or combat. Instead, a unit seems to be capable of combat, wood harvesting, hunting, stone milling and so on. Hover your mouse over a piece of rock for instance, and the mouse pointer will change to a stone-working icon. Hold your mouse pointer over an enemy unit, and an attack sign will appear. Hold it over some livestock, and an icon of meat appears.
What becomes inescapable are the gorgeous graphics, with beautiful 3-D rendering, especially when you scroll around the map. In particular, I noticed some photographically mapped rocks, and trees are lush and green, rendered in a very tasteful and intricate 3-D. There's a distinct lack of sprites around the place to keep the game from feeling tacky.
Oceans move around dynamically with rippling water, beaches graduate from pebbles to sand and move gently on to the seemingly random but convincing beach vegetation, which itself graduates into thicker inland bush. Everything's just so organic. There's none of that blocky squared mapping that screams of a basic-level designer—you may as well be looking at a more convincing Google Earth!
The soundtrack is gentle and tastefully done, with the sort of soundloops that can be played over 100 times without becoming annoying, and without turning into bland muzak. Unit animations also are wonderfully smooth, with many frames per second and shadow rendering.
A scenario editor also is included for those who want to make their own levels. Look on-line to see galleries of some absolutely stunning efforts. But, that's for another day.
I'm not a real-time strategy fan, and I haven't been excited about an RTS game since Command and Conquer: Red Alert! However, this is the first RTS I'm actually enthused about, and I'll keep a close eye on it in the future. The graphics are easily on par with commercial efforts (and even better than quite a few). Hopefully, the gameplay dynamics are just as solid as development continues. My keen hope is that the free 0 A.D. one day dominates LAN parties and cafés, outdoing its commercial rivals and becoming a free software gaming classic.
John Knight is the New Projects columnist for Linux Journal.
Practical Task Scheduling Deployment
July 20, 2016 12:00 pm CDT
One of the best things about the UNIX environment (aside from being stable and efficient) is the vast array of software tools available to help you do your job. Traditionally, a UNIX tool does only one thing, but does that one thing very well. For example, grep is very easy to use and can search vast amounts of data quickly. The find tool can find a particular file or files based on all kinds of criteria. It's pretty easy to string these tools together to build even more powerful tools, such as a tool that finds all of the .log files in the /home directory and searches each one for a particular entry. This erector-set mentality allows UNIX system administrators to seem to always have the right tool for the job.
Cron traditionally has been considered another such a tool for job scheduling, but is it enough? This webinar considers that very question. The first part builds on a previous Geek Guide, Beyond Cron, and briefly describes how to know when it might be time to consider upgrading your job scheduling infrastructure. The second part presents an actual planning and implementation framework.
Join Linux Journal's Mike Diehl and Pat Cameron of Help Systems.
Free to Linux Journal readers.Register Now!
- SUSE LLC's SUSE Manager
- My +1 Sword of Productivity
- Managing Linux Using Puppet
- Non-Linux FOSS: Caffeine!
- Murat Yener and Onur Dundar's Expert Android Studio (Wrox)
- SuperTuxKart 0.9.2 Released
- Doing for User Space What We Did for Kernel Space
- Google's SwiftShader Released
- Parsing an RSS News Feed with a Bash Script
- SourceClear Open
With all the industry talk about the benefits of Linux on Power and all the performance advantages offered by its open architecture, you may be considering a move in that direction. If you are thinking about analytics, big data and cloud computing, you would be right to evaluate Power. The idea of using commodity x86 hardware and replacing it every three years is an outdated cost model. It doesn’t consider the total cost of ownership, and it doesn’t consider the advantage of real processing power, high-availability and multithreading like a demon.
This ebook takes a look at some of the practical applications of the Linux on Power platform and ways you might bring all the performance power of this open architecture to bear for your organization. There are no smoke and mirrors here—just hard, cold, empirical evidence provided by independent sources. I also consider some innovative ways Linux on Power will be used in the future.Get the Guide