SWEEP'n'PLAY is a new game concept. The console offers a new way of playing thanks to its smartphone or tablet. It combines the following 5 mains points:
• Requires only a TV and a mobile. Once the console is connected to the television, the user with his smartphone / tablet can start playing.
• The mobile becomes a versatile controller. From the dedicated application, the set of movements made with the mobile terminal (touch event, rotation,...) will be transcribed in the game.
• Intuitive and fast connection. A simple scan with the mobile over the console is enough to initiate wireless communication between the two terminals.
• A multitude of games. The console has a large library of games.
• Up to 8 players simultaneously. The SWEEP'n'PLAY console supports multiplayer thanks to the technologies it contains.
The SWEEP'n'PLAY console offers a new way of playing thanks to its smartphone. Once the console is connected to the television, the user mobile becomes a versatile controller; From the dedicated application, the set of movements made will be transcribed in the game. The console has a large library of games and supports up to 7 players.
SWEEP'n'PLAY include several features:
● The mobile application
● The telecommunication peripherals
● The game
● The Graphic Engine
● The Marketing part
Design: Mobile application● Features and specifications
Concern the application development Android studio gives development kit gives access to examples, documentation, but especially to the system programming API and an emulator to test applications. They have several choices to test an application, either by the emulator that Android offer or otherwise on a real phone. it just uses the appropriate class to perform a function.
● Graphical interface
Android uses XML resource files: "Activity_main.xml", to generate a graphical interface. This file is called by the main file "Activity_main.java" by command "setContentView (R.layout.main)". "R" is a resource file of the application containing all the widgets identifiers. It is generated automatically by the SDK.
● Bluetooth communication
To play, the user must establish a Bluetooth connection between smartphone and the FPGA card. The BluetoothServerSocket and BluetoothSocket classes are used.
- The BluetoothServerSocket class is used to establish listening support for initializing a link between a device. To restore recognition, one of the devices acts as a server that listens and accepts incoming requests.
- The BluetoothSocket class, it is used to create a new socket client on a server once the connection is established.
Sockets are used by the server and the client to transmit data streams.
- A server socket is used for incoming connection requests that originate from Bluetooth devices. To listen for connection requests, we call the ListenUsingRfcommWithServiceRecord method of the Bluetooth Adapter. It is passed a character string "name" to identify our server and UUID. We recover an instance of BluetoothServerSocket. To start listening to connections, you must call the accept method on the server socket. The server will then block until a client with a matching UUID tries to connect. If an incoming connection request succeeds, accept will return a socket connected to the client. It is used to make data transfers.
- The BluetoothSocket class is used on the client to initiate a communication channel from the application to a listening server socket. Create socket clients by calling createRfcommSocketToServiceRecord on a BluetoothDevice object. This object represents the target remote server. it must have a server socket listening for connection requests
On using an OutputStream to send a string to a remote device.
Design: Peripheral communication● Features and Specifications
Exchange pieces of information between two devices refer to data communication. Modern world scenario is ever changing; Wireless exchange take a wide part in communication channels. The project refers to wireless data communication in order to transmit players information and commands to the SWEEP ‘n’ PLAY console thanks to the smartphone technologies. Bluetooth and NFC technologies state this point of view :
- Performance ( range, broadband and power consumption suitable )
- Scalability ( more and more present on a smartphone )
- Reliability ( high data encryption )
● Design Overview
The design contains two parts: A processing part, mainly software, manage the order of transmission and its parameters. The second one, mainly hardware, deals with the lowest layer information transmission.
The processing part contains the processor with the AXI MM bus manager. This bus allows communicating properly data with the logical part. The latter contains Pmod BT2 v1 from Digilent Intellectual Property repository.
● Detailed Design Description
This Pmod communicates with the SoC FPGA thanks to UART protocol. The Intellectual Property Pmod BT2 contains, therefore, a UART controller for transmitting information by transmission (Tx) and reception (Rx) pinout. An input/output manager also is integrated into this IP in order to deal with the other pins of the Pmod that allow reconfiguration.
Two players game commands can be handled simultaneously with two IP and therefore two Pmod BT2. The software part, configure this two IP with the correct baud rate ( 115200 baud). Once the Bluetooth established, the Pmod transmit all the user commands. The software programme loop capture this commands. The function of the driver BT2_RecvData is placed in an infinite loop.
Design: Mobile application● Features and Specifications
Regarding the game, we set ourselves the objective of making a game easy to program, which will be entirely realized in hardware in order to be in agreement with the specifications and the contest.
Ping-pong, being the first historical game, easy to implement and easily improved, we decided to make this game. Ping-Pong has the calculation of the position of 3 elements via a Cartesian reference in two dimensions. Thus, this game can be easily improved, enriched to make it more attractive. As for example to add a second bullet, accelerate the refresh period of position calculation of the elements.
The second reason we chose this game is that it's a multiplayer game. One of the objectives of the SWEEP'n'PLAY project is to set up a platform to physically connect users, allowing them to occupy their time in a friendly moment with other users who are in the same situation.
● Design Overview
The main architecture in this game is the same for any other games that we would like to develop later. It is divided into three distinct parts:
• The first named Game_Engine will detail the algorithm to make the game.
• The second named Graphique_Engine will detail the transcription of the elements of the game.
• The third named Driver will detail the global display on a screen.
As described in the following diagram, these 3 parts allow the interaction between the commands already processed (see chapter communication) is the screen visible to all users.
Oualid Bachaou, Samuel Duport & Kamel El Moussati

Comments
Please log in or sign up to comment.