Monday, December 22, 2008

Tuesday, September 9, 2008

Wild Pockets: Create your own 3D Games Online for Free

At the DEMOfall 08 conference today, Sim Ops Studios debuted a free tool for creating 3-D games online in a web browser, called Wild Pockets. It gives a casual users, the tools needed to build rich and interesting games online, and share them with family and friends.

The web based game creation tool allows you to create a game by dragging and dropping objects into a 3-D world editor. There is a large library of objects and environments to choose from, including some basic primitives to particle systems. There is also an option to import images in the editor from your computer or the web.The official press release states:

With an easy to use interface and innovative social features such as
collaborative game development, a user-generated digital marketplace,
and embed tags for viral game distribution, Wild Pockets gives game
creators of all levels everything they need to create the next
breakthrough game online.

Paul Preece, Founder/CEO of CasualCollective.com further added:

"The Wild Pockets platform provides fast and easy 3D content generation
capabilities and makes it simple to distribute the games created. The
platform could help us make the leap to next generation 3D casual
games."

While this promotes the concept of Open Source Gaming, there is still lots to cover to get to my Open Source Gaming paradise (will do a report on it soon). Sim Ops weren't the first to present this concept either. Microsoft presented PopFly earlier this year that uses its Silverlight technology, and even export it to number of social networks including Facebook. Electronic Arts also has a SimsCarnival site where you can create your own game. And then there is XNA Game Studios, which is a set of tools for more professional game developers to easily create games for Windows or Xbox 360.

Wild Pockets is much simpler though, and builds on the concept of Social Networking. You can start building a game and invite your friend to join you as you both colaborate simultaniously. The technology is not aimed at hardcore console gamers but rather casual players on the PC. When your game is finalized, you can embed it on any website. It requires a special plugin to be installed in order to run. The company is releasing its developer tools today and expects a full launch in early 2009.

Feel free to share your comments about this, and stick around as I write about my idea of Open Source Gaming.

Prism reflects Web Apps to Desktop

Prism for Firefox is an upcoming powerful extension that lets you create stand-alone web apps directly from Firefox. These applications run in their own process and have there own separate memory. This feature has been presented in other browsers as well, like Google Chrome, but Prism gives more flexibility even though it is still in the labs.

This blog post is written on Google Docs with Prism, and I had a very smooth experience even though I had a lot of other applications running in the background. Prism gives you the option to hide all the browser GUI components or choose the one you like (I preferred to have the Status Bar visible) and you can even customize the icon of the application.

Prism applications maintain their own session and are not bounded to Firefox. So you can sign in as a different user in the same service at the same time. This is a huge advantage if you want to check two Gmail accounts at the same time. You can be logged in to both simultaneously.

The normal browser context menu also disappears leaving you with the pretty basic edit options (Cut/Copy/Paste etc). This however didn't appeal to me as I wanted to use Ubiquity here. But since this is at a early development stage, we can hope to see that extensions would find their way into Prism. Note that prism does present an option to install addons but there aren't any available at this time.

As always, I would love to hear your thoughts about this new extension, which is pretty much an application on its own right.

Wednesday, September 3, 2008


UPDATE 3:


Browser available for download!

UPDATE 2:


Google Chrome to be available for public beta at September 2, 2008 19:00 UTC.

UPDATE:


As I have mentioned below, the browser is not available for download yet so please stop posting links to download it. Once its released I will post an update so its best to just stay tuned here.

I ran across many blogs and news sites a few hours ago that were claiming to give the newly announced Google Chrome browser (or a direct link to it) for free download. While I will not point out the exact sites, I will still warn readers that the official word on the browser will come on September 2, 2008. Apparently, the so called Google Chrome which is given for download is the Flock web browser with a theme applied to it.

Tuesday, August 26, 2008

How To: Setting up a Dedicated Counter Strike Server on the Internet

Ok, this is where a lot of people get intimidated. Every other day I run into someone who is asking this question, and has little luck finding a simple answer. So I decided to do my own series of guides that would help people make better servers. First of all you need to get the ingredients.

The Game
Method One
First things first, you will need a copy of the game which would be the core of the server. If you have access to BitTorrent or are on a internet connection which disconnects often then you should download this torrent. What you require from this is the base game, plus the Add-on Pack. You do not need to download all of the files in the torrent.

