Game
Testing & Quality Assurance
emalgam
has emerged to be a trusted
partner for game industry.
emalgam helps extend capacity
of your in-house Quality
Assurance teams by providing
dedicated testing teams.
emalgam offers a wide range
of independent quality assurance
and testing services for
entertainment applications:
Game
play testing
-
Functionality
-
Rule adherence
-
Artificial intelligence
-
Single player (online
and offline)
-
Multi-player (online and
offline)
Multi-platform
capability
-
PC
-
Macintosh
-
NTSC and PAL
-
Handheld devices
-
Wireless devices
Online
and network testing
-
Multiple modalities
-
Packet examination and
prioritization
-
Timing
-
Wireless and wired environment
-
Security
Beta team management
-
Recruiting
-
Pre-screening
-
Authorizing
-
Tracking (personal data,
hardware data)
-
Communication
-
Forum and bug database
-
Professional verification
and formal bug write-ups
-
Troubleshooting
-
Gather feedback
-
Reporting
Compatibility
testing
-
Customized modular systems
-
Scalable number of combinations
-
Software compatibility
-
Operating Systems
-
Browsers
-
DirectX
-
Drivers
-
Third Party Software
(Media Player, WinDVD,
Flash, etc.)
-
Hardware compatibility
-
Video Cards
-
Sound Cards
-
Processors
-
RAM
-
Motherboards
-
DVD and CD ROMS
Console
certification testing
-
Compliance - NTSC/PAL
-
Microsoft – TCR
-
Sony – TRC
-
Nintendo – Lot
Check
-
Handhelds
-
Peripherals
Usability
testing
-
User viewpoint testing
-
User documentation testing
Localization
testing
-
Text translation
-
Text verification
-
Voice translation
-
Voice verification
-
Local naming conventions
-
User documentation checking
Design
consulting
-
Game play balancing recommendations
-
User interface recommendations
Defects
database management
-
Online bug reporting templates
-
Priority bug/issue reporting
-
Use of in-house and/or
client’s bug tracking
systems
Write to us:
Statistics
India is fast emerging as a key destination for game design & development.
AC Nielsen estimates Indian gaming market to hit $50 million in 2005.
Our Game Development
Business Unit specializes
in outsourced game production
services. We deliver high-quality
game production including
graphic design, character
development, programming,
mathematics, level design
and quality assurance/game
testing.
- Our
clients are large and
medium-size game companies
willing to increase their
production capacity, while
keeping costs under control.
We have established dedicated
teams for our clients
in India.
- We offer
offshore resources, technology
and capacity to optimize
game development
in all fields where outsourcing
can bring tangible benefits.
- Depending
on customer needs, we
assemble teams combining
the right skills and a
level of management adapted
to the complexity of the
project. For larger projects,
our model also lets us
dedicate onshore resources
to work alongside your
team, either simply as
a bridge to the offshore
team or as a temporary
staff complement.
- Alternatively,
we have the ability to
build dedicated Offshore
Game Development Center
for our larger customers
who would like to benefit
from our facilities in
India to establish and
host their own team.
- We want
emalgam to become the outsourced
production partner of
choice for leading game
developers and publishers.
Our
game development teams
are engaged for developing,
porting and testing games
across various platforms like
internet, PC, broadband/multi-user,
mobile phones, PDAs, handheld
gaming devices and consoles.
Write
to us:
Game Development Methodology
Story
Board
Building the storyboard
is an integral part of putting
together an animated feature.
The process provides not
only a visual interpretation
of the script, it also allows
designers in each area to
get a feel for what is being
presented on screen.
At Emalgam,
we follow a specific process
for story boarding which
is shown below

User
Interface Designing
At Emalgam, we first of
all understand the user
requirement and then developed
the objects and before developing
the complete User Interface,
we work with the prototype
of the interface to that
we can reduce the wastage
of resources in repetitive
work. We try and work in
iterative model on the prototype
so that we can come up with
User specific design in
short possible time and
resources.
Below is
the process of how we develop
the User Interface for games
at Emalgam:

