Charis Marangos. Games versus Most Applications  Technical implementation is hard Real-time and responsive (at least 25 frames per second) Hungry for.

Slides:



Advertisements
Similar presentations
Välkommen till Sommarkollo Introduce XNA Game Studio Express Make A Game!
Advertisements

What is Android?.
Android architecture overview
Android Platform Overview (1)
Design Philosophy Development Approach Technical Arrrchitecture Implementation Notes and Challenges What went right? What went wrong? Conclusions and Recommendations.
3D Programming Cocos 2D-x and Unity 3D Nguyễn Đức Toàn Bùi Minh Đạo
TORQUE 3D Daniel Casadevall-Pino
Rapid Game Development with Corona SDK - Altaf Rehmani.
Survey of Graphics and Games. Outline Overview of computer graphics – Coursework – Research Programming using game engines Computer game and animation.
Fast rendering of 2D applications with text and images Combines the power of DirectX and the convenience of.NET Adopted by most triple-A titles.
Mobile Application Development
Google Android as a mobile development platform T Internet Technologies for Mobile Computing Olli Mäkinen.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
Platform Independent Frameworks Contents Mobile App Developer’s challenges Platform Independent solutions – Mobile Web Based Apps – Cross.
Unity 3D game IDE 1.  Unity is a multi-platform, integrated IDE for scripting games, and working with 3D virtual worlds  Including:  Game engine ▪
AGD: 5. Game Arch.1 Objective o to discuss some of the main game architecture elements, rendering, and the game loop Animation and Games Development.
Master Project Preparation Murtaza Hussain. Unity (also called Unity3D) is a cross-platform game engine with a built-in IDE developed by Unity Technologies.
Development of mobile applications using PhoneGap and HTML 5
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
An Overview of Qt - asankar1. Agenda About Qt –A brief intro of Qt Qt development tools –Tools used for building Qt application Qt Architecture –The underlying.
MOBILE APP DEVELOPMENT Presented by Md. Zakaria Chowdhury CEO, Webcraft Bangladesh Director, Sylhet IT Academy.
Microsoft Evangelist Presentation September 13, 2012.
The PhoneGap History Doncho Minkov Telerik Academy academy.telerik.com Technical Trainer
1 ENG236: Introduction (1) Rocky K. C. Chang THE HONG KONG POLYTECHNIC UNIVERSITY.
CSE328:Computer Graphics OpenGL Tutorial Dongli Zhang Department of Computer Science, SBU Department of Computer Science, Stony.
Introduction to Java Programming. Contents 1. Java, etc. 2. Java's Advantages 3. Java's Disadvantages 4. Types of Java Code 5. Java Bytecodes 6. Steps.
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Do not redistribute. Adobe Gaming SDK Casual Connect Europe 2013 Tom Krcha.
Games Development 2 Entity / Architecture Review CO3301 Week
Programming 101 with Python: an open-source, cross-platform, and fun language By J. Burton Browning, Ed.D. Copyright © J. Burton Browning All rights reserved.
Title slide to be used at the start of a module. Developing Mobile Apps Roland Guijt
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Android Programming By Mohsen Biglari Android Programming, Part1: Introduction 1 Part1: Introduction By Mohsen Biglari.
Vs. Ease of Developing 3 rd Party Applications. Points of Interest Closed Source vs. Open Source – Does It Matter? Objective-C vs. Java – Implementation.
Week II Platforms and Engines. Overview Platforms and Engines Tools and SDKs Netbeans Game Development Walkthrough
Introducing NativeScript [Pavel Kolev Software Telerik: a Progress company]
UFCEKU-20-3Web Games Programming Game Development Environments and Middleware.
Developing Cross-Platform Applications with Visual Studio 2015
Introduction to Interactive Media Interactive Media Tools: Software.
Android for Java Developers Denver Java Users Group Jan 11, Mike
ANDROID 응용 프로그래밍 과정 – 목차 - 안드로이드란 - 안드로이드가 만들어지게 된배경 - 안드로이드의 철학 - 안드로이드 환경설정 ( SDK download, eclipse plug-in 설정, 간단한 프로그램 실행 ) - 안드로이드 동작원리 - 안드로이드 핵심.
Web Games Programming An Introduction to Unity 3D.
ROOT Team Meeting October 1 st 2010 GUI thinking and testing ideas OpenGL GUI Root Team meeting 01/10/2010.
Lab 12: Other Languages User Interface Lab: GUI Lab Nov. 12 th, 2013.
Android architecture & setting up. Android operating system comprises of different software components arranges in stack. Different components of android.
Dr. Brian Durney Computing and Networking Sciences at UVU C S
WPH310. Free Phone! Windows Phone 7 as a Game Platform Free Tools to Build Great Games The Game Loop Input on Windows Phone 7 Building a Game with Your.
MonoXNA 3D. Games Fun Relaxation Mind training Profitable business –World of Warcraft (successful game)
 Installation of Android Development Environment  Creating the App with OpenGL ES API  Running the App on Emulator Android App Development.
SSMIC Game Development Workshop - Brian Robbins June 21,2007 How do I make a game?  Quick look at lots of different tools  Discuss pros/cons of each.
The way of hybrid mobile development Hybrid Mobile Applications Telerik Software Academy
Top 12 Frameworks for Android App Development
UFCFSU-30-13D Technologies for the Web An Introduction to Unity 3D.
 Can access all API’s made available by OS vendor.  SDK’s are platform-specific.  Each mobile OS comes with its own unique tools and GUI toolkit.
Unity при побудові 3D ігор для Windows 8 та Windows Phone Олег Прiдюк Технічний євангеліст, Unity Technologies.
Multiplatform Development Benjamin Nitschke CTO Delta Engine & exDream & MobileBits MobileBits GmbH Lerchenstrasse Hamburg
By: Eliav Menachi.  Android custom 2D graphics library  OpenGL ES 1.0 for high performance 3D graphics.
Best 5 Mobile App Development Tools for Developer's to think beyond the Limitation.
INTRODUCING HYBRID APP KAU with MICT PARK IT COMPANIES Supported by KOICA
APP DESIGN AND DEVELOPMENT WITH THE IONIC FRAMEWORK Chuck Leone
The Basics of Android App Development Sankarshan Mridha Satadal Sengupta.
Android.
Moving from Stencyl 2 to Stencyl 3 & beyond
Intro of UNITY (for beginner)
Apache Cordova Overview
Mobile App Development
.NET and .NET Core Foot View of .NET Pan Wuming 2017.
Unit 20 Software Part 2.
Intro of UNITY (for beginner)
Unit 20 Software Part 2.
Presentation transcript:

Charis Marangos

Games versus Most Applications  Technical implementation is hard Real-time and responsive (at least 25 frames per second) Hungry for Battery and other Resources Dynamic experience (many objects to draw and update)  Logic implementation Must be separate from technical implementation  Quality of content Story Graphics Sound  Fun to play!

Supported Graphics for Android  Canvas and Drawables Easier to work with Other SDK features may be used easily (Text, AlertDialogues, etc) Only for 2D  OpenGL (ES 1.x, ES 2.0) Supports 3d graphics Much faster Hardware acceleration

Game Libraries  Less time spent in technical details Less native calls exposed Handling of devices Loading and handling resources  More time available for: Game-specific logic programming Developing content  Helps with portability Hardware abstraction Platform abstraction

Cuttlefish Engine  Cross-platform 2D Engine Windows, Mac iOS, Android  The Engine is open-source  Designer Not free! ($100 per year) Tile-based Level Editor with Layer support Particle Effects  Language: Cuttlescript Similar to C# Compiles to native code  box2D physics  Support for native code  Still doesn’t support many devices Only 20% of Android devices

AndEngine  2D abstraction layer for OpenGL  Android only Built on top of the Android SDK Fully open-source  Fast  Box2D Physics  Games: Bunny Shooter

LibGDX  Cross-platform Windows, Linux, Mac Android, iOS  Free and fully open-source!  A Complete framework, but not a game engine  Low-level 3D with OpenGL  High-level 3D  High-level 2D  Physics with box2D  Math classes for 3D  Utilities, Tools & Extensions  Language: Java  Games Newton Space Rings 3D

Corona  For Android and iOS  2D games only  Free to use, but requires subscription ($350 per year) to publish games  Similar to Flash, geared for Flash developers Includes Tools which help with the reuse of Flash assets  Games The Lost City Shovel heroes

Unity 3D  Cross-platform Windows, Mac and (soon, but not yet) Linux Web (requires plugin), Flash Android, iOS Xbox360, PS3 and Wii  Many versions Standard version is free for Windows and Mac Pro license: $1,500 Android: $400 iOS: $400  Languages: C#, UnityScript (similar to JavaScript), Boo (similar to Python) It is possible to use all 3 languages in the same project Compiles to Mono Slight overhead  Extremely easy to use  Very powerful, with a plethora of features  Not recommended for 2D games  Games Shadowgun Angry Viking

Marmalade  Cross-platform Android, iOS Symbian Windows, MacOS  Application and Game SDK  Mature product, good support  Powerful 3D pipeline Optimal performance geared for specific devices Full access to OpenGL ES 2.0  Language: C++ Visual Studio Xcode Compiles natively (uses NDK for Android) Supports ASM instructions  Games Need for Speed Shift Pro Evolution Soccer 2011

Standard Android OpenGL vs LibGDX!  Drawing text in standard Android SDK: // Create an empty, mutable bitmap Bitmap bitmap = Bitmap.createBitmap(256, 256, Bitmap.Config.ARGB_4444); // get a canvas to paint over the bitmap Canvas canvas = new Canvas(bitmap); bitmap.eraseColor(0); // get a background image from resources // note the image format must match the bitmap format Drawable background = context.getResources().getDrawable(R.drawable.background); background.setBounds(0, 0, 256, 256); background.draw(canvas); // draw the background to our bitmap // Draw the text Paint textPaint = new Paint(); textPaint.setTextSize(32); textPaint.setAntiAlias(true); textPaint.setARGB(0xff, 0x00, 0x00, 0x00); // draw the text centered canvas.drawText("Hello World", 16,112, textPaint); //Generate one texture pointer... gl.glGenTextures(1, textures, 0); //...and bind it to our array gl.glBindTexture(GL10.GL_TEXTURE_2D, textures[0]); //Create Nearest Filtered Texture gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_NEAREST); gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR); //Different possible texture parameters, e.g. GL10.GL_CLAMP_TO_EDGE gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_REPEAT); gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_REPEAT); //Use the Android GLUtils to specify a two-dimensional texture image from our bitmap GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0); //Clean up bitmap.recycle();

Standard Android OpenGL vs LibGDX!  Drawing text in LibGDX: BitmapFont font; SpriteBatch batch; public void create() { font = new BitmapFont(); batch = new SpriteBatch(); } public void render() { Gdx.graphics.getGL10().glClear(GL10.GL_COLOR_BUFFER_BIT); batch.begin(); font.draw(batch, "Hello World!", 10, 10); //..rest of drawing code for other elements batch.end(); }

Tic Tac Toe  My implementation of the tic tac toe game, using LibGDX

Tic Tac Toe

Thank you!