Method Two
Optionally (and I prefer this), if you have a fast internet connection, which would be 512k or greater, then you should download this utility, and follow these simple steps:

  1. Create a folder on your hard drive and rename it to anything you want, like "Counter-Strike Dedicated Server" or something.
  2. Extract the above RAR file anywhere on your computer and double click on the installer.exe included in it.
  3. When the installer asks for the installation directory, simply choose the folder you created in step 1.
  4. After a couple of moments, a console window will open up and it will start downloading the Half Life Server files and Counter Strike. It takes about 30 minutes to complete on a 1 Mbps connection.
  5. After the installation is complete, verify that the size of the folder you created is between 310-320 MB. If its lesser, than re-run the installer, it will download the remaining files.
    Note: It usually takes twice to fully download.

  6. After the download is complete, you need to patch your server to work without steam. For this download this file. This is only required in case you want to run a non-steam server.
  7. Unzip the above file and place it in the Server's directory replacing the original files.

Getting the Game Online
No matter what method you followed from above, you now have a Half-Life Dedicated Server with Counter Strike ready to run on non-steam clients. However, it is configured to run on LAN right now instead of the Internet. To make it work online:

  1. Go to the installation directory, and open the cstrike folder.
  2. Look for a file called server.cfg and open it with any text editor like Notepad. This file contains all your server settings including the server variables (termed cvars onwards). So it is a good idea to tweak it.
  3. Replace all the text in it with the following code:


     

//Server Name
hostname "ACN-Clan.tk (Beta CS 1.6)"


//Match Settings
mp_autokick 0
mp_autocrosshair 0
mp_autoteambalance 1
mp_buytime .5
mp_consistency 1
mp_c4timer 30
mp_fadetoblack 0
mp_falldamage 0
mp_flashlight 1
mp_forcecamera 3
mp_forcechasecam 2
mp_friendlyfire 0
mp_freezetime 2
mp_fraglimit 0
mp_hostagepenalty 3
mp_limitteams 1
mp_logfile 1
mp_logmessages 1
mp_logdetail 3
mp_maxrounds 0
mp_playerid 0
mp_roundtime 3
mp_startmoney 800
mp_timelimit 30
mp_tkpunish 1
mp_winlimit 0


//Server Settings
sv_contact "uzairsajid@yahoo.com"
sv_region 6
sv_voiceenable 0
sv_aim 0
sv_airaccelerate 10
sv_airmove 1
sv_allowdownload 1
sv_clienttrace 1.0
sv_clipmode 0
sv_allowupload 1
sv_cheats 0
sv_gravity 800
sv_lan 0
sv_maxrate 7000
sv_maxspeed 320
sv_maxupdaterate 101
sys_ticrate 10000
decalfrequency 60
pausable 0
log on
decalfrequency 60
edgefriction 2
host_framerate 0
rcon_password yourpassword


//Additional Scripts
exec listip.cfg
exec banned.cfg

//plugins
bullet_damage 1
amx_bulletwhizz 1
amx_bulletwhizz_dis 35



I'll explain all the important cvars in a while, but for now just bear with me

  1. Goto your HLDS directory (Its the one you created initially, where you installed the server files) and right-click on the HLDS.exe. Select Create Shortcut and then open up the shortcut's properties. Click the Shortcut tab above.
  2. Now add the following at the end of the text in the Target box:


     

-console -game cstrike -ip localhost -port 27015 +exec server.cfg +maxplayers 4 +map de_dust2


For example, if you're HLDS is in G:\HLDS, then the field should be:

"G:\HLDS\hlds.exe" -console -game cstrike -ip localhost -port 27015 +exec server.cfg +maxplayers 4 +map de_dust2

  • -console enables the console and starts the server.
  • -game cstrike tells the HLDS to set the server type to Counter-Strike. This however could be any Half-Life MOD.
  • localhost should be replaced by you're IP address. Its a good idea to have a Static IP for a dedicated server, or if you have access to a DNS and are registered then place the domain name their.
  • -port is the default port for the server. Note that its a good practice to also forward that port to accept incoming connections.
  • +exec server.cfg tells the HLDS to execute the server side file first. In this case, its the server.cfg configured earlier.
  • +maxplayers 4 sets the maximum number of players allowed to 4. Its good practice to setup low number of players on test servers.
  • +map de_dust2 tells the server to start dust2 map.


 

  1. After you are finished with this step, you can double click on the newly created shortcut to start your server. You can also add this shortcut to you're system startup to autmatically start up everytime your system reboots.
  2. Congrats. You're basic Internet enabled Counter-Strike dedicated server is now ready. Join the game now and frag