Game
Programming
Once the requirements are
gathered and we have a well
defined user interface,
the programming for the
game takes place. Here also,
we try and follow the practice
of iterative development
so that redundancies are
discovered very early in
the life cycle of the project
and hence, no loss of time
and money occurs in the
repetitive work.
Code reviews
are conducted on an ongoing
basis. Typically, upon completion
of each module, its code
is reviewed to ensure that
coding is done according
to laid out guidelines and
that code is correct, readable,
clean and maintainable.
Backend
Development
This is the phase that runs
parallel to the programming
phase as, the backend development.
According to the programming
schedule and the requirement
the backend of the game
is developed.
The backend
development of the game
will include developing
a database to store the
scores of the users who
submit the score after playing
the game.
The database
will have data stored in
terms of the highest scorer
first. People scoring the
same score will be sorted
based on the other parameters
such as time, date of scoring
etc.
The game
will access the database
to display the results of
the highest scorers after
the user finishes the game
and submits the game. The
interface of the game will
show top 50 scorers of the
game till date and the user
score of the current users
if his/her score does not
appear in top 50 list (that
means the interface will
show 51 records at a time).
Game
Testing
Test Planning is done at
the onset of project in
project planning phase.
Test plan outlines the types
of test to be performed,
resources, tools and responsibilities
for test related activities.
For unit
testing, the developers,
themselves are made responsible
for the quality of the module
they are developing.
Integrated
Testing: During the integrated
testing the entire game
is deployed on the internal
test server for QA Testing.
Issues would be assigned
to the development team
and they would be resolved
by the team. QA Engineer
does a final verification
of resolved issues before
finally closing them.
Write to us:
Game
Development Infrastructure
Hardware
Infrastructure
- We have workstations for
Game & software development,
testing and support facilities.
- High-end workstations,
cards and infrastructure
for professional Multimedia
work.
Internet
Connectivity
We have a dedicated leased
line for all our development
facility supported by a
backup broadband cable link
incase the leased line fails.
All the facilities have
dedicated dialup terminals
in the offices incase of
extreme contingency.
Dedicated
Servers for application
Hosting, Testing and Client
presentation:
For websites and application
hosting, testing, client
presentation and for sensitive
data storage, we have co-location
servers with one of the
best data center in USA
having multiple OC3 connectivity
and all the latest Firewall
installed.
We have
an internal hosting server
on Real IP for our clients
to view the status of their
development work on production
servers at any phase of
their development cycle
thereby providing complete
transparency in our facility.
Apart from this we have
a rack of servers at our
development setup in India
with 16 independent IP with
Linux, NT, .Net, Java, ASP,
MySQL, MSSQL and Oracle
Support.
Accessibility
and Security
Depending upon the criticality
of the area and the services
within, different types
of physical and access restrictions
have been imposed within
the development centers
so that our clients can
be absolutely certain that
their data, systems and
processes and other confidential
information, including IPRs
(Intellectual Property Rights)
do not get circulated, inadvertently
or on purpose.
For certain
very sensitive projects
undertaken by Gateway, we
have implemented even stricter
security systems, including
isolation of the project
area from the rest of the
center, secured physical
access to the project area
and many more.
We have
implemented Safeboot Data
Security and Access Control
software in our facility,
which implements 1024 bit
encryption to confidential
and secured data of our
client, which is in production
and development servers
at our facility. It secured
data in removable media
as well as on the hard disks.
Safeboot also secures information
flow through our mails to
clients, which is one of
the best products in its
range.
We have
deployed electronic card
based access control systems.
Contingency
and Disaster Recovery :
The physical infrastructure
at all our development facilities
has been planned in such
a manner that practically
nothing has been left to
chance. All foreseeable
contingencies have been
taken into consideration
and consequently have been
planned for.
Write to us:
Mainstream
Focus
on the Player
Every player genuinely wants
to be the focal point in
the game and desires to
control its outcome. Games
don’t have to be easy
– they shouldn’t
be easy. The more difficult
a game is, the more is the
satisfaction of having completed
it.
A player
wants to feel that it’s
up to him or her to be able
to win or lose. This feeling
of achievement is packed
into virtually every game
– evident in all the
bestsellers. There are games
that heavily rely on a story
and the player is a central
figure in the story. In
such games, the story and
game move along simultaneously.
The concept of the game
is such that a player has
complete control over his
or her destiny in the game.
Keep
it simple
Simplicity is often underestimated.
A gamer doesn’t want
to read dozens and dozens
of documentation to be able
to start playing a game.
Just a few quick pointers
and perhaps a quick tutorial
at times, should serve the
purpose. Yes, advanced features
and functionalities should
be included but it’s
very important that a player
learns quickly how to play
the game. At least theplayer
should grasp the basics
within such time. If a game
fails to catch the player’s
attention and interest immediately,
it’ll probably end
up gathering dust in the
basement…
The design
of the interface and menus
play an important part.
We avoid incorporating bizarre
controls, for example -
the Fire button mapped to
the F key. In a 3D-Shooter
game, by and large, one
should utilize a similar
set of controls as other
games in the genre. The
menus should be simple and
easy to interpret. We’ve
reviewed a lot of games
where menus are made from
symbols and lacking any
text or tool tips. This
is most definitely not recommended
as a player tends to interpret
symbols in a subjective
manner – by mixing
symbols with text and/or
tool tips, the desired result
can be achieved.
Action
& Reaction
Action doesn’t necessarily
mean violence. Something
needs to be happening constantly
in a game, and when it does
happen, the player should
be able to notice it fully.
For example, killing an
opponent in a 3D Shooter
game should be a bloody
affair, building a police
station in a Strategy game
should decrease crime, killing
the opponent in an RPG should
generate an intermediate
victory and maybe, a few
spoils.
Background
Story
The story behind a game
is very important. If you
read any of the various
game development articles,
newsletters and magazines,
there is a definitive emphasis
on graphics and eye-candy.
Graphics are an integral
part of game development
but at times, could mean
very little if the story
is non-compelling. However,
this is not true if a game
tends to be a path-breaking
one. For example, Doom did
not have a very well conceptualized
story but it was still a
raging success simply because
gamers had never before
seen anything like it.
As a general
rule, the story is very
important – a gamer
wants to be a part of the
bigger picture. For example,
nearly all RPGs are powered
by invigorating storylines.
However, a good story doesn’t
necessarily mean a complex
story. A story should not
be over-complicated.
Graphics
Stunning graphics are an
integral part of the overall
game package. Graphics greatly
enhance gameplay and all
of the above factors. It
is meaningless to have,
for example a great storyline
and poor graphics. They
will cancel each other out.
Good graphics communicate
the overall game to the
player. Ideally, one should
make use of the latest and
state-of-the-art graphic
engines when required or
build a great graphics engine
from scratch when any of
the existing ones are insufficient
to serve the purpose.
Brilliant
graphics are an important
factor in any game ratings.
Along with gameplay, graphics
formulates the core of a
game.
Relation
to Player
A great game needs to incorporate
features that a gamer can
relate to, in one way or
the other. For example,
The Sims – the world’s
most successful game until
date has many facets to
it that players can relate
to in real life situations.
However, it is not essential
that all players relate
to the same thing.
For example,
an individual who’s
just seen a Sci-Fi movie
might want to search and
purchase a game that allows
him to fly a space-craft
or participate in a game
belonging to that genre.
Alternatively, a person
who’s a D&D and
medieval earth fan might
find characters such as
Orcs & Elves, fascinating
and hence go on to purchase
games that focus on this
period.
A game that
asks its players to solve
complex mathematical equations
will most likely, not be
popular since a very few
gamers would be able to
relate to it.
Sound
Yet another integral part
of a game is its sound.
Sound encompasses background
scores, voice-acting, character
reactions, FX, situational
music and the lot. For example,
in Baldur’s Gate II,
the background score is
situational and hence, very
interesting. The music changes
from the languid when conversations
take place, to the dramatic
when a battle is being waged.
The overall increase in
the tempo and style of music
greatly increases the overall
gameplay.
Write to us:
Flash
Gameplay,
as always is the main focus
for any game. Gamers are
now only too happy with
powerful and innovative
games that can be produced
with Adobe technologies
such as Flash (especially
) and Shockwave. This
presents a tremendous opportunity
to blend the addictiveness
of excellent gameplay with
fast online playability
and fast downloads.
Emalgam
is ideally positioned to
accomplish the above. By
combining our native Adobe
Game Development skills
with our gamer’s perspective
and experience, delivering
world-class bespoke solutions
is just the beginning of
the tasks that we can do.
Adobe’s
Flash brings to the world,
the various tools needed
to cater to games for internet
audiences. And Emalgam here
is to utilize the same.
Using Adobe based technologies
such as Flash and Shockwave,
we can:
Create rich,
engaging graphics in our
games and merge it in a
fluid manner with absorbing
gameplay.
Create environments online
to play and/or download
these games by optimizing
file sizes.
A playback device that can
interpret the download movies
Harnessing
Vector Graphics
Arguably, the most important
aspect of any game (besides
gameplay of course), is
excellent and compelling
graphics. Gamers want to
be transported to worlds
such the ones that can be
seen in Halo, EverQuest
and Myst. These worlds are,
gorgeous,to say the least.
Albeit the
restrictions posed by games
developed in Flash may not
exactly match up to Mainstream
game development, our designers
working in Photoshop, Illustrator,
Freehand, or Fireworks keep
working with the tools they
are comfortable with, knowing
that our work will be usable
in Flash and it’ll
still possible to create
engaging gameplay.
Flash truly
delivers broadcast-quality
images over the Internet.
Small
File Size
Inherently, bandwidth is
a consideration and an important
one at that. Flash addresses
this with compressed movies
that can be easily downloaded
even with dial-up connections.
Game
Components
A game consists of a number
of components: the core
Flash movie, sound clips,
video clips, code, additional
Flash movies, and graphics.
Packaging all of these components
into a single file makes
for a large movie or a large
game. We utilize Flash
to chunk out not only the
main movie, but also the
different media types for
your game. This means that
each file can be downloaded
on demand. The end result
is a more efficient game
designed for an online community.
Small
Plug-in
Much of the flash player’s
success depends on the gamer’s
small file size. It takes
less than a minute, even
over a dial-up connection
to DOWNLOAD flash player,
the plug-in required to
play flash games online
and is almost instantaneous
for broadband connections.
The incredible speed at
which the Flash 5 Player
has infiltrated internet
users is an apt case in
point for how easy it is
to download and install.
Even PDAs these days support
the Adobe flash player.
Also many versions of Windows
PocketPC have flash player
in-built, as a regular feature.
Game
Criteria
To churn out games, we divide
the entire process into
three parts:
Game
Design
Graphics
have to be created for the
game. This is the first
step. We use tools such
as Fireworks and Freehand
for the same as the UI between
various Adobe products
is largely consistent.
Game
Development
This is
done with Flash because
it has the features that
enables us to import graphics
created with Fireworks and
Freehand, and then put these
into a movie.
Game
Hosting
This is
the final stage. Just as
a PC game runs from a PC,
a flash enabled online game
would need to run from a
website. We use Dreamweaver
as the definitive tool
for this purpose, again
because the interface is
largely similar.
Write to us:
Java Games
Emalgam offers
its services in the development
of Java based solutions.
We make use of the Java
platform to develop a whole
range of comprehensive solutions
ranging from web based applications
to applications for mobile
phones.
Java is
an object oriented programming
language developed by Sun
Microsystems. Java derives
its syntax from C and C++
but does away with the complexities
of the base languages. All
Java applications are compiled
into byte code making them
portable across platforms.
A Java Virtual Machine (JVM)
is required to execute and
display java based applications.
FEATURES
OF JAVA
The popularity
of the Java platform is
due to the following features:
Portability:
Java programs are platform
independent. All code is
compiled into Byte code
which is interpreted by
the Java Virtual Machine.
Java applications can run
on any platform that has
a JVM installed.
Dynamic:
Java can dynamically load
classes at runtime. New
methods and properties can
be easily added to a class
without effecting existing
methods.
Object Oriented: Java is
object oriented i.e. Java
code can be broken down
into reusable components.
Secure:
Java includes a host of
security features that ensure
no unauthorized code can
access the main application.
The security mechanism in
Java also determines the
system resources that the
application can access on
the machine that it is running.
Robust:
Java is a robust programming
language that provides built-in
exception handling. Compile
time checks are performed
to detect errors.
SOLUTION
AREAS
Java technologies
can be used to develop a
wide variety of applications.
Some of them include the
following:
Web Based Solutions: Java
can be integrated with a
wide variety of databases
such as Oracle, SQL Server
etc to develop dynamic websites,
e-commerce applications
etc.
Gaming Solutions: We use
Java technologies to develop
interactive games for the
web as well as for mobile
phones.
We use J2ME to develop games
that are portable across
all mobile handsets. Our
range of mobile games include
word games, puzzle games,
card games, betting games
etc.
JAVA
TECHNOLOGIES
The various
Java technologies enable
the development of a whole
range of applications from
web based applications to
mobile/wireless applications.
At Emalgam, some of the
Java technologies that we
work on include the following:
JAVA
EE
Java Enterprise
Edition is a programming
language that can be used
to develop server side Java
applications. The foundation
of Java EE is based on Java
SE (standard edition). Over
and above the specifications
provided in java SE, Java
EE defines specifications
for web services, XML, RMI,
Enterprise JavaBeans, and
Servlets etc. Java EE enables
the creation of applications
based on a Service Oriented
Architecture.
A whole range of third party
tools (such as NetBeans
IDE, Ant, Jedit) to extend
the Java EE platform are
widely available.
J2ME
J2ME or
Java 2 Micro Edition is
a programming language that
makes use of Java to develop
applications for devices
such as cell phones, PDAs
and consumer electronic
devices such as pagers,
set top boxes etc. J2ME
has various components that
are required in order to
run applications. The components
are as follows:
Profiles:
J2ME has a set of profiles
that it uses to communicate
with the devices. Each profile
is has a set of APIs that
required for a particular
device. Each profile corresponds
to a device and a profile
meant for a device say cell
phones cannot be used on
other devices such as ovens.
Profiles contain the specifications
required to run the application
on the various devices.
Configuration:
In order to implement a
profile a configuration
has to be used. At present
2 types of profiles are
available with J2ME: Foundation
Profile (for consumer electronic
devices) that uses a CDC
(Connected Device Configuration)
to implement the profile
and Mobile Information Device
Profile (for cell phones
and other PDA devices) that
uses a CLDC (Connected Limited
Device Configuration) to
implement the profile.
JVM: In
order to run the applications
on the device a JVM is required
to be installed on it. The
specification of the JVM
required is provided in
the Profile for the device.
The Java Virtual Machine
is referred to as KVM.
J2ME applications can be
tested and emulated on a
PC. The applications can
then be uploaded to the
device on which it is to
run. Since J2ME runs on
devices with limited hardware
resources, many features/functionalities
available with the Java
standard edition will not
be available.
At Emalgam,
we make use of J2ME to develop
a whole range of solutions
for mobile phones and PDAs.
JSP
Java Server
Pages (JSP) is a Java technology
that can be used to developed
dynamic web enabled applications.
JSP is a server side scripting
language uses Java and markup
languages such as HTML or
XML to generate dynamic
and interactive web pages.
JSP code is compiled on
the server. When a client
requests for a JSP page,
the server parses and executes
the code and returns the
output as plain HTML to
the client's browser.
Elements
The Elements that make up
a JSP page include the following:
• Scripting
Elements: Scripting
elements are the code snippets
that are included in a JSP
page. All JSP scripting
elements have to be enclosed
within “<% and
%>” tags. JSP scripting
elements contain standard
Java commands and can also
contain HTML and XML tags.
•
Directives:
Directives provide the JSP
compiler with the basic
information about the page.
This information is used
in executing the page. The
various directives available
are: page (used to set the
page level attributes such
as content type, language
etc) , include (used to
specify the file which is
to be included within the
JSP page) and taglib (used
to specify the library of
custom tags that are required
to be used).
•
Objects and Scope:
In case a Java class has
to be included in the JSP
page, the Objects element
can be used. The scope element
can be used to set the scope
of the code,
•
Actions:
Action tags can be used
to specify the action that
is to be performed while
the JSP page is being executed.
JSP can
be used to create a host
of interactive database
driven applications ranging
from simple personal websites
to complex e-commerce and
other web applications.
A JSP Container installed
on the web server is responsible
for parsing and executing
a JSP page. A JSP Container
includes a set of servlets
that handle the JSP application.
Write to us:
Skill
Set
We have
emerged as the leading online
community for game development
of all levels.
Our expertise encases all
facets for writing all sort
of 2D and 3D Gaming programming
and applications development,
for instance by using the
latest 3D engines, scripting
languages and animation
techniques, our experienced
and qualified team deals
with all kind of requirements,
whether it be a beginner's
choice or an expert gaming
action.
Most importantly, we endeavor
to offer compelling solution
and eminent support to our
growing community of prospective
players and customers.
Java:
Java is an amazing platform
since it brings down development
cycles drastically, while
still supporting object-oriented
coding. Besides, J2EE authorizes
enterprise software initiatives
by providing a comprehensive
set of tools for the development
of cross-platform, vendor
neutral applications.
Most interesting of all,
code reusability is a focus
area of the J2EE. Reusability
leads to faster development,
lowered costs, portability,
and flexibility in the choice
of solutions.
Our development
team utilizes J2EE and Java
Applets to create powerful
and extensible gaming applications.
Java
3D:
The Java 3D API provides
a set of object-oriented
interfaces that support
a simple, high-level programming
model you can use to build,
render, and control the
behavior of 3D objects and
visual environments.
Using Java 3D API, we incorporate
high quality, scalable,
platform-independent 3D
graphics into applications
and applets based on Java
technology with ease.
We provide Industry-based
gaming solutions to help
clients drive their company
into real action.
C
Scripting:
C-Script is a simplified
version of C++, the language
used for professional programming.
Capabilities of this real
programming language with
multitasking, arrays, structs,
pointers, global and local
variables, string and vector
functions, and file I/O
when amalgamated with our
proven expertise, allows
us to develop innovative
gaming solution.
Microsoft
Visual C++
Creating characters, placing
effects, defining movement
paths and modeling actors
is all part of our game.
We efficiently use Microsoft
Visual C++ and its huge
library to import 3D formats,
levels, textures and 3D
models etc while developing
popular 2D, 3D games.
XML
XML has emerged as the standard
data format, and recognized
by all the platforms &
applications across the
world. XML is used in a
wide variety of applications,
especially due to its ability
to provide descriptions
and instructions along with
the information being conveyed,
and due to its platform
independence, which makes
it ideal for uses involving
inter-application communication,
data transmission, storage
searching, retrieval and
presentation.
With the
experience gained in working
with various gaming application,
we have the know-how to
customize our solutions
to suit the Customer's requirements.
Using XML, we innovatively
apply the technology to
unlock its potential and
develop thrilling game solutions.
Open
GL
A set of OpenSource (LGPL)
libraries permits programmers
to write games and other
real time interactive applications
that are 100% portable across
a wide range of hardware
and operating systems.
With our potent knowledge
and practical experience
in the open source platform,
we help clients to create
game systems of any complexity
with the highest possible
quality.
Write to us: