SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
B-Tech. Project Report
Shirish Jadav
Dhirubhai Ambani Institute of Information and Communication Technology, Gandhinagar
201001162@daiict.ac.in
Supervisor
Prof. Gautam Dutta
Off-Campus Supervisor
Abhijeet Goel
Aspirations, NDBI, NID Paldi, Ahmedabad
Kavina Patel
Transpose, CIIE, IIM, Ahmedabad
Abstract – This document highlights the projects done under my
capacity as the intern game developer and hardware design
engineer at Aspirations and Transpose respectively.
Keywords – game developer, hardware design, Aspirations,
Transpose
I. INTRODUCTION
This document is the summary of my B-Tech. project
undertaken in eighth Semester. It’s about the exploration of
online gaming development and testing of its features.
Aspirations is a startup by Abhijeet Goel incubated at NDBI-
Ahmadabad which is involved in development of games for
multiple platforms. My work at Aspirations revolved around
testing cloud storages API, online gaming room creation
testing and basic camera motions and screen changes.
Transpose is a startup comprising of a group of 5 people from
CEPT. They have a Idea of traffic analysis for improving
infrastructure setup in urban areas. For the projects at
Transpose, I was a prototype maker. My work was to build a
hardware and software with a minimalist approach to make
wireless camera sensor boards capable of taking video data of
traffic at junctions, processing it to count or to know flow rate
and send data to a main server.
This report is structured in a manner that divides the projects
into two broad categories that are the projects done with
Aspirations and projects done with Transpose. Each project
will be presented in a unified fashion which will highlight the
intent of the project, methodology and my contribution to the
actual result and encountered challenges.
II. PROJECT AT ASPIRATIONS
For this project I was acquired as a game developer. Project
was to develop a game for all platforms. Game was a standard
bike racing edition with various options for customisations.
Although it was being developed for all platforms, most of the
things were being developed to greatly work with online
mobile devices. Today’s low network rates and good mobile
hardware with capability of graphics performance with good
processing units has made it possible to deliver a great
experience of social gaming which was before played on
LANs only. At Aspirations we were trying to integrate this
experience of gaming and social network. The primary
objective was to integrate good graphics effects, virtual
gadgets buying and ad serving to earn money. I had worked to
some extent for about a span of two months on testing
multiplayer API’s, cloud storages, and ad servers.
A. Requirements
Hardware requirements for the project included a computer
with a minimum of a Pentium processor or higher with
minimum 1 GB RAM and a good quality graphics processor
preferably Nvidia or ATI. Another piece of hardware required
was an Android device for testing and debugging.
Software requirements included Unity 3D and Chrome
browser for online testing.
B. Methodology
Prototyping methodology was adopted for project
development. In this method a customer expresses his
requirements which are then broken down to smaller and
simplified modules and each module is prepared independent
of each other but functioning such that they can be later
integrated easily. Then standalone testing is performed with
their features. If module is not functioning properly or a can
be optimized than it’s easier for revising it because of the
simplicity of code. Herein this project, every module is an
individual task or feature in the game. Basically prototypes are
either workable models of the final product. Here in this
project, the customer was my mentor. Requirements were the
features he wanted me to implement like camera focus to
object, swaps and ad server setup and integration.
Initial requirements were in the form of features in this project
like a menu of option selectable with swipe, touch or pinch.
With unity, coding can be approached in two ways, C# or
JavaScript. Although anyone can be chosen as both provide all
functionality in unity. With C# we can use object oriented
approach which belongs to the same family with from
Processing (https://www.processing.org/) which was
developed in MIT’s Media Lab. Processing is simplification
of Java code for artist, designers and programmers too to
explore visual coding or art with code. But it has grown into a
large community of open source contributors who have
developed lots of libraries and extensions to other devices like
play stations kinect or android devices. Also it is an
independent of platform. Many people have developed data
visualization software around it and I have also previously
used it a lot for prototyping. So basically prototyping with
unity was quick as it followed a similar structure underneath.
Unity has also developed a large communities of coders thus
provides great help online.
In game development there are many types of designs from
model frame design to whole architecture of a level. As in
prototype model this design is concerned with the design of
code or algorithm to be implemented as a feature. Fig.1 shows
an example of design of an algorithm to implement swipe
input from touch screen.
Fig. 1
This step mostly consists of writing code for the perceived
algorithm. It is implemented in coding language to use.
Considering the algorithm in Fig.1, implementation is like as
shown in Fig. 2.
Fig. 2 shows an implementation of detection of touch points and using the
motion of touch point to change levels
The algorithm in simple condition format is as follows:
A.x < 200 & A.x >20 & A.y>10 & A.y<200
Once implemented and errors and bugs are removed, the code
is executed or the module is run as an application on particular
platform. In this case it is run on Android. Android has a
capability of on device debugging where a program can be run
on android while it is connected to the PC with debugging
software. If everything appears and works fine as the
flowchart, the module is shown to customer to test for his
satisfaction. His feedbacks are again taken to improve the
module until he/she is satisfied with functionality and look.
That’s the part of review and update. Cycle continues until
satisfaction. Once satisfied module is either integrated with
other larger part of modules or kept as it is until needed. There
might be modifications later if requirements change.
Debugging mostly consist of solving problems in the code and
errors appearing in the console output. Sometimes you can
ignore warnings but these may cause problem in the long run
so it is better to solve when they appear.
C. Tools and Technologies Used
 Unity 3D – game engine
 Appwrap – cloud API for multiplayer online gaming and
cloud services.
 Revmob – Ad serving service and API
 C# – object oriented programming Language
D. Testing Initial Game Design Components
 Rotating cube – This small assignment was given to
increase familiarity with Unity 3D.
 Clock – This was to implement Time and its function and
motion of objects with respect to time.
 Database test – This was to test the cloud storage APIs.
 Viking multiplayer test – A Demo to test the multiplayer
implementation. The interface for the same is shown in Fig.
3.
Fig. 3 shows the interface for the Viking Multiplayer test game
 Rooms and lobby test – A demo to test the creation of
rooms and lobby for online multiplayer gaming. The
interface for the same is shown in Fig. 4 and Fig. 5.
Fig. 4 shows the interface for the game room design test
Fig. 5 shows the interface for chat room and lobby game design testing
III. PROJECT AT TRANSPOSE
Transpose is startup based on the idea that encompasses
analysis of traffic movement in any city and later uses this
data to take inference for proper planning of cities, buildings
and other urban structures. They had developed an initial code
for traffic counting but it was inaccurate and rough and they
had no hardware for the product they suggested. I was hired to
develop a working hardware to capture a live video feed of the
traffic and to process and communicate the data over the mesh
of such sensors. I had to use lots of knowledge covered in last
three years for this project where subjects like Operating
System, System Programming, Embedded Systems, Sensor
Networks, Wireless Communication, Algorithms and Image
Processing were greatly helpful in achieving the final design
flow.
A. Requirements
Hardware:
 Raspberry Pi
 Xbee pro 2
 Xbee explorer
 Raspberry Pi Infrared camera Module
 Raspberry Pi color camera Module
 SD card with raspbian OS image installed
Software
 X-CTU for zigbee setup
 Raspbian OS installed
 openCV
 ArduPi library Files
B. Device Description and Background
Work description was to develop a hardware design which
would be able to collect visual data and send processed
information to a central server. According to the requirement
the device had to have a single board computer, camera,
wireless connectivity, power supply and a low cost.
Components chosen to justify the device description were a
Raspberry Pi, Xbee and an imaging sensor. Raspberry Pi is a
credit card size computer developed for hobbyist and teaching
computer science in schools. Xbee is a wireless module for
setting up sensor networks. Project was to collect data on of
traffic at junction and to analysis and abstract information of
traffic movement and how at all junctions’ traffic are affected
in constrains. So the basic task was to develop hardware
capable of collecting data and sending it to storage centre.
Data will be the number of vehicles passing at any given time,
size of vehicles, pedestrians moving around etc. As raspberry
Pi is a small computer and is available at a low cost of Rs
3500, its best to use it for this project.
C. Methodology
The prototyping methodology was again used here. As already
described above I followed same rules like breaking the
problem in to smaller problems and start building up.
First thing here to start test was to setup the Xbee
communication modules. One Coordinator and one router,
setting their destination and source addresses such that testing
a pair of such modules connected to two different computers
to a terminal program. Sending text from one terminal and
receiving it at other makes this prototype test success.
Next task is to connect these Xbee modules to Raspberry Pi
serial port. It was easy for Arduino to communicate to Xbee
with serial library of Arduino and then coding part was very
easy. So there are few I/O pins available including UART.
Also here comes the knowledge of surfing electronic gadget
handy there was already a bridge board from Raspberry Pi to
Arduino and a library called ArduPi library. But I wasn’t
going to buy any other electronic equipment in order to keep
everything low cost. Bridge was a simple circuit as expected
so for time being I used some jumper wires as in Fig. 6 and
setup the test to send data from Raspberry Pi to Xbee and
from there to other Xbee connect to a PC and see the sent data
on screen.
Fig. 6 shows the connection of Xbee modules with Raspberry Pi
Later on as demand of mentor I build a PCB in Eagle CAD
and used a process of chemically etching copper clad with
ferrous chloride solution and a laser printer’s print of circuit.
Fig. 7 shows the product when everything was connected it all
worked fine as it should have by following prototyping
strategies.
Fig. 7shows the message passing using wireless connectivity
Then, came the part of connecting the camera modules which
was easy as the camera sensors used were designed especially
for Pi. A simple command would take picture or take video
shot for certain duration and store in file. My next task was to
test a setup where a command from remote computer triggers
video capturing. So I had to integrate Xbee and camera
together and it worked fine with few lines of code.
The overall hardware schematic is shown in Fig. 8.
Fig. 8
The test results of using various image sensors are shown in
Fig. 9 and Fig. 10.
Fig. 9 shows an image taken from the color image sensor
Fig. 10 shows an image taken from an Infrared image sensor
D. Future Aspects
Running Open Computer Vision (openCV) library on Pi and
processing the video and extracting the data and sending it
through Xbee to server through a network of sensors.
IV.CONCLUSIONS
I have learned a lot of new technologies in the field of game
design and I have developed an in depth understanding of
studying requirement specifications and giving a simple and
optimized hardware solution. All of these new technologies
and techniques have added more jewels to my crown. As a
programmer, I got a lot of experience and confidence of using
API’s for cloud services. Working with unity added extra
dimension to the skills and tools. Working with startup lets me
see that it’s a difficult task to put a project on hand to
completion. Also went through different Institutes, facilities
and labs. Working with people from different background and
able to communicate Ideas with each other’s perspective.
Overall these projects have been a great learning experience
for me.
ACKNOWLEDGMENT
I would like to acknowledge Prof. Gautam Dutta who has
shown constant support throughout my internship. I would
also acknowledge Abhijeet Goel for guiding me with different
technologies. I would also like to acknowledge people at
transpose, Abhishek doshi, kavina Patel, Jaydip for
introducing me to CEPT’s Fabrication Lab and giving me an
opportunity to test my skills of prototyping.
REFERENCES
[1] http://docs.unity3d.com
[2] http://appwarp.shephertz.com
[3] http://www.cooking-hacks.com
[4] http://shop.oreilly.com/product/9780596807740.do
[5] https://www.sparkfun.com/datasheets/Wireless/Zigbee/XBee-2.5-
Manual.pdf
[6] http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-
ARM-Peripherals.pdf

Más contenido relacionado

Destacado

Patativa do Assaré
Patativa do AssaréPatativa do Assaré
Patativa do AssaréEloy Souza
 
Bibliotecas virtuales
Bibliotecas virtualesBibliotecas virtuales
Bibliotecas virtualesAle Sangucho
 
Food commodoties
Food commodotiesFood commodoties
Food commodotiesMissraver
 
Mm catfish brasil br (1)
Mm catfish brasil br (1)Mm catfish brasil br (1)
Mm catfish brasil br (1)Meio & Mensagem
 
Applications of algebra and calculus
Applications of algebra and calculusApplications of algebra and calculus
Applications of algebra and calculusabdulqadir ezzy
 
An Ontology based Scheme for Formal Care Plan Meta-Description
An Ontology based Scheme for Formal Care Plan Meta-DescriptionAn Ontology based Scheme for Formal Care Plan Meta-Description
An Ontology based Scheme for Formal Care Plan Meta-DescriptionCARRE project
 
Bibliotecas virtuales
Bibliotecas virtualesBibliotecas virtuales
Bibliotecas virtualesfercho2001
 
Success Story - DIP Système - 1ère partie
Success Story - DIP Système - 1ère partieSuccess Story - DIP Système - 1ère partie
Success Story - DIP Système - 1ère partieValerie JOGUET
 
Cyber Security April 2016 Presentation
Cyber Security April 2016 PresentationCyber Security April 2016 Presentation
Cyber Security April 2016 PresentationDenis Philippe
 
A otro nivel! La gamificacion en las bibliotecas
A otro nivel! La gamificacion en las bibliotecasA otro nivel! La gamificacion en las bibliotecas
A otro nivel! La gamificacion en las bibliotecasNCelpa
 
Застосування сучасних засобів спілкування
Застосування сучасних засобів спілкуванняЗастосування сучасних засобів спілкування
Застосування сучасних засобів спілкуванняNastya1111111111
 
Trademark Application Registration Process
Trademark Application Registration ProcessTrademark Application Registration Process
Trademark Application Registration ProcessJeetam Saini
 
Management and leadership notes
Management and leadership notesManagement and leadership notes
Management and leadership notesibrar shahid
 

Destacado (20)

Patativa do Assaré
Patativa do AssaréPatativa do Assaré
Patativa do Assaré
 
Astronomy_Scale
Astronomy_ScaleAstronomy_Scale
Astronomy_Scale
 
Bibliotecas virtuales
Bibliotecas virtualesBibliotecas virtuales
Bibliotecas virtuales
 
Sendi
SendiSendi
Sendi
 
Face mayo
Face mayoFace mayo
Face mayo
 
Food commodoties
Food commodotiesFood commodoties
Food commodoties
 
Como entregar mais com menos?
Como entregar mais com menos?Como entregar mais com menos?
Como entregar mais com menos?
 
Mm catfish brasil br (1)
Mm catfish brasil br (1)Mm catfish brasil br (1)
Mm catfish brasil br (1)
 
Applications of algebra and calculus
Applications of algebra and calculusApplications of algebra and calculus
Applications of algebra and calculus
 
An Ontology based Scheme for Formal Care Plan Meta-Description
An Ontology based Scheme for Formal Care Plan Meta-DescriptionAn Ontology based Scheme for Formal Care Plan Meta-Description
An Ontology based Scheme for Formal Care Plan Meta-Description
 
Bibliotecas virtuales
Bibliotecas virtualesBibliotecas virtuales
Bibliotecas virtuales
 
Understanding Style Guides
Understanding Style GuidesUnderstanding Style Guides
Understanding Style Guides
 
Success Story - DIP Système - 1ère partie
Success Story - DIP Système - 1ère partieSuccess Story - DIP Système - 1ère partie
Success Story - DIP Système - 1ère partie
 
Cyber Security April 2016 Presentation
Cyber Security April 2016 PresentationCyber Security April 2016 Presentation
Cyber Security April 2016 Presentation
 
A otro nivel! La gamificacion en las bibliotecas
A otro nivel! La gamificacion en las bibliotecasA otro nivel! La gamificacion en las bibliotecas
A otro nivel! La gamificacion en las bibliotecas
 
Vba part 1
Vba part 1Vba part 1
Vba part 1
 
Застосування сучасних засобів спілкування
Застосування сучасних засобів спілкуванняЗастосування сучасних засобів спілкування
Застосування сучасних засобів спілкування
 
Triolet
TrioletTriolet
Triolet
 
Trademark Application Registration Process
Trademark Application Registration ProcessTrademark Application Registration Process
Trademark Application Registration Process
 
Management and leadership notes
Management and leadership notesManagement and leadership notes
Management and leadership notes
 

Similar a 201001162_report

Supriya Saha Resume
Supriya Saha ResumeSupriya Saha Resume
Supriya Saha Resumesupriya saha
 
Computer-Vision_Integrating-Technology_MOB_17.06.16
Computer-Vision_Integrating-Technology_MOB_17.06.16Computer-Vision_Integrating-Technology_MOB_17.06.16
Computer-Vision_Integrating-Technology_MOB_17.06.16Schuyler Kennedy
 
Dipak_Desai_Resume
Dipak_Desai_ResumeDipak_Desai_Resume
Dipak_Desai_Resumenotoha
 
Imaginea Introduction
Imaginea IntroductionImaginea Introduction
Imaginea Introductionarun_imaginea
 
AdamVisserResume
AdamVisserResumeAdamVisserResume
AdamVisserResumeAdam Visser
 
DESIGN AND CONSTRUCTION OF A LINUX BASED WEB (1)
DESIGN AND CONSTRUCTION OF A LINUX BASED WEB (1)DESIGN AND CONSTRUCTION OF A LINUX BASED WEB (1)
DESIGN AND CONSTRUCTION OF A LINUX BASED WEB (1)Ibrahim Yusuf Salihu
 
Voice Controlled News Web Based Application With Speech Recognition Using Ala...
Voice Controlled News Web Based Application With Speech Recognition Using Ala...Voice Controlled News Web Based Application With Speech Recognition Using Ala...
Voice Controlled News Web Based Application With Speech Recognition Using Ala...IRJET Journal
 
Iirdem design and implementation of finger writing in air by using open cv (c...
Iirdem design and implementation of finger writing in air by using open cv (c...Iirdem design and implementation of finger writing in air by using open cv (c...
Iirdem design and implementation of finger writing in air by using open cv (c...Iaetsd Iaetsd
 
Implementation of embedded arm9 platform using qt and open cv for human upper...
Implementation of embedded arm9 platform using qt and open cv for human upper...Implementation of embedded arm9 platform using qt and open cv for human upper...
Implementation of embedded arm9 platform using qt and open cv for human upper...Krunal Patel
 
GENERATION OF HTML CODE AUTOMATICALLY USING MOCK-UP IMAGES WITH MACHINE LEARN...
GENERATION OF HTML CODE AUTOMATICALLY USING MOCK-UP IMAGES WITH MACHINE LEARN...GENERATION OF HTML CODE AUTOMATICALLY USING MOCK-UP IMAGES WITH MACHINE LEARN...
GENERATION OF HTML CODE AUTOMATICALLY USING MOCK-UP IMAGES WITH MACHINE LEARN...IRJET Journal
 
The Wireless Remote Control Car Based On Arm9
The Wireless Remote Control Car Based On Arm9The Wireless Remote Control Car Based On Arm9
The Wireless Remote Control Car Based On Arm9IOSR Journals
 

Similar a 201001162_report (20)

Supriya Saha Resume
Supriya Saha ResumeSupriya Saha Resume
Supriya Saha Resume
 
Computer-Vision_Integrating-Technology_MOB_17.06.16
Computer-Vision_Integrating-Technology_MOB_17.06.16Computer-Vision_Integrating-Technology_MOB_17.06.16
Computer-Vision_Integrating-Technology_MOB_17.06.16
 
Dipak_Desai_Resume
Dipak_Desai_ResumeDipak_Desai_Resume
Dipak_Desai_Resume
 
Imaginea Introduction
Imaginea IntroductionImaginea Introduction
Imaginea Introduction
 
CVInDoc2017
CVInDoc2017CVInDoc2017
CVInDoc2017
 
CV_Serhiy_Medvedyev_2015
CV_Serhiy_Medvedyev_2015CV_Serhiy_Medvedyev_2015
CV_Serhiy_Medvedyev_2015
 
Computer graphics by bahadar sher
Computer graphics by bahadar sherComputer graphics by bahadar sher
Computer graphics by bahadar sher
 
AdamVisserResume
AdamVisserResumeAdamVisserResume
AdamVisserResume
 
Sunil Kumar Sarvepalli
Sunil Kumar SarvepalliSunil Kumar Sarvepalli
Sunil Kumar Sarvepalli
 
DESIGN AND CONSTRUCTION OF A LINUX BASED WEB (1)
DESIGN AND CONSTRUCTION OF A LINUX BASED WEB (1)DESIGN AND CONSTRUCTION OF A LINUX BASED WEB (1)
DESIGN AND CONSTRUCTION OF A LINUX BASED WEB (1)
 
mayank_bareja
mayank_barejamayank_bareja
mayank_bareja
 
Shanling_resume
Shanling_resumeShanling_resume
Shanling_resume
 
Voice Controlled News Web Based Application With Speech Recognition Using Ala...
Voice Controlled News Web Based Application With Speech Recognition Using Ala...Voice Controlled News Web Based Application With Speech Recognition Using Ala...
Voice Controlled News Web Based Application With Speech Recognition Using Ala...
 
Iirdem design and implementation of finger writing in air by using open cv (c...
Iirdem design and implementation of finger writing in air by using open cv (c...Iirdem design and implementation of finger writing in air by using open cv (c...
Iirdem design and implementation of finger writing in air by using open cv (c...
 
Implementation of embedded arm9 platform using qt and open cv for human upper...
Implementation of embedded arm9 platform using qt and open cv for human upper...Implementation of embedded arm9 platform using qt and open cv for human upper...
Implementation of embedded arm9 platform using qt and open cv for human upper...
 
GENERATION OF HTML CODE AUTOMATICALLY USING MOCK-UP IMAGES WITH MACHINE LEARN...
GENERATION OF HTML CODE AUTOMATICALLY USING MOCK-UP IMAGES WITH MACHINE LEARN...GENERATION OF HTML CODE AUTOMATICALLY USING MOCK-UP IMAGES WITH MACHINE LEARN...
GENERATION OF HTML CODE AUTOMATICALLY USING MOCK-UP IMAGES WITH MACHINE LEARN...
 
C++ programming
C++ programmingC++ programming
C++ programming
 
SchiebelResume
SchiebelResumeSchiebelResume
SchiebelResume
 
Project Portfolio
Project PortfolioProject Portfolio
Project Portfolio
 
The Wireless Remote Control Car Based On Arm9
The Wireless Remote Control Car Based On Arm9The Wireless Remote Control Car Based On Arm9
The Wireless Remote Control Car Based On Arm9
 

201001162_report

  • 1. B-Tech. Project Report Shirish Jadav Dhirubhai Ambani Institute of Information and Communication Technology, Gandhinagar 201001162@daiict.ac.in Supervisor Prof. Gautam Dutta Off-Campus Supervisor Abhijeet Goel Aspirations, NDBI, NID Paldi, Ahmedabad Kavina Patel Transpose, CIIE, IIM, Ahmedabad Abstract – This document highlights the projects done under my capacity as the intern game developer and hardware design engineer at Aspirations and Transpose respectively. Keywords – game developer, hardware design, Aspirations, Transpose I. INTRODUCTION This document is the summary of my B-Tech. project undertaken in eighth Semester. It’s about the exploration of online gaming development and testing of its features. Aspirations is a startup by Abhijeet Goel incubated at NDBI- Ahmadabad which is involved in development of games for multiple platforms. My work at Aspirations revolved around testing cloud storages API, online gaming room creation testing and basic camera motions and screen changes. Transpose is a startup comprising of a group of 5 people from CEPT. They have a Idea of traffic analysis for improving infrastructure setup in urban areas. For the projects at Transpose, I was a prototype maker. My work was to build a hardware and software with a minimalist approach to make wireless camera sensor boards capable of taking video data of traffic at junctions, processing it to count or to know flow rate and send data to a main server. This report is structured in a manner that divides the projects into two broad categories that are the projects done with Aspirations and projects done with Transpose. Each project will be presented in a unified fashion which will highlight the intent of the project, methodology and my contribution to the actual result and encountered challenges. II. PROJECT AT ASPIRATIONS For this project I was acquired as a game developer. Project was to develop a game for all platforms. Game was a standard bike racing edition with various options for customisations. Although it was being developed for all platforms, most of the things were being developed to greatly work with online mobile devices. Today’s low network rates and good mobile hardware with capability of graphics performance with good processing units has made it possible to deliver a great experience of social gaming which was before played on LANs only. At Aspirations we were trying to integrate this experience of gaming and social network. The primary objective was to integrate good graphics effects, virtual gadgets buying and ad serving to earn money. I had worked to some extent for about a span of two months on testing multiplayer API’s, cloud storages, and ad servers. A. Requirements Hardware requirements for the project included a computer with a minimum of a Pentium processor or higher with minimum 1 GB RAM and a good quality graphics processor preferably Nvidia or ATI. Another piece of hardware required was an Android device for testing and debugging. Software requirements included Unity 3D and Chrome browser for online testing. B. Methodology Prototyping methodology was adopted for project development. In this method a customer expresses his requirements which are then broken down to smaller and simplified modules and each module is prepared independent of each other but functioning such that they can be later integrated easily. Then standalone testing is performed with their features. If module is not functioning properly or a can be optimized than it’s easier for revising it because of the simplicity of code. Herein this project, every module is an individual task or feature in the game. Basically prototypes are either workable models of the final product. Here in this project, the customer was my mentor. Requirements were the features he wanted me to implement like camera focus to object, swaps and ad server setup and integration. Initial requirements were in the form of features in this project like a menu of option selectable with swipe, touch or pinch. With unity, coding can be approached in two ways, C# or JavaScript. Although anyone can be chosen as both provide all functionality in unity. With C# we can use object oriented approach which belongs to the same family with from Processing (https://www.processing.org/) which was developed in MIT’s Media Lab. Processing is simplification
  • 2. of Java code for artist, designers and programmers too to explore visual coding or art with code. But it has grown into a large community of open source contributors who have developed lots of libraries and extensions to other devices like play stations kinect or android devices. Also it is an independent of platform. Many people have developed data visualization software around it and I have also previously used it a lot for prototyping. So basically prototyping with unity was quick as it followed a similar structure underneath. Unity has also developed a large communities of coders thus provides great help online. In game development there are many types of designs from model frame design to whole architecture of a level. As in prototype model this design is concerned with the design of code or algorithm to be implemented as a feature. Fig.1 shows an example of design of an algorithm to implement swipe input from touch screen. Fig. 1 This step mostly consists of writing code for the perceived algorithm. It is implemented in coding language to use. Considering the algorithm in Fig.1, implementation is like as shown in Fig. 2. Fig. 2 shows an implementation of detection of touch points and using the motion of touch point to change levels The algorithm in simple condition format is as follows: A.x < 200 & A.x >20 & A.y>10 & A.y<200 Once implemented and errors and bugs are removed, the code is executed or the module is run as an application on particular platform. In this case it is run on Android. Android has a capability of on device debugging where a program can be run on android while it is connected to the PC with debugging software. If everything appears and works fine as the flowchart, the module is shown to customer to test for his satisfaction. His feedbacks are again taken to improve the module until he/she is satisfied with functionality and look. That’s the part of review and update. Cycle continues until satisfaction. Once satisfied module is either integrated with other larger part of modules or kept as it is until needed. There might be modifications later if requirements change. Debugging mostly consist of solving problems in the code and errors appearing in the console output. Sometimes you can ignore warnings but these may cause problem in the long run so it is better to solve when they appear. C. Tools and Technologies Used  Unity 3D – game engine  Appwrap – cloud API for multiplayer online gaming and cloud services.  Revmob – Ad serving service and API  C# – object oriented programming Language D. Testing Initial Game Design Components  Rotating cube – This small assignment was given to increase familiarity with Unity 3D.  Clock – This was to implement Time and its function and motion of objects with respect to time.  Database test – This was to test the cloud storage APIs.  Viking multiplayer test – A Demo to test the multiplayer implementation. The interface for the same is shown in Fig. 3. Fig. 3 shows the interface for the Viking Multiplayer test game  Rooms and lobby test – A demo to test the creation of rooms and lobby for online multiplayer gaming. The interface for the same is shown in Fig. 4 and Fig. 5.
  • 3. Fig. 4 shows the interface for the game room design test Fig. 5 shows the interface for chat room and lobby game design testing III. PROJECT AT TRANSPOSE Transpose is startup based on the idea that encompasses analysis of traffic movement in any city and later uses this data to take inference for proper planning of cities, buildings and other urban structures. They had developed an initial code for traffic counting but it was inaccurate and rough and they had no hardware for the product they suggested. I was hired to develop a working hardware to capture a live video feed of the traffic and to process and communicate the data over the mesh of such sensors. I had to use lots of knowledge covered in last three years for this project where subjects like Operating System, System Programming, Embedded Systems, Sensor Networks, Wireless Communication, Algorithms and Image Processing were greatly helpful in achieving the final design flow. A. Requirements Hardware:  Raspberry Pi  Xbee pro 2  Xbee explorer  Raspberry Pi Infrared camera Module  Raspberry Pi color camera Module  SD card with raspbian OS image installed Software  X-CTU for zigbee setup  Raspbian OS installed  openCV  ArduPi library Files B. Device Description and Background Work description was to develop a hardware design which would be able to collect visual data and send processed information to a central server. According to the requirement the device had to have a single board computer, camera, wireless connectivity, power supply and a low cost. Components chosen to justify the device description were a Raspberry Pi, Xbee and an imaging sensor. Raspberry Pi is a credit card size computer developed for hobbyist and teaching computer science in schools. Xbee is a wireless module for setting up sensor networks. Project was to collect data on of traffic at junction and to analysis and abstract information of traffic movement and how at all junctions’ traffic are affected in constrains. So the basic task was to develop hardware capable of collecting data and sending it to storage centre. Data will be the number of vehicles passing at any given time, size of vehicles, pedestrians moving around etc. As raspberry Pi is a small computer and is available at a low cost of Rs 3500, its best to use it for this project. C. Methodology The prototyping methodology was again used here. As already described above I followed same rules like breaking the problem in to smaller problems and start building up. First thing here to start test was to setup the Xbee communication modules. One Coordinator and one router, setting their destination and source addresses such that testing a pair of such modules connected to two different computers to a terminal program. Sending text from one terminal and receiving it at other makes this prototype test success. Next task is to connect these Xbee modules to Raspberry Pi serial port. It was easy for Arduino to communicate to Xbee with serial library of Arduino and then coding part was very easy. So there are few I/O pins available including UART. Also here comes the knowledge of surfing electronic gadget handy there was already a bridge board from Raspberry Pi to Arduino and a library called ArduPi library. But I wasn’t going to buy any other electronic equipment in order to keep everything low cost. Bridge was a simple circuit as expected so for time being I used some jumper wires as in Fig. 6 and setup the test to send data from Raspberry Pi to Xbee and from there to other Xbee connect to a PC and see the sent data on screen.
  • 4. Fig. 6 shows the connection of Xbee modules with Raspberry Pi Later on as demand of mentor I build a PCB in Eagle CAD and used a process of chemically etching copper clad with ferrous chloride solution and a laser printer’s print of circuit. Fig. 7 shows the product when everything was connected it all worked fine as it should have by following prototyping strategies. Fig. 7shows the message passing using wireless connectivity Then, came the part of connecting the camera modules which was easy as the camera sensors used were designed especially for Pi. A simple command would take picture or take video shot for certain duration and store in file. My next task was to test a setup where a command from remote computer triggers video capturing. So I had to integrate Xbee and camera together and it worked fine with few lines of code. The overall hardware schematic is shown in Fig. 8. Fig. 8 The test results of using various image sensors are shown in Fig. 9 and Fig. 10. Fig. 9 shows an image taken from the color image sensor Fig. 10 shows an image taken from an Infrared image sensor D. Future Aspects Running Open Computer Vision (openCV) library on Pi and processing the video and extracting the data and sending it through Xbee to server through a network of sensors.
  • 5. IV.CONCLUSIONS I have learned a lot of new technologies in the field of game design and I have developed an in depth understanding of studying requirement specifications and giving a simple and optimized hardware solution. All of these new technologies and techniques have added more jewels to my crown. As a programmer, I got a lot of experience and confidence of using API’s for cloud services. Working with unity added extra dimension to the skills and tools. Working with startup lets me see that it’s a difficult task to put a project on hand to completion. Also went through different Institutes, facilities and labs. Working with people from different background and able to communicate Ideas with each other’s perspective. Overall these projects have been a great learning experience for me. ACKNOWLEDGMENT I would like to acknowledge Prof. Gautam Dutta who has shown constant support throughout my internship. I would also acknowledge Abhijeet Goel for guiding me with different technologies. I would also like to acknowledge people at transpose, Abhishek doshi, kavina Patel, Jaydip for introducing me to CEPT’s Fabrication Lab and giving me an opportunity to test my skills of prototyping. REFERENCES [1] http://docs.unity3d.com [2] http://appwarp.shephertz.com [3] http://www.cooking-hacks.com [4] http://shop.oreilly.com/product/9780596807740.do [5] https://www.sparkfun.com/datasheets/Wireless/Zigbee/XBee-2.5- Manual.pdf [6] http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835- ARM-Peripherals.pdf