Also note that this is just a basic server (MetaMod, AdminMod and StatsMe are installed in the backend but we are not using them) without additional features. Do comment about any suggestions or difficulties you had doing this. Next, I would post how to setup AMX Mod X (The King of Half-Life Server Side Scripting), HL Guard, and other cool plug-ins. Hope all this could help.

Saturday, December 8, 2007

AT Project Requirements

Make a program that accepts a Regular Expression in the following format:

(+|-)?d+.d+(E(+|-)?d+.d+)?


 

The program should take the user expressions from a file and process it for output. Use the transition table to make the FA diagram. However the transition table doesn't fully represent the requirements. You have to use your own fuckin logics to implement the full table.

δ(0,d)=2

δ(0,+)=1

δ(0,-)=1

δ(2,d)=2

δ(4,d)=4

δ(1,d)=2

δ(2,.)=4

δ(0,.)=3

δ(1,.)=3

δ(3,.)=4


 

There is a bug in this implementation and you have to find it. The final submission should include:

  • A Program fulfilling the requirements
  • The Algorithm (Not the code, i.e. no syntax)
  • Program documentation
  • A document citing any difficulties encountered during the development
  • $100 check addressed to Uzair Sajid, Chairman UzEE Inc.

The above information is not 100% guaranteed as I also lost my instruction page. I think Shoaib took it.


 


 


 


 


 


 

Sunday, November 4, 2007

Operating Systems Services and Functions

Assignment Number 1

Submitted By

Uzair Sajid

01-133052-151

BCE-5


 

Submitted To

Shaftab Ahmed

Computer Science Department

Bahria University

                        

Operating System

An Operating System (OS) is the software that manages the sharing of the resources of a computer. An operating system processes system data and user input, and responds by allocating and managing tasks and internal system resources as a service to users and programs of the system. At the foundation of all system software, an operating system performs basic tasks such as controlling and allocating memory, prioritizing system requests, controlling input and output devices, facilitating networking and managing file systems. Major Operating Systems include Microsoft Windows, Sun Solaris, Mac OS, and the UNIX/Linux Family.

The Kernel

The kernel is the central component of most computer operating systems. Its responsibilities include managing the system's resources, and the communication between hardware and software components. As a basic component of an operating system, a kernel provides the lowest-level abstraction layer for the resources (especially memory, processors and I/O devices) that application software must control to perform its function. It typically makes these facilities available to application processes through inter-process communication mechanisms and system calls.

Functions and Services

The basic functions that an Operating System should provide include (but not limited to):

  • CPU and Process Management
  • Memory Management
  • I/O Management
  • Information And Storage Management
  • Network Management

Along with the fore mentioned functions, the operating system should also be able to provide the following basic services to the users:

  • User Interface
  • Program Execution
  • Security
  • Device Management
  • Resource Allocation and Accounting

The following paragraphs explain the above mentioned terms in a bit more detail.

CPU and Process Management

Every program running on a computer, be it a service or an application, is a process. As long as a von Neumann architecture is used to build computers, only one process per CPU can be run at a time. Older microcomputer Operating Systems such as MS-DOS did not attempt to bypass this limit, with the exception of interrupt processing, and only one process could be run under them. Mainframe operating systems have had multitasking capabilities since the early 1960s. Modern operating systems enable concurrent execution of many processes at once via multitasking even with one CPU. Process management is an operating system's way of dealing with running multiple processes. Since most computers contain one processor with one core, multitasking is done by simply switching processes quickly. Depending on the operating system, as more processes run, either each time slice will become smaller or there will be a longer delay before each process is given a chance to run. Process management involves computing and distributing CPU time as well as other resources. Most operating systems allow a process to be assigned a priority which affects its allocation of CPU time. Interactive operating systems also employ some level of feedback in which the task with which the user is working receives higher priority. Interrupt driven processes will normally run at a very high priority. In many systems there is a background process, such as the System Idle Process in Windows, which will run when no other process is waiting for the CPU.

Memory Management

Current computer architectures arrange the computer's memory in a hierarchical manner, starting from the fastest registers, CPU cache, random access memory and disk storage. An operating system's memory manager coordinates the use of these various types of memory by tracking which one is available, which is to be allocated or de-allocated and how to move data between them. This activity, usually referred to as virtual memory management, increases the amount of memory available for each process by making the disk storage seem like main memory. There is a speed penalty associated with using disks or other slower storage as memory.

Another important part of memory management is managing virtual addresses. If multiple processes are in memory at once, they must be prevented from interfering with each other's memory (unless there is an explicit request to utilize shared memory). This is achieved by having separate address spaces. Each process sees the whole virtual address space, typically from address 0 up to the maximum size of virtual memory, as uniquely assigned to it. The operating system maintains a page table that matches virtual addresses to physical addresses. These memory allocations are tracked so that when a process terminates, all memory used by that process can be made available for other processes.

