JSON-GLib is a library providing serialization and deserialization support
for the JavaScript Object Notation (JSON) format described by RFC 4627. JSON is:
a lightweight data-interchange format. It is easy for humans to read and write.
It is easy for machines to parse and generate. It is based on a subset of the
JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999.
JSON is a text format that is completely language independent but uses
conventions that are familiar to programmers of the C-family of languages,
including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These
properties make JSON an ideal data-interchange language. -- From Introducing
JSON
Many high-level languages already provide native modules for parsing, generating
and manipulating JSON data streams. JSON-GLib is a C library based on GLib and
released under the terms of the GNU Lesser General Public License version 2.1.
It provides a parser and a generator GObject classes and various wrappers for
the complex data types employed by JSON, such as arrays and objects.
JSON-GLib uses GLib native data types and the generic value container GValue
for ease of development. It also provides integration with the GObject classes
for direct serialization into, and deserialization from, JSON data streams.
Method modifiers are a powerful feature from the CLOS (Common Lisp Object
System) world.
In its most basic form, a method modifier is just a method that calls
$self->SUPER::foo(@_). I for one have trouble remembering that exact
invocation, so my classes seldom re-dispatch to their base classes. Very bad!
Class::Method::Modifiers provides three modifiers: before, around, and after.
before and after are run just before and after the method they modify, but can
not really affect that original method. around is run in place of the original
method, with a hook to easily call that original method.
One clear benefit of using Class::Method::Modifiers is that you can define
multiple modifiers in a single namespace. These separate modifiers don't need
to know about each other. This makes top-down design easy. Have a base class
that provides the skeleton methods of each operation, and have plugins modify
those methods to flesh out the specifics.
In short, Class::Method::Modifiers solves the problem of making sure you call
$self->SUPER::foo(@_), and provides a cleaner interface for it.
File::NCopy::copy copies files to directories, or a single file to
another file. You can also use a reference to a file handle if you wish
when doing a file to file copy. The functionality is very similar to
cp. If the argument is a directory to directory copy and the recursive
flag is set then it is done recursively like cp -R. In fact it behaves
like cp on Unix for the most part.
If called in array context, an array of successful copies is returned,
otherwise the number of successful copies is returned. If passed a file
handle, it's difficult to make sure the file we are copying isn't the
same that we are copying to, since by opening the file in write mode it
gets pooched. To avoid this use file names instead, if at all possible,
especially for the to file. If passed a file handle, it is not closed
when copy returns, files opened by copy are closed.
DJBDNS is a collection of Domain Name System tools. It includes
several components:
* The dnscache program is a local DNS cache. It accepts recursive DNS
queries from local clients such as web browsers. It collects
responses from remote DNS servers.
* The tinydns program is a fast, UDP-only DNS server. It makes local
DNS information available to the Internet.
* The pickdns program is a load-balancing DNS server. It points
clients to a dynamic selection of IP addresses.
* The walldns program is a reverse DNS wall. It provides matching
reverse and forward records while hiding local host information.
* The dns library handles outgoing and incoming DNS packets. It can be
used by clients such as web browsers to look up host addresses, host
names, MX records, etc. It supports asynchronous resolution.
* The dnsfilter program is a parallel IP-address-to-host-name
converter.
* The dnsip, dnsipq, dnsname, dnstxt, and dnsmx programs are simple
command-line interfaces to DNS.
* The dnsq and dnstrace programs are DNS debugging tools.
Documentation is at the website below,
Nexuiz is a fast-paced, chaotic, and intense multiplayer first person
shooter, focused on providing basic, old style deathmatch.
Nexuiz is built on the power of the Darkplaces engine, which is a heavily
modified version of the original Quake. Darkplaces features realtime
lighting and stencil shadows, bumpmapping, gloss, bloom, and totally
rewritten network code that supports up to 64 players on a single server.
While quality gameplay was our primary goal, its graphics technology and
artwork allows the game to compete with the current quality of commercial
games.
Any online deathmatch fan will instantly feel at home with Nexuiz' weapons
and movement style. The fast server browser and quick loading time allows
you to jump right into a game at a moments notice and play a quick game.
Now it also comes with community map pack compiled by Strahlemann. It
includes 35 maps, and a campaign mode for the user to fight through. The
map pack includes Quake3 community maps, Nexuiz community maps, and some
new maps from Nexuiz developers.
AstroMenace is a brilliant 3d scroll-shooter allowing you to feel the adrenalin
rush of a fierce space battle against relentless swarms of alien invaders.
Immerse into a decisive battle against tons of cunning foes, face the
terrifying bosses and protect your homeland throughout 15 diverse levels of
the game. The hardcore gameplay of AstroMenace, packed with pure non-stop
action, will become a full scale test for your basic instinct of survival.
AstroMenace shines with stunning special effects which in combination with
superb 3d graphics guarantee that the game will feast the eyes of even most
experienced arcade players. The quality of visuals ensures that the
demonstration of your superior power and new weaponry will look really
impressive and awesome, so the destruction of foes is a truly amazing sight.
The game provides a wide variety of armaments and weapon upgrades for
discharging the retributive wrath upon the hordes of enemies, besides it has
a great number of improvements for enhancing the defensive abilities of your
spaceship. Collect money during the combat and invest them into turning your
spaceship into an ultimate weapon of mass destruction.
Many people have this experience: You sit before a gambling table. You keep
placing the bet. You know the Goddess will finally smile at you. You just
don't know when. You have only to wait. As the time goes by, the bets in
your hand become fewer and fewer. You feel the time goes slower and slower.
This lengthy waiting process become painfully long, like a train running
straightforwardly into hell. You start feeling your whole life is a failure,
as the jackpot never comes...
But, hey, why so painfully waiting? The Goddess will finally smile at you,
right? So, why not put this painly waiting process to a computer program?
Yes. This is the whole idea, the greatest invention in the century:: An
automatic gambler! There is no secret. It is simple brute force. It
never-endingly runs toward the final jackpot. You can go for other business:
sleep, eat, work. When you finally came back you wins. With it, the hell of
gambling is history!
Remember, that the computer is never affected by emotion, luck, everything.
It never feel anxious or depress. It simply, faithfully, determinedly runs
the probability until the jackpot. As you know, the anxiety and depression
is the enemy of the games, while a simple, faithful and determined mind is
the only path to the jackpot. This makes computer a perfect candidate as a
gambler than an ordinary human.
This is XBattle by Greg Lesher, based on the original by Steve Lehar released
in 1991, and including certain enhancements, modifications, and bug fixes
suggested by a number of contributors from all over the world.
XBattle is a concurrent multi-player game which combines elements of strategy
with arcade-like action to capture a wide range of military scenarios.
The game is based on X Windows, which you must have installed to run xbattle.
Opponents play from separate displays, with commands being executed concurrently
-- the players do not take "turns", but rather they all issue their commands
simultaneously. There can be any number of players, with each player assigned
to a specific team, indicated by marker colors. The game board is a matrix
of cells (square, hexes, etc.) that can be occupied by colored troops,
with the goal of the game being to eliminate the enemy from the board by
attacking cells occupied by enemy troops. A wide variety of command line options
(and previously configured game files) provide an abundance of different
scenarios and gaming environments.
If you have never used xbattle before, read the introduction on the xbattle Web
site. To get the feel of the game, you can run the "tutorial1" and "tutorial2"
scripts supplied with the game. These start a series of small example games that
you can play around with to learn the various options available with the game.
From The README:
Xblackjack is a MOTIF/OLIT based tool constructed to get you ready for the
casino. It was inspired by a book called "Beat the Dealer" by Edward O.
Thorp, Ph.D. of UCLA. A number of important statistics are maintained for
display, and used by the program to implement Thorp's "Complete Point System"
(high-low system).
Beginners can learn a basic strategy which doesn't require counting. The
best strategy employs a simple card counting technique which can be used to
distinguish favorable situations. Avid players can learn to compute Thorp's
high-low index, which takes the number of unseen cards into account.
The index is used by the program to suggest a bet, indicate when you should
buy insurance, and whether you should stand or hit, etc. You can test the
strategy using a slider to control "autoplay mode". Pressing the message
button below the playing area provides hints; the current count, index
and strategy table are revealed.
Cal3D is a skeletal based 3D character animation library written in C++
in a way that is both platform-independent and graphics API-independent.
It was originally designed to be used in a 3D client for Worldforge, but
evolved into a stand-alone product which can be used in many different
kinds of projects.
Cal3D's essentials can be boiled down to 2 parts: the C++ library and
the exporter. The exporter is what you would use to take your characters
(built in a 3D modeling package) and create the Cal3D-format files that
the library knows how to load. The exporters are actually plug-ins for
3D modeling packages. This allows 3D artists to use the modeling tools
that they're already comfortable with.
The C++ library is what you would actually use in your application,
whether it's a game or a VR application. The library provides methods to
load your exported files, build characters, run animations, and access
the data necessary to render them with 3D graphics.