Federated Learning About Speaker

Total Page:16

File Type:pdf, Size:1020Kb

Federated Learning About Speaker IOTG Russia | Intel CV Academy 10 Mar 2021 Federated Learning About speaker Alexey Gruzdev ▪ Federated Learning Team Lead @ Intel ▪ MS in Computer Science ▪ HSE invited lecturer for ML/DL ▪ https://www.linkedin.com/in/alexe y-gruzdev-454399128 ▪ [email protected] Intel CV Academy 2020-21 2 AGENDA 1. Federated Learning : concepts & basic idea 2. Federated Learning : research status 3. OpenFL introduction 4. OpenFL demo 5. FL Tools comparison 6. Q & A Intel CV Academy 2020-21 3 Intel CV Academy 2020-21 4 Federated Learning Federated Learning -Google, 2017 https://ai.googleblog.com/2017/04/federated-learning-collaborative.html Intel CV Academy 2020-21 6 Federated Learning -Google, 2017 ai.googleblog.com/2017/04/federated-learning-collaborative.html w w 푛푖 ෍ 푤푖 w 푁 w Intel CV Academy 2020-21 7 Federated Learning a a t t+1, a b b t t+1, b Parameter t+1 Server c Aggregator t c t+1, c Intel CV Academy 2020-21 8 https://www.nature.com/articles/s41598-020-69250-1 Intel CV Academy 2020-21 9 Collaborative Federated Learning For Healthcare: Multi-Modal COVID-19 Diagnosis at the Edge (2021) https://arxiv.org/pdf/2101.07511.pdf Intel CV Academy 2020-21 10 Federated Object Detection: Optimizing Object Detection Model with Federated Learning https://dl.acm.org/doi/pdf/10.1145/3387168.3387181 Intel CV Academy 2020-21 11 Turn Signal Prediction: A Federated Learning Case Study (2020) https://arxiv.org/pdf/2012.12401.pdf Intel CV Academy 2020-21 12 Privacy-Preserving News Recommendation Model Learning (2020) https://arxiv.org/pdf/2003.09592.pdf Intel CV Academy 2020-21 13 How to backdoor FL? (2019) https://arxiv.org/pdf/1807.00459.pdf Intel CV Academy 2020-21 14 Inverting Gradients - How easy is it to break privacy in federated learning? (2020) https://arxiv.org/pdf/2003.14053.pdf Intel CV Academy 2020-21 15 Split learning for health: Distributed deep learning without sharing raw patient data (2018) https://arxiv.org/pdf/1812.00564.pdf Intel CV Academy 2020-21 16 Federated Learning Open Research/Engineering Questions • Vertical Federated Learning (sample is distributed over multiple machines) • Non-IID/Heterogeneous data • Communication efficiency at scale (what if we have 1k participants) • Collaborative Learning with variable number of participants • Collaborative Learning with different model architectures for participants • Weakly/Unsupervised setting (data is born without labels) • Can we develop better algorithm rather than just taking average? ☺ Intel CV Academy 2020-21 17 OpenFL introduction OpenFL Software Status v1.0 • Initial Open Source Release (Apache v2, github.com/intel/openfl) • TensorFlow 2 / PyTorch support • TaskRunner – Multiple workloads on different clients • Docker / Singularity containers • Examples: MNIST, Brain Tumor, Histology, Unet Polyp Segmentation, Adversarial training, Fine-tuning for TinyImageNet Docs: openfl.readthedocs.io/en/latest/index.html Intel CV Academy 2020-21 19 OpenFL Interfaces: Python API fx CLI Experimentation, Single Node Production, Multi-node Intel CV Academy 2020-21 20 OpenFL Architecture – 100k feet view Aggregator Collaborator CollaboratorCollaborator Tensor DB Tensor Codec Tensor DB Tensor Codec GLOBAL LOCAL gRPC mTLS Task Assigner Task Runner Private Data Intel CV Academy 2020-21 21 OpenFL Components: Plan ▪ Plan object responsibilities: • Parsing of FL Plan: • Plan.yaml • Defaults files for all components • List of collaborators • Network configuration • Hash configuration to enforce participants are using same plan • Serialization / deserialization of plan • Initialization of main OpenFL components Intel CV Academy 2020-21 22 FL Plan Aggregator Plan Collaborator Plan Data Loader Task Runner Intel CV Academy 2020-21 23 OpenFL Components: Aggregator ▪ What does the aggregator do? Aggregator • Acts as parameter server Tensor DB Tensor Codec • Aggregates model and metrics GLOBAL • After model aggregation, applies compression / delta computation to tensors Task Assigner • Performs end of round check Intel CV Academy 2020-21 24 OpenFL Components: Collaborator ▪ What does the collaborator do? Collaborator • Fetches tasks from Aggregator Tensor DB Tensor Codec • Calls functions on TaskRunner (could LOCAL be training, validation, etc.) • Local training on private data. Task Runner Private Data Intel CV Academy 2020-21 25 OpenFL demo Existing Federated Learning (FL) Solutions TensorFlow PySyft PaddleFL Flower Federated Concept integrated integrated static static Based on ML-Framework TensorFlow PyTorch PaddlePaddle Any (TensorFlow, PyTorch, JAX, ...) Remote Data Loading No No Yes Yes Supported Systems Local simulation and Local simulation and Docker OS and K8s (Docker Container), OS and K8s (Docker Docker container container distribution mobile, embedded and internet Container), mobile, distribution of things devices embedded and internet of things devices Currently supports Remote No Yes Yes Yes Worker GPU Support No Yes Yes Yes Differential Privacy Yes Not Now Yes Not Now Secure Aggregation (SMPC) No Yes Yes Not Now Resources for Code Examples Just a few very basic Tutorial & examples in Few examples in the repository Tutorials / examples in examples in the documentation and repository documentation, boilerplate documentation and + blog posts and community project examples in the repository projects repository Documentation & community Only developer Good documentation and Documentation in English. Most Good documentation and support documentation and good community support of community, issues and their good community support, stack overflow website are in Chinese e.g. through Slack community support Stars of Framework 1.4 k TensorFlow 6.8 k PySyft & 193 PaddleFL & 247 Flower & plenty of stars Federated & from your favourite ML- Framework https://www.inovex.de/blog/federated-learning-frameworks-part-2/ Intel CV Academy 2020-21 27 Existing Federated Learning (FL) Solutions PySyft OpenFL Concept integrated static Based on ML-Framework PyTorch Agnostic (PyTorch, TensorFlow) Remote Data Loading No Yes Supported Systems Local simulation and Docker container OS and Docker Container distribution Currently supports Remote Worker Yes ??? Yes GPU Support Yes Yes Differential Privacy Not Now Future Secure Aggregation (SMPC) Yes Yes, manually via Intel® SGX Resources for Code Examples Tutorial & examples in documentation and Fully-functional demos for PyTorch and repository + blog posts and community TensorFlow. projects Documentation & community support Good documentation and good community Documentation. Slack channel. GitHub issues. support Stars of Framework 6.8 k PySyft & 70 Intel CV Academy 2020-21 28 OpenFL vs PySyft OpenFL PySyft ▪ Concepts of Collaborator/Aggregator/ FL ▪ Concepts of VirtualWorker/Pointer to PyTorch Tensor/Duet/PyGrid plan/Workspace/TaskRunner ▪ Low-level integration in PyTorch Tensor object ▪ Own training engine with TaskRunner – you through pointer to Tensor entity must bring training code to OpenFL, not OpenFL to the training code (WIP under ▪ Much cleaner Python API from Data Scientist improvements here) point of view – more natural fit for existing codebase ▪ Harder to integrate with existing training ▪ Looks like an awesome API, however lack of code (due to more entities for real multi- support for multi-node real experiments. node secured scenarios ) • https://github.com/OpenMined/PySyft/issues/3101 • https://github.com/OpenMined/PySyft/issues/3885 Intel CV Academy 2020-21 29 OpenFL: open-source library for Federated Learning Python: Keras, TensorFlow, PyTorch GitHub github.com/intel/openfl Slack bit.ly/2MKAyAv Intel CV Academy 2020-21 30 We are hiring☺ ▪Deep Learning Engineer intel.ly/3r9LbvQ ▪Deep Learning R&D Intern bit.ly/3rgk8yX Intel CV Academy 2020-21 31 32.
Recommended publications
  • GAME CAREER GUIDE July 2016 Breaking in the Easy(Ish) Way!
    TOP FREE GAME TOOLS JULY 2016 GAME FROM GAME EXPO TO GAME JOB Indie intro to VR Brought to you by GRADUATE #2 PROGRAM JULY 2016 CONTENTS DEPARTMENTS 4 EDITOR’S NOTE IT'S ALL ABOUT TASTE! 96 FREE TOOLS FREE DEVELOPMENT TOOLS 2016 53 GAME SCHOOL DIRECTORY 104 ARRESTED DEVELOPMENT There are tons of options out there in terms INDIE DREAMIN' of viable game schools, and this list is just the starting point to get you acquainted with the schools near you (or far from you, if that’s what STUDENT POSTMORTEM you prefer!). 32 BEGLITCHED 72 VIRTUALLY DESIGNED NYU Game Center students Alec Thomson and Jennu Jiao Hsia discuss their IGF Award- VR has quickly moved from buzzword, to proto- winning match three game about insecurity type, to viable business. This guide will help you within computers, and within ourselves. get started in VR development, avoiding some common pitfalls. FEATURES 78 SOUNDS GOOD TO ME! 8 BREAKING IN THE EASY(ISH) WAY! Advice for making audio (with or without) How attending expos can land you a job. an audio specialist. 18 ZERO TO HERO Hey! You want to learn low poly modeling but 84 A SELLER’S MARKET don’t know where to start? Look no further! Marketing fundamentals for your first game. With this guide, we hope to provide a good introduction to not only the software, but 90 INTRO TO GAME ENGINES also the concepts and theory at play. A brief discussion of some of the newest and most popular DO YOU NEED A PUBLISHER? 34 game engines.
    [Show full text]
  • DAYVID JONES [email protected]
    DAYVID JONES [email protected] www.dayvid.com PROFILE I'm a producer, game and UX designer, creative director, developer and mentor. I have 16 years of experience building casual games, serious games, kids content, and other types of applications. My experience and skills also include general app development and UX design. My diverse hands on skills and experience make me a very effective producer, UX and game design- er, and developer. I have experience with and an understanding of many phases of the development cycle including: concepts, proposals, game design docs, UX flows, mood boards, storyboards, budg- ets, UMLs, game balancing (compulsion loop, intermittent gratification, consumables, metrics sheets, progression, item rarity distribution, random loot, actions per level, pricing curve, experience curve, talent trees, etc.), user testing, launching and support. I'm an instructor at The Academy of Art in San Francisco teaching OOP, storytelling, mobile devel- opment, UX, game development and game design. My creative and technical skills allow me to build rapid prototypes while UX and game designing. Be- cause I understand the development behind building a game or app, I know what’s simple and what’s challenging and can accurately design within a given scope. I produce, write, project manage, prototype, design, animate and program. I'm a leader, mentor and collaborator. I'm a huge creative and technical asset to any team. I also compose music loops and create sound FX, and have produced and engineered live audio and video streaming events. My development specialties: steering behavior (flocking behavior), path finding, isometric projection, 2d physics, OOP, code composition, creating easy to use APIs and reusable and portable frame- works.
    [Show full text]
  • Unleashing the Creative Power of Flash Professional CC
    Unleashing the Creative Power of Flash Professional CC Adobe MAX 2015 | Session L4555 | Joseph Labrecque Contents Abstract .............................................................................................................................................. 4 Objectives .......................................................................................................................................... 4 About the Instructor ....................................................................................................................... 5 Recent Publications ....................................................................................................................... 6 Lynda.com: HTML5 Canvas and WebGL in Flash Professional CC ............................... 6 Train Simple: Flash Professional CC Mobile App Development .................................... 6 More Publications… .................................................................................................................. 7 New in Flash Professional CC 2015.1 ......................................................................................... 7 Getting Acquainted with the Workspace .................................................................................. 9 Project 1: Designing Scenic Assets ........................................................................................... 11 Creating a New Project ........................................................................................................... 12 Setting up the
    [Show full text]
  • Recursos Para Os Participantes
    Recursos para os participantes Nota: Os recursos listados aqui são geralmente gratuitos, embora alguns tenham planos pagos para recursos extras. Índice: Game Engines HTML5 / Javascript Frameworks Tools 3D Modeling 2D and Vector Graphics Animation mapeditorOther Graphic Tools Coding IDEs Source Control Audio and Music Middleware Task Management Graphical Text-based Assets 3D Models Textures / 2D Art Audio Fonts Public Domain Board Games Miscellaneous Unity tools Other Game Engines Unity (powerful Asset Store, also check tools below) Unreal Engine 4 (comes with source code, marketplace) Cry Engine (comes with source code, marketplace) Amazon Lumberyard Scratch (no coding required, great for beginners and kids) PICO-8 (simple, great for small jams, code examples) GameMaker (great for beginners + marketplace) Godot (open source!) Construct 3 (web-based) Stencyl (no coding required) Defold (2D only) Ren’Py (visual novels) Twine (text-based games) Inkle Writer (text-based games) Adventure Game Studio IRRLicht (no coding required, 2D, does more than just RPGs) Bitsy (very simple gameplay, 2D) HTML5 / Javascript Canvas Engine - http://canvasengine.net/ Pixi.js - http://www.pixijs.com/ CreateJS (HTML5/Javascript libraries) - https://createjs.com/https://github.com/openMVG/awesome_3DReconstruction_list BabylonJS - (webGL engine) http://www.babylonjs.com/ Box2D (javascript 2D physics library) - http://box2d-js.sourceforge.net/ Phaser - http://phaser.io/ Superpowers - https://sparklinlabs.itch.io/superpowers Cocos2D HTML5 - http://www.cocos2d-x.org/download
    [Show full text]
  • Tiled Documentation Version 1.7.2 Thorbjørn Lindeijer
    Tiled Documentation Version 1.7.2 Thorbjørn Lindeijer sept. 22, 2021 Manuel d’Utilisation 1 Introduction 3 1.1 A propos de Tiled............................................3 1.2 Pour Débuter...............................................4 2 Projets 9 2.1 Ce qu’il y a dans un Projet........................................9 2.2 Sessions.................................................9 2.3 Ouvrir un Fichier dans le Projet..................................... 10 3 Travailler avec des Calques 11 3.1 Types de Calques............................................. 11 3.2 Facteur de Défilement de Parallaxe................................... 13 3.3 Teindre des Calques........................................... 14 4 Modifier des Calques de Tuiles 17 4.1 Brosse Tampon.............................................. 17 4.2 Brosse de Terrain............................................. 18 4.3 Outil de Seau de Remplissage...................................... 18 4.4 Outil de Remplissage de Forme..................................... 18 4.5 Gomme.................................................. 19 4.6 Outils de Sélection............................................ 19 4.7 Gérer les Tampons de Tuile....................................... 19 5 Travailler avec des Objets 21 5.1 Outils de Placement........................................... 21 5.2 Sélectionner des Objets......................................... 23 5.3 Éditer des Polygones........................................... 25 5.4 Connecter des Objets........................................... 25 6 Modifier
    [Show full text]
  • SDN and NFV for Service Providers Rada Stanic, Consulting Solutions Architect Agenda
    SDN and NFV for Service Providers Rada Stanic, Consulting Solutions Architect Agenda • Standards and Open Source Landscape • Emergence of Containers and Microservices • Cisco SDN and NFV Solutions • NFVI • Use Cases • What’s Next for Programmability ? • Summary and Conclusion Software Defined Networking • Decoupled Control and Data Planes • Highly Centralised Control (aka SDN Controller) • Greater application interaction with the network • An opportunity to re-think the relationship between network hardware and software Applications Control Plane Physical Data Plane SDN Definition (ONF): The physical separation of the Virtual network control plane from the forwarding plane, and where a control plane controls several devices. Network Functions Virtualisation • Transition of network services to run on virtualised compute infrastructure • Decoupling the service from the device • Elastic, consumption-based service model Purpose built appliances Servers! VNFs Standards and Open Source Landscape Evolving Network Stack – HW, OS, and Hypervisors Industry Organisations Application Software Infrastructure Software (Orchestration & Control) Network OS (Control & Management Planes) Network OS Network OS Virtual Forwarder (Control & Management Planes) (Control & Management Planes) (Optional, SDN Overlay) Device OS Hypervisor or Linux Container Custom (VM or LXC) Hypervisor or Linux Container Kernel (Device OS) Linux Linux Linux (Host OS) (Host OS) (Host OS) Custom Silicon Merchant Silicon Computex86 Compute Server (Data Plane) (Data Plane) (Cloud Platform)
    [Show full text]
  • Resources for Jammers
    RESOURCES FOR JAMMERS NB:文件由 Ciro Continisio(GGJ Rome)创建并所有,如果你有其他好的链接推荐,请申请在 Google Drive 的编辑权限。这里的大多资源都是免费的, 有些需要付费去获取额外的功能 (请注意此文件已经持续几年,可能有部分资源失效或者过气) 目录 工具 矢量/标量图形 & 2D 图形 源代码管理 集成开发环境 引擎 音乐音效 HTML5 / Javascript Frameworks 资源集成 3D 模型 材质 / 2D 美术 音乐音效 字体 SDKs 桌游工具 进度管理工具 图形版 文字版 其他 Documents from Global Game Jam, translated and published by CiGA 工具 Modeling - http://blender.org Open Source Tool for Storytelling - http://twinery.org/ Openframeworks - C++ toolkit - http://www.openframeworks.cc/ Color Scheme Designer - http://colorschemedesigner.com/ Sound editing - http://audacity.sf.net/ Music - http://lmms.sf.net/ 矢量/标量图形 & 2D 图形 GIMP / FOSS Photoshop - http://gimp.org , Get Paint : http://www.getpaint.net/ 2D Tile Map Editor - http://www.mapeditor.org/ Texture Packer - http://www.codeandweb.com/texturepacker Color Oracle - Color blindness testing - http://colororacle.org Inkscape - SVG Vector drawing tool- http://inkscape.org/ Aseprite - http://www.aseprite.org/ Pixlr - http://pixlr.com/editor/ 源代码管理 Mercurial SCM (software only) - http://mercurial.selenic.com Git (software only) - http://git-scm.com GitHub (software and hosting) - https://github.com Bitbucket (mercurial and git, hosting only) - https://bitbucket.org Sourcetree (nice visual gui software for git and mercurial): http://www.sourcetreeapp.com/ GitExtensions (similar to Sourcetree, but all FOSS): https://code.google.com/p/gitextensions/ 集成开发环境 Eclipse - http://www.eclipse.org/ Visual Studio Express - http://www.visualstudio.com/products/visual-studio-express-vs Monodevelop
    [Show full text]
  • Allowed to Start. It Must Be Resumed (Or Created) After a User Gesture on the Page
    allowed to start. It must be resumed (or created) after a user gesture on the page. https://goo.gl/7K7WLu lime_media_AudioManager.init @ mainlinehaxern.js?ver=24e6a24d6d1b09486095bed9bc9215eb:1 mainlinehaxern.js?ver=24e6a24d6d1b09486095bed9bc9215eb:1 Main.hx:37: Idle timeout is set to: 180000 mainlinehaxern.js?ver=24e6a24d6d1b09486095bed9bc9215eb:1 CompilerCondition.hx:24: {js => 1, source-header => Generated by Haxe 3.4.7, thx.core => 0.43.0, jquery_ver => 11204, openfl => 6.5.3, thx_color => 1, away3d => 5.0.4, uglifyjs_overwrite => 1, lime_html5 => 1, BabylonHx => 0.0.0, no- compilation => 1, zip => 1.1.0, openfl_html5 => 1, thx.culture => 0.5.0, lime-html5 => 1, thx.format => 0.6.0, openfl-html5 => 1, howlerjs => 1, lime_opengl => 1, uglifyjs => 0.0.91, haxe_ver => 3.407, thx_core => 1, as3hx => 1.0.6, js_es => 5, js-es5 => 1, js_es5 => 1, actuate => 1.8.7, dce => std, true => 1, html5 => 1, lime => 5.9.1, no_compilation => 1, web => 1, dragonbones => 5.1.0, lime-opengl => 1, tools => 5.9.1, haxe3 => 1, thx.color => 0.19.1, thx_format => 1} mainlinehaxern.js?ver=24e6a24d6d1b09486095bed9bc9215eb:1 Engine.hx:564: ### Enable stencil: true mainlinehaxern.js?ver=24e6a24d6d1b09486095bed9bc9215eb:1 Engine.hx:585: EXT_color_buffer_float mainlinehaxern.js?ver=24e6a24d6d1b09486095bed9bc9215eb:1 Engine.hx:585: EXT_color_buffer_half_float mainlinehaxern.js?ver=24e6a24d6d1b09486095bed9bc9215eb:1 Engine.hx:585: EXT_disjoint_timer_query_webgl2 mainlinehaxern.js?ver=24e6a24d6d1b09486095bed9bc9215eb:1 Engine.hx:585: EXT_float_blend mainlinehaxern.js?ver=24e6a24d6d1b09486095bed9bc9215eb:1
    [Show full text]
  • Perancangan Dan Pengembangan Permainan “Super Sigi” Menggunakan Stencyl Sebagai Media Pengenalan Menyikat Gigi
    Perancangan dan Pengembangan Permainan “Super Sigi” Menggunakan Stencyl Sebagai Media Pengenalan Menyikat Gigi Yusnia Alfi Syahrin1), Kodrat Iman Satoto2), Kurniawan Teguh Martono2) Program Studi Sistem Komputer Fakultas Teknik Universitas Diponegoro Jalan Prof. Sudharto, Tembalang, Semarang, Indonesia Abstract − To maintain and preserve healthy teeth is very beranjak dewasa nanti. Selain itu, anak juga akan sulit important to prevent damage inflicted due to ignore. The mencerna makanan sehingga proses pertumbuhannya akan introduction for maintaining and preserving the healthy terganggu, akibatnya anak akan mudah terserang penyakit[22]. teeth since early seems necessary because the damage of Pengenalan tentang menjaga kesehatan gigi pada anak- teeth which allowed too long would be bad for children anak juga dapat memanfaatkan peran multimedia salah later. The introduction about healthy teeth care for children satunya melalui game. Berdasarkan hal tersebut, muncul ide also can use the role of technology nowadays like untuk memperkenalkan cara merawat kesehatan gigi multimedia. Based on those things, there is an idea to khususnya menyikat gigi untuk anak-anak melalui permainan design and build a game application for helping that issue. “Super Sigi”. Dengan adanya permainan ini diharapkan akan Through this “Super Sigi” game, hopefully become an dapat mengenalkan kepada anak-anak tentang kebiasaan instrumentality of a healthy teeth care introduction merawat kesehatan gigi khususnya menyikat gigi. especially of brushing the teeth for children. The “Super Sigi” game is made from Stencyl. Stencyl is 1.2 Tujuan a toolkit for creating 2D video games that will run on many Tugas akhir ini bertujuan untuk merancang sebuah different mobile and desktop devices. This game developed aplikasi permainan sebagai sarana pengenalan tentang by the method of Multimedia Development Life Cycle menjaga kesehatan gigi khususnya menyikat gigi untuk anak- (MDLC) that consists of concept, design, collecting anak.
    [Show full text]
  • The MMC Diabetes Game Jam!
    Welcome to the MMC Diabetes Game Jam! You are about to take part in a game development happening: the MMC Diabetes Game Jam! Here are some notes on what to bring with you and how to prepare yourself for an amazing weekend. Come and develop new digital games to help the professional care givers at the Máxima Medical Center to teach their diabetes patients the best self-management strategies. Brainstorm with both care givers and patients to get up close and personal with your target audience, and develop the perfect tool just for them. This is a great way to experience user centered design first-hand! Previous programming skills are not required so wipe the dust from your camping mattress and sleeping bag and bring them to the Game Jam. And maybe, if your design really speaks to the care givers and patients, you will be asked to come on board of the Eindhoven Diabetes Educational Simulator (E-DES) development team to bring your game concept to market! Arrival The Jam takes place on March 13th–15th. The registration starts on Friday 13th at 17:30 at the following address in Eindhoven: Máxima Medical Center Ds. Theodór Fliednerstraat 1, 5631 BM Eindhoven When you arrive at the location, check in at the Info desk near the entrance. The Máxima Medical Center can be reached by public transport. Take bus 3 or 4 from the Eindhoven Central train station, exit Fontys Hogeschool/MMC Eindhoven. If you come by car, you can park on the hospital parking lot; parking tickets will be issued at the end of the Game Jam.
    [Show full text]
  • Resources for Jammers
    RESOURCES FOR JAMMERS NB: List maintained by Ciro Continisio (GGJ Rome). If you want to add an useful link, ask for editing permissions through the tool here on Google Drive. Resources listed here are generally free, though some have paid plans for extra features. Table of contents Tools Vector/Scalar Image & 2D Graphics Source Control IDEs Engines Audio HTML5 / Javascript Frameworks Assets 3D Models Textures / 2D Art Audio Fonts SDKs Board games Task Management Tools Graphical Text­based Miscellaneous Tools Modeling ­ http://blender.org Open Source Tool for Storytelling ­ http://twinery.org/ Openframeworks ­ C++ toolkit ­ http://www.openframeworks.cc/ Color Scheme Designer ­ http://colorschemedesigner.com/ Sound editing ­ http://audacity.sf.net/ Music ­ http://lmms.sf.net/ Vector/Scalar Image & 2D Graphics GIMP / FOSS Photoshop ­ http://gimp.org , Get Paint : http://www.getpaint.net/ 2D Tile Map Editor ­ http://www.mapeditor.org/ Texture Packer ­ http://www.codeandweb.com/texturepacker Color Oracle ­ Color blindness testing ­ http://colororacle.org Inkscape ­ SVG Vector drawing tool­ http://inkscape.org/ Aseprite ­ http://www.aseprite.org/ Pixlr ­ http://pixlr.com/editor/ Source Control Mercurial SCM (software only) ­ http://mercurial.selenic.com Git (software only) ­ http://git­scm.com GitHub (software and hosting) ­ https://github.com Bitbucket (mercurial and git, hosting only) ­ https://bitbucket.org Sourcetree (nice visual gui software for git and mercurial): http://www.sourcetreeapp.com/ GitExtensions (similar to Sourcetree, but
    [Show full text]
  • A Haxe Implementation of Essential Opengl Examples Using Duell Tool
    A Haxe Implementation of Essential OpenGL Examples Using Duell Tool Bachelor Arbeit Alexis Iakovenko-Marinitch Fachbereich Mathematik und Informatik Institut f¨urInformatik Freie Universit¨atBerlin, Deutschland July 29, 2016 Gutachter: Prof. Dr. Tim Landgraf und Dipl. Inf. Till Zoppke Betreuer: Dipl. Inf. Till Zoppke Externer Betreuer: Sven Otto, GameDuell GmbH Selbstst¨andigkeitserkl¨arung Hiermit best¨atigeich, dass ich die vorliegende Ausarbeitung mit dem Titel A Haxe Implementation of Essential OpenGL Examples Using Duell Tool selbstst¨andigund ohne unerlaubte Hilfe angefertigt habe. Ich versichere, dass ich ausschließlich die angegebenen Quellen in Anspruch genom- men habe. Statement of Authorship I declare that this thesis entitled A Haxe Implementation of Essential OpenGL Ex- amples Using Duell Tool is the result of my own research except as cited in the references. The thesis has not been accepted for any degree and is not concurrently submitted in candidature of any other degree. Except where acknowledged in the customary manner, the material presented in this thesis is, to the best of my knowl- edge, original and has not been submitted in whole or part for a degree in any university. Alexis Iakovenko-Marinitch Berlin, July 29, 2016 Abstract With the augmenting variety of platforms on the market, supporting as many of them became an inevitable obstacle to confront in order to reach as many users as possible. Platforms support different native languages, such as Java for Android or Objective-C for iOS. The most straight-forward way to support both of these platforms is to produce native codes for each of them, which is greatly cost and time consuming.
    [Show full text]