The operating system can also write inactive memory pages to secondary storage. Under Microsoft Windows, this process is called paging.

I/O Management

Any Input/Output (I/O) devices present in the computer, such as keyboard, mouse, disk drives, printers, displays, etc require a significant amount of management. The Operating System allocates requests from applications to perform I/O to an appropriate device and provides convenient methods for using the device (typically abstracted to the point where the application does not need to know implementation details of the device). To perform useful functions, processes need access to the peripherals connected to the computer, which are controlled by the kernel through device drivers. For example, to show the user something on the screen, an application would make a request to the kernel, which would forward the request to its display driver, which is then responsible for actually plotting the character/pixel.

A kernel must maintain a list of available devices. This list may be known in advance (e.g. on an embedded system where the kernel will be rewritten if the available hardware changes), configured by the user (typical on older PCs and on systems that are not designed for personal use) or detected by the operating system at run time (normally called plug and play).

Information and Storage Management

All operating systems include support for a variety of file systems. Modern file systems comprise a hierarchy of directories. While the idea is conceptually similar across all general-purpose file systems, some differences in implementation exist. The file system is of particular interest. Obviously, programs need to read and write files and directories, create and delete them, search them, list file Information, permission management. File systems may provide journaling, which provides safe recovery in the event of a system crash. A journaled file system writes information twice: first to the journal, which is a log of file system operations, then to its proper place in the ordinary file system. In the event of a crash, the system can recover to a consistent state by replaying a portion of the journal. In contrast, non-journaled file systems typically need to be examined in their entirety by a utility such as fsck or chkdsk.

Network Management

Although not a core part of the operating system, the Network Manager has become essential in modern day computing. Most current operating systems are capable of using the TCP/IP networking protocols. This means that one system can appear on a network of the other and share resources such as files, printers, and scanners using either wired or wireless connections.

Many operating systems also support one or more vendor-specific legacy networking protocols as well, for example, SNA on IBM systems, DECnet on systems from Digital Equipment Corporation, and Microsoft-specific protocols on Windows. Specific protocols for specific tasks may also be supported such as NFS for file access.

User Interface

All operating systems need to provide an interface to communicate with the user. This could be a Command Line Interface or a Graphical User Interface.

A command line interface or CLI is a method of interacting with an operating system or software using a command line interpreter. This command line interpreter may be a text terminal, terminal emulator, or remote shell client. The concept of the CLI originated when teletype machines (TTY) were connected to computers in the 1950s, and offered results on demand, compared to 'batch' oriented mechanical punch card input technology. Dedicated text-based CRT terminals followed, with faster interaction and more information visible at one time, and then graphical terminals enriched the visual display of information. Currently personal computers encapsulate both functions in software.

A graphical user interface (GUI) is a type of user interface which allows people to interact with a computer and computer-controlled devices which employ graphical icons, visual indicators or special graphical elements called widgets, along with text, labels or text navigation to represent the information and actions available to a user. The actions are usually performed through direct manipulation of the graphical elements. Today, most modern operating systems contain GUIs. A few older operating systems tightly integrated the GUI to the kernel—for example, the original implementations of Microsoft Windows and Mac OS the Graphical subsystem was actually part of the operating system. More modern operating systems are modular, separating the graphics subsystem from the kernel (as is now done in Linux and Mac OS X) so that the graphics subsystem is not part of the OS at all.

Program Execution

The system must be able to load a program into memory and to run that program, end execution, either normally or abnormally (indicating an error). This involves locating the executable file on the disk or other secondary storage media and loading its content into the memory. These steps may further include processing by another parser or interpreter as in the case of .NET Platform, in which each program is compiled to MSIL (Microsoft Intermediate Language, now called CIL or Common Intermediate Language) and then parsed to assembly upon execution by the .NET JIT (Just In Time Compiler).

Security

There are two generic levels of security, internal and external. Internal security can be thought of as protecting the computer's resources from the programs concurrently running on the system. Most operating systems set programs running natively on the computer's processor, so the problem arises of how to stop these programs doing the same task and having the same privileges as the operating system (which is after all just a program too). Processors used for general purpose operating systems generally have a hardware concept of privilege. Generally less privileged programs are automatically blocked from using certain hardware instructions, such as those to read or write from external devices like disks. Instead, they have to ask the privileged program (operating system kernel) to read or write. The operating system therefore gets the chance to check the program's identity and allow or refuse the request.

Typically an operating system offers (or hosts) various services to other network computers and users. These services are usually provided through ports or numbered access points beyond the operating systems network address. Services include offerings such as file sharing, print services, email, web sites, and file transfer protocols (FTP), most of which can have compromised security. These threats are categorized under external threats and are usually dealt with using add-on software like firewalls and antivirus programs.

Device Management

To perform useful functions, processes need access to the peripherals connected to the computer, which are controlled by the kernel through device drivers. For example, to show the user something on the screen, an application would make a request to the kernel, which would forward the request to its display driver, which is then responsible for actually plotting the character/pixel.

In a plug and play system, a device manager first performs a scan on different hardware buses, such as Peripheral Component Interconnect (PCI) or Universal Serial Bus (USB), to detect installed devices, then searches for the appropriate drivers.

As device management is a very OS-specific topic, these drivers are handled differently by each kind of kernel design, but in every case, the kernel has to provide the I/O to allow drivers to physically access their devices through some port or memory location. Very important decisions have to be made when designing the device management system, as in some designs accesses may involve context switches, making the operation very CPU-intensive and easily causing a significant performance overhead.

Resource Allocation and Accounting

When multiple users or multiple jobs running are concurrently on the operating system, resources must be allocated to each of them. Some (such as CPU cycles, main memory, and file storage) may have special allocation code and rules, while others (such as I/O devices) may have general request and release code. To keep track of which users use how much and what kinds of computer resources, the OS should also implement an Accounting scheme.

Thursday, September 6, 2007

Official Matchups for September

You can find all the official matchups that are scheduled for September here. This list would be updated as more matches are set. Everyone should be checking this post periodically to check if they have a game coming up. Results would be appended as they are finalized. Exhibition matches don't have team restrictions, but every player must still take a unique team unless authorized by the original user. Exhibition matches are not ranked!

Date

Type

Home

Vs.

Away

Result

September 4, 2007

Official

DESTROYER

Vs.

SMS

SMS Wins by Resignation

September 4, 2007

Official

SMS

Vs.

Xubayr

Xubayr Wins by Conquest

September 4, 2007

Exhibition

masOoOo

Vs.

SMS

masOoOo wins by withdraw

September 4, 2007

Official

UzEE

Vs.

DESTROYER

Canceled

September 5, 2007

Official

UzEE

Vs.

Xubayr

Vs.

SMS

UzEE def SMS, Xub def UzEE

September 5, 2007

Practice

Sherkhan

Vs.

Xubayr

Sherkhan Wins by Conquest

September 5, 2007

Exhibition

UzEE (Huns)

Vs.

masOoOo(Persians)

masOoOo Wins by Conquest

September 5, 2007

Exhibition

Xubayr

Vs.

SMS

Vs.

masOoOo

Xub def masOoOo and SMS

September 12, 2007

Official

East Coast

Vs.

Crusaders

Pending


 

The list will be updated when, more matchups are fixed. Every game is to be started and completed within 48 hours (Except Weekends) after which it would be considered Draw. And both teams would get the points as per scoring policy.

Friday, August 31, 2007

Age of Empires: The Road to Victory

This is part one of the extensive gameplay report I have been assigned to do on Age of Empires. Even though my time for this game is up and I have already resigned from the Elite 4, I am still serving the community as a gameplay and strategy analyst. This report would deal with the gameplay methods and strategies of our team and the European Crusaders. This would be divided into two subtopics, strategy analysis and gameplay techniques we would utilize to implement those strategies. I would like to start by analyzing our own gameplay first with a detailed discussion of the outcome of our previous battles. I would list our weaknesses, potholes in defense and strategy, and if any, our strengths. Then I would proceed with the analysis of the opponent team in the same manner. After this all, I would enlist possible strategies we might take on in an attempt to do the impossible, which is to beat the other team. This introduction is intended to give you a guideline for the entire document. And the reason I am posting it as a blog post is only that we would be able to discuss it in more detail online.

Gameplay Analysis

The East Side BoyZ

First up is the East Side BoyZ. This team is composed of three mid-eastern (I detest that) civilizations; Saracens, Persians and Turks, with Persians being the better one in the imperial sagas, and Turks with their powerful offence. Saracens come into an advantage only when naval forces are required which is hardly the case we would be playing in the water. I would like to start by analyzing the Persians first.

The Persians

Before I say anything, here is a quick overview of the civilization and what I cover in this issue:

    • Cavalry Civilization
    • Start +50 wood, +50 food.
    • Town Centers, Dock 2X HPs; work rate +10% Feudal Age, +15% Castle Age, +20% Imperial Age.
    • Team Bonus: Knights +2 attack vs. archers
    • Unique Unit: The War Elephant:  A powerful, but expensive elephant trained in warfare.
    • Extra Starting Resources
    • Super Town Center
    • Super Docks
    • War Elephant
  • Pros and Cons
    • Generic Strategy
    • Sarmad's Strategy
    • Potholes
    • Key Improvements
    • Team Strategy
    • A few pages out of the history

Persians in Gameplay

The Persians get a good early game bonus and some very nice progressive bonuses as they advance through the ages. Let's go over the bonuses.

Extra Starting Resources: Persian players begin the game with 75 extra wood and 75 extra food. With this bonus, the Persians can spend more time exploring or use it to get a jump on their competition by building more houses or villagers than the other player's can afford in the early game. This means you can build two more houses and one more villager than other civilizations right off the bat.

Super Town Center: The Persian town center has double hit points. In addition, it works faster, producing villagers faster than other civilizations' town centers. In the Dark Age, it provides no bonus. But in the Feudal Age, it builds 10 percent faster; in the Castle Age, it builds 15 percent faster; and in the Imperial Age, it builds 20 percent faster. The hit point bonus makes the Persian town center a little more resilient to early rushes, and the faster production means you can really crank out villagers at a fast rate. In the later ages, if you do suffer a setback, you can rebuild your work force faster than other civilizations.

Super Docks: Persian docks have double hit points and produce ships at progressively faster speeds. In the Dark Ages, there is no speed bonus, but in the Feudal Age, the dock works 10 percent faster; in the Castle Age, it works 15 percent faster; and in the Imperial Age, it works 20 percent faster. With this dock, Persia can quickly rule the seas, putting out more boats than its rivals. In the Feudal Age, it can also start trying to squeeze out fishing ships for a food boost.

Expert Opinion: Here is what designer Greg Street has to say about all the Persian bonuses. "Persians are a lot of fun in the first few minutes of the game because their extra resources give them a great deal of versatility. You can afford to explore a bit more before laying down that first mill or lumber camp or switch to a fishing ship strategy earlier. Fishing ships are not quite as effective as they were in Rise of Rome; due to their cost and build time, but a Persian player can offset this bonus a bit. The superior town center and dock have no effect in the first age, but do let you quickly ramp up to your full villager or fishing ship component in later ages. You can also recover from an attack quickly, provided you haven't blown all your resources on elephants."

War Elephant: The War Elephant is the Persian unique unit. The designers realize that the Persian elephant wasn't used in the time frame encapsulated in Age of Kings, but they are making an exception to include this powerful attack beast.

This is what Greg Street had to say, "This is one of those areas where fun wins out over historical accuracy. When we were first coming up with unique units for all the different civilizations, a lot of the units we came up with were fairly indistinguishable. A unique unit needs to be truly unique; not only should it look like nothing else, but it should play like nothing else in the game. Unique units are not the same as super units, like the paladin and arbalest. The Briton longbowman grants ability to his civilization, in this case absurd range, that no other civilization can match. Up until the point where we gave the Persians the elephant, there was no expensive but extremely powerful unit in the game except for the Teutonic knight. While it is true that Persia did not use war elephants much past the time period of the AOK Dark Age, once you see an army of elephants stride boldly into an enemy town, it is pretty easy to forgive the anachronism. Elephants elicit fear like few other units."

The elephant is available in the third age and can be recruited at the castle. As a basic unit, the war elephant is a slow but powerful unit. It has a lot of armor, a huge amount of hit points, and does a massive amount of damage. However, it costs a great amount of resources to make. It is strong against cavalry, swordsmen, crossbowmen, and is especially good at tearing down buildings. It is vulnerable to monks, pikemen, and cavalry archers. The upgrades to the elephant include upgrades to attack, armor, and speed. In addition, the Imperial Age upgrade to the war elephant gives the unit overall increase in hit points and armor and also gives the unit trample damage to all adjacent units.

Greg Street further comments on the war elephant, saying, "I almost never send my elephants out without three critical technologies: husbandry, faith, and upgrading the elephants to elite. Husbandry increases the speed of cavalry, including elephants. Faith makes your units more resistant to conversion - always a problem when sending expensive, slow units against an enemy. Upgrading the elephants to elite gives them the trample damage similar to that of Rise of Rome's elephants. War elephants can destroy most units and buildings with relative impunity. They have so many hit points and do so much damage, that even if an enemy can bring down your pachyderms; he can't defeat them all quickly enough before you have leveled his barracks, stable, and castle. Elephants are truly only weak to pikemen (who get bonus damage vs. elephants) and monks. I have also seen paladins, throwing axemen, and longbowmen defeat a horde of elephants if managed correctly. However, it can be quite difficult to produce a horde of elephants because they are so expensive. If an enemy lets you make 30 or 40 of them, he probably deserves what he is about to receive."

The Good, the Bad, and the Ugly

The Persians seem like a powerful civilization. Although historically, there is some question as to how they rate among the Age of Kings civilizations and even which Persia is being represented (the third- to seventh-century ones or the seventh- to 12-century ones?). However, the civilization in Age II seems to be created specifically to be a contender in gameplay. The Persians are above average in the early game, with their wood and food bonus, and become a greater force later in the game, with faster working docks and town centers and the mammoth war elephant unit. In addition, the Persians excel on either land maps or naval maps. The docks bonus really helps the Persians crank out ships. In addition, they have a good technology tree that lets them build a good range of cavalry, archers, siege weapons, and ships.

Unfortunately, the Persians aren't perfect. Their elephants are terribly expensive. And without the elephants, the Persians suffer in ground combat, with a lack of good infantry units. Moreover, they don't get the final upgrades to defensive structures like towers or walls. The Persians are vulnerable to an early offensive with quick attacking units like light cavalry and horse archers. In addition, the elephants are vulnerable to the prayers of monks or the long pole-arms of the pikemen. So there you have it, Age of Empire fans. Along with the Chinese and Japanese, the Persians make a triumphant return to Age of Empires II. History buffs can debate whether they truly belong with the other medieval civilizations of Age of Kings, but gameplay-wise, the Persians can put up a fight to all comers who challenge their right to be counted among the 13 civilizations in this Age sequel. Come back in two weeks when we unveil the Goths.

SMS: As a Persian

Well after giving an overview of the entire Persian civilization, I would like discuss Sarmad's gameplay technique, if there was any. But even before that, I would like to document how a Persian should play if he knows his civilization well. Keep in mind this is a general gameplay strategy for any generic game. It would be most useful in a Deathmatch tough but still applicable in other game types, including speeders like Score or Time limit games.

Generic Strategy: Well the Persians get a flying start in the game. With a +50 food and wood in stock and a Super Town Center, they can really get a head start in most scenarios, though they still are pretty week to attempt a Rush, especially of the Feudal flavor. Since they are a cavalry civilization, they don't get a good infantry. In fact there initial defense may be week until they hit feudal age and get walls and towers. The common opinion is that Persians are quite weak in defense because they don't have fortified walls or strong towers. This is true to some extent, they are week in defense but that is because they were never intended to go into defense. It is a total offence civilization, and in fact they equally stack up to any other civilization till castle age. Only the difference starts to show when they are getting towards the end of the castle age and into the imperial age, but by then, they are able to train one of the most powerful units in the game. And all they really need to do after that is to gather food to feed those mammoths and that's pretty much it. So, summarizing it all, the Persians should keep their heads low in a long running game until they are capable of training elephants in numbers. And they should be biased towards food and gold more than stone. In fact in team based games, they should tribute excessive stone to a civilization that can better utilize it, like the Turks on their bombard towers. The only time to go offensive would be when they have at least 25-30 elephants ready backed by husbandry, faith and mahouts is applied and they have been certified as elite. After that, there is pretty much no stopping these monsters.

Sarmad's Strategy: Well, I hate to say it, but Sarmad's current strategy, which he has used till now, has pretty much been in the opposite direction. He tries to fortify himself and remains fully defensive even though he has the potential to go offensive. This, I am afraid has been one of the core causes of most defeats. His other problems include that he is easily intimidated and therefore bullied into giving up his resources which he should be fighting for. He also always seems ready to tribute to allies if he has even a little more than the required stockpile figures. He does go offensive but only if he sees his allies going offensive. He has also been noted to resort to diplomatic settlements so that he may not be attacked until post imperial which in most games is too late.

Potholes: Well, I think I already mentioned enough potholes there but I guess I still have to mention more. Well in his current strategy, the only think that seams to work is survival to near finish of the game, that is, he is usually successful in securing his safety till his allies are buttered and there is no one left for the enemy to kill. Plus he is also suspected to have made alliances with the other side secretly to ensure his safety. On top of that giving up his rights on his resources leaves him pretty much cornered and therefore even though, he survives to the end, he is defeated the moment he starts the game.

Key Improvements: Well the best thing would be to scrap the entire current strategy and go for a new one. I would recommend focusing on the basic needs than the desires, that is, aim to jump ages as quickly as possible to get to the late castle/imperial sage to unleash his wrath upon the northern invaders. Another benefit would be to keep as low a profile as possible, by not getting to be the center of attention and avoid trouble. This still doesn't mean that he should give up his own rights. The proper way to do that is to fortify a small area until elephants are available. Since Persians have Super Town Centers and Super Docks, building villagers and ships is a lot faster than other civilizations. Fishing ships should be a main focus in water based games, since food is the prime ingredient for the mammoths. And finally, know when to go offensive.

Team Strategy: I am just giving a public interface for the team here not a full coverage of the strategy, just the bare inputs and outputs required. Well in early stages of the game, the Persian should be looking forward to inputs a lot more, because frankly, he needs protection until he gets the war elephants. So he his team mates should always keep extra units around for his protection or should permanently assign some units at his base. It can also go in the opposite way though, the Persian can garrison his units in an ally's camp and sit under fortified walls until he thinks ready, but this is still not recommended. I still urge that after an initial protection, the Persian should be able to go on his own. He should have about 5-6 castles around for team based matches to generate more eles in parallel, so that way he would be able to produce 6 elephants at the time of one. But that would also be heavy on the pocket. He should not bother about towers and should let the allies take care of things like that. In the end the only concern should be to lay low until he can fully unleash his wrath.

A few pages from the history: Well my memories of the past games are vague and I don't remember a lot. But I will still document what I remember. As far is the subject of my most successful games with Persian allies, it goes back to the days of the first semester about two year from today. Back then, elite mammoths backed by bangin' bombards were the only thing needed to wet Xubayr's missionaries' pants, not to mention his. But those days are long gone but still I can remember a few games in which this strategy has worked and we were able to defeat or nearly able to defeat the opposition. And that includes Sherkhan, Liquid Snake, and though his name is not worth mentioning here, Ali. In a more recent encounter, actually about at the time of writing, I was able to defeat a team of a Byzantine and Teutonic foe with a Persian ally at moderate difficulty. He was also shy at first but after seeing my bombards into action, he also decided to join in and sent about 10 elite beef bags into the battle. Though there assistance was not required as I already had an army of 173 with 20 bombards, 83 cavalry, 22 infantry, 38 cavalry archers and 10 monks, plus a couple of villagers to go around to set up castles and towers on the fly and to fix up the bombards between battles. Well that is almost pretty much I still remember while having a Persian ally.


 

And this concludes today's episode of the Age of Empires: The Road to Victory. Stay in touch for the next installment. We will be analyzing Xubayr MA and his gameplay strategies (I know it sounds boring but, stick around). And since I am around, things are bound to get more interesting then they usually are.

© 2007, UzEE Inc. All rights reserved.

All names and references are either taken from GFDL compliant sources or are taken with prior consent of the property owner.

This document cites various facts and findings revealed by Gamespot.com.

Tuesday, August 28, 2007

Finally! 20 Percent

When I hit 10 Percent of level 20, I thought I would post my next entry in the blog when I hit 20. I thought it would be like a week or so at max, but guess what; it took me 1 month and 4 days to just advance 10 percent of Level 20. 1 month and 4 days! I never even imagined that things would be so slow, I mean at this rate, I would hit level 21 well into 2008. Maybe I will hold the record of slowest out of Level 20 then. I know this is supposed be the Dead Level but this is practically extinct. Everyday I only see an increment of .30-.50% with more bias towards the lower limit. I guess I should forget about ever going beyond this level because I think its here to stay for good. Just look at these figures:

  • Hit Level 20: July 7th, 2007.
  • Reach 10%: July 24th, 2007. That makes about 17 days. I thought this was too slow, but…
  • Reach 20%: August 28th, 2007. This makes 1 month and 4 days. And that makes 1 month and 21 days for level 20 in total.

At this rate, I can only predict to hit 30% in about 2 months, and maybe, if I am lucky, I would advance to level 21 by next Christmas. In other news, my vacations would be coming to an end in about 15 days and it would be back to the university and that boring work routine. I really hate this time of the year and ironically, my birthday also comes round about that time. Which reminds me that my Pie is also gone, I hope my turkey didn't come back and stole it? But I will solve that mystery later because Gamespot is causing a lot of problems these days. I think that the site is now unfit for use on dial-up, so I would only look at that case when I am back in the university on high bandwidth servers. Until then I can only hope to get out of this nightmare that people call level 20.