Uakeii Meets Java

Total Page:16

File Type:pdf, Size:1020Kb

Uakeii Meets Java Jake2 uakeIIuakeII meetsmeets JavaJava Dipl.-Ing. Carsten Weiße Dipl.-Inf. René Stöckel http://www.bytonic.de Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 1 uakeII meets Java 135. Unix Stammtisch an der TU-Chemnitz l Das Sourceforge-Projekt Jake2 l Wie langsam ist Java wirklich? l (3D-Game-Engine Interna) Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 2 Wer sind bytonic software? g Rene Stöckel l Dipl.-Inf. (TU-Chemnitz) l Systemhaus Chemnitz GmbH g Carsten Weiße l Dipl.-Ing. für Informationstecknik (BA-Glauchau) l Bildungsportal Sachsen GmbH g Holger Zickner l Dipl.-Inf. (Uni Halle) l Mitarbeiter am Lehrstuhl für Maschinenbau der TU-Chemnitz l VR-Labor Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 3 Jake2 – Motivation / Ziele g id-software stellt seine Q2-Engine unter die GPL. g Der Quake II source code ist somit seit Ende 2001 verfügbar. g Analysieren der Quake II Engine g Suche nach Inspiration „back to the roots“ g Schnaps-Idee (Spass an der Informatik) g Benchmark-Wette (Slideshow oder Spiel?) g Wie organisiert man die Zusammenarbeit (Teamwork, verteiltes Entwickeln mit CVS)? Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 4 Der erste Kontakt g Quake2 Code Pfad (170 000 Zeilen Code) g Erster Eindruck: sehr strukturiert g Wie bekommt man dieses Monster in den Griff? l nicht mit dem vi l Einfache Skripte (Portierung von #define-Konstanten, Monster- Automaten) l Code templates (Eingabehilfen in Eclipse) l Suchen-/Ersetzen Tricks Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 5 Jake2 – Vorüberlegungen Java-API Tests l JOGL (Java OpenGL binding) für den Renderer l Demos unter https://jogl.dev.java.net l Sound wurde erstmal nicht betrachtet l später JOAL (Java OpenAL binding) für den 3D-Sound l als alternative auch LWJGL (game library möglich) Festlegungen und Portierungstrategien l souce code Verwaltung per CVS l Never touch a running system! l Aufteilung in 3 Arbeitspakete • Nach Interessengebieten • Nach Schnittstellen Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 6 Werkzeuge g Doxygen (HTML-Doku des Quake2 source codes) g Eclipse (Java IDE) g CVS (zur Verwaltung des source codes) g ANT (XML-basiertes build tool; ähnlich make) g einfache Skripte (erledigen stupider Arbeiten) g Gehirnschmalz g regelmäßige Treffen und Absprachen g konstruktiver Streit Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 7 Jake2 und Eclipse Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 8 Jake2 – Arbeitspakete cvs.sourceforge.net/cvsroot/jake2 Entwickler: rst cwei hoz Packages Screen / Menu / Effekt-Darstellung Game-Engine (Monsters, Doors, Players, Items) Installer / Webstart FileSystem, Network 3D-Darstellung Server / Physik / World / Entities 3D-Surround-Sound Keyboard / Maus Math3D Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 9 Erste Ergbnisse (Tests) g die Klasse TestRenderer l Partikelsystem l Playermodell l Sprites g Beispiel: Partikelanimation l simple Datenstruktur mit Bewegungsvektoren l definierte Verfallszeit bzw. -Geschwindigkeit 2 l einfache Physik ( s = a/2*t + v*t + s0 ) l gezeichnet werden aktive Partikel l ist das Partikel "verglüht", wird es aus der Aktivliste entfernt Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 10 Jake2 – Phase II g Motivation war mit den ersten sichtbaren Ergebnissen gestiegen g Zusammenbau der Einzelteile mit dem Ziel Demo-Replay g Erste Probleme tauchten auf… Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 11 CCààJavaJava NightmareNightmare g zero terminated C strings g signed bytes L g Beispiel: // WriteInt() sb.data[i++] = (byte) ((c & 0xff)); sb.data[i++] = (byte) ((c >>> 8) & 0xff); sb.data[i++] = (byte) ((c >>> 16) & 0xff); sb.data[i++] = (byte) ((c >>> 24) & 0xff); // ReadInt() c = (msg_read.data[msg_read.readcount] & 0xff) | ((msg_read.data[msg_read.readcount + 1] & 0xff) << 8) | ((msg_read.data[msg_read.readcount + 2] & 0xff) << 16) | ((msg_read.data[msg_read.readcount + 3] & 0xff) << 24); Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 12 CCààJavaJava NightmareNightmare g Zuweisungsoperator l C: es wird kopiert (auch ganze Strukturen) l Java: es werden Objektreferenzen zugewiesen g Ergebnis: seltsame Effekte g Beispiel: // C ent->current = *state; // Java ent.current.set(state); public void set(entity_state_t from) { number = from.number; Math3D.VectorCopy(from.origin, origin); Math3D.VectorCopy(from.old_origin, old_origin); modelindex = from.modelindex; ... } Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 13 CCààJavaJava NightmareNightmare g Adapter statt function pointer: static xcommand_t List_f = new xcommand_t() { public void execute() { ... } }; g Problem: Rekonstruktion der zugewiesenen Adapter in Savegames g Lösung: Classloader-Trick in abstrakter Adapter-Klasse Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 14 Wie langsam ist Java wirklich? Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 15 Jake2Jake2 aufauf derder CeBitCeBit 20042004 g Ergebnis war überraschend g Idee: Anruf bei Sun Microsystems à Einladung zum Meeting auf der CeBit g Kommerzielle Verwertung schwierig… g Treffen mit Jamba (Handy Spiele?) àVeröffentlichung bei Sourceforge Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 16 Sourceforge g CVS g Downloads g Screenshots g Bug tracker g Task manager g Forum g Mailing Lists g Donation system Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 17 Sourceforge: Bug tracking Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 18 Jake2Jake2 gehtgeht OpenOpen SourceSource g Interesse von Sun (jogl team) und Apple (JDK team) g Showcase auf der Sun JavaOne in San Francisco g Gleichzeitig Showcase auf der WWDC (apple‘s world wide developer conference) g Jake2 heizte Diskussion „C++ vs. Java“ in verschiedenen Foren an (siehe slashdot.org) à Insbesondere die Benchmarktabelle… Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 19 Jake2 – Benchmarks Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 20 Jake2 - Optimierung g JNI (Java native interface) l Overhead durch den Wechsel zwischen Java-Heap und C-Heap l Anzahl der Aufrufe an *.dll bzw. *.so minimieren l z.B. Vertexarrays mit DirectBuffers (java.nio package) g Wo und wie liegen die Objekte im Speicher? l Cache-Hits?! l z.B. Baumstrukturen in Arrays organisieren und danach verketten g Variablen so spät wie möglich definieren g Vermeiden von lokalen Müllobjekten (GC wird belastet) l Java legt keine Strukturen auf den Stack l (soll sich bei Java 6.0 "Mustang" ändern) l z.B.: temporäre float[] für Vektoren kurze Lebensdauer, aber Speicheranforderung Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 21 Java Web Start g Ersatz für Applets g Verteilte Bibliotheken (jogl wird von Sun geladen) g Signieren von Jar-Files g Keine Programmänderungen nötig g XML Startdatei (JNLP java network launch protocol) <?xml version="1.0" encoding="utf-8"?> <jnlp spec="1.0+" codebase="http://www.bytonic.de/downloads" href="jake2_jogl11.jnlp"> <application-desc main-class="jake2.Jake2"> </application-desc> </jnlp> Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 22 Jake2 play now! Jake2 läuft per Mausklick aus dem Browser g auf jedem Betriebssystem mit Java (JRE1.4.2) oder neuer g und benötigt nur einfache User-Berechtigungen g http://www.bytonic.de/html/jake2_webstart.html Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 23 Fazit Java: g für Desktop-Anwendungen einsetzbar g Speicher: 40 MB (C++ Quake) 100 MB (Jake2) g Fixkosten: 50 – 80 MB für VM und JRE g Variable Kosten: Extra Speicher für Objekt-Verwaltung des Garbage Collectors g Class sharing im JDK 1.5.0: Start 2-3 mal schneller, spart OS-Speicher Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 24 Todo g Source code aufräumen g Weiteres Profiling l Speicherverbrauch optimieren g Dokumentieren g Release 1.0 g Sich um die Fan-Gemeinde kümmern Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 25 Danke für die Aufmerksamkeit, Dipl.-Ing. Carsten Weiße, Dipl.-Inf. René Stöckel http://www.bytonic.de Jake2 - Quake || meets Java 135. Unix Stammtisch TU Chemnitz 26.
Recommended publications
  • Master Thesis
    Faculty of Computer Science and Management Field of study: COMPUTER SCIENCE Specialty: Information Systems Design Master Thesis Multithreaded game engine architecture Adrian Szczerbiński keywords: game engine multithreading DirectX 12 short summary: Project, implementation and research of a multithreaded 3D game engine architecture using DirectX 12. The goal is to create a layered architecture, parallelize it and compare the results in order to state the usefulness of multithreading in game engines. Supervisor ...................................................... ............................ ……………………. Title/ degree/ name and surname grade signature The final evaluation of the thesis Przewodniczący Komisji egzaminu ...................................................... ............................ ……………………. dyplomowego Title/ degree/ name and surname grade signature For the purposes of archival thesis qualified to: * a) Category A (perpetual files) b) Category BE 50 (subject to expertise after 50 years) * Delete as appropriate stamp of the faculty Wrocław 2019 1 Streszczenie W dzisiejszych czasach, gdy społeczność graczy staje się coraz większa i stawia coraz większe wymagania, jak lepsza grafika, czy ogólnie wydajność gry, pojawia się potrzeba szybszych i lepszych silników gier, ponieważ większość z obecnych jest albo stara, albo korzysta ze starych rozwiązań. Wielowątkowość jest postrzegana jako trudne zadanie do wdrożenia i nie jest w pełni rozwinięta. Programiści często unikają jej, ponieważ do prawidłowego wdrożenia wymaga wiele pracy. Według mnie wynikający z tego wzrost wydajności jest warty tych kosztów. Ponieważ nie ma wielu silników gier, które w pełni wykorzystują wielowątkowość, celem tej pracy jest zaprojektowanie i zaproponowanie wielowątkowej architektury silnika gry 3D, a także przedstawienie głównych systemów używanych do stworzenia takiego silnika gry 3D. Praca skupia się na technologii i architekturze silnika gry i jego podsystemach wraz ze strukturami danych i algorytmami wykorzystywanymi do ich stworzenia.
    [Show full text]
  • GWT + HTML5 Can Do What? (Google I/O 2010)
    GWT + HTML5 Can Do What!? Ray Cromwell, Stefan Haustein, Joel Webber May 2010 View live notes and ask questions about this session on Google Wave http://bit.ly/io2010-gwt6 Overview • HTML5 and GWT • Demos 1. Eyes 2. Ears 3. Guns What is HTML5 • Formal definition o Best practices for HTML interpretation o Audio and Video elements o Other additional elements • Colloquial meaning o Canvas o WebGL o WebSockets o CSS 3 o LocalStorage o et al GWT support for HTML5 • Very easy to build Java wrappers • Many already exist in open-source projects • Will be moving many of these into GWT proper (~2.2) • Not part of GWT core yet • GWT has always strived to be cross-browser • Most new features are not available on all browsers WebGL • OpenGL ES 2.0, made Javascript-friendly • Started by Canvas3D work at Mozilla • Spread to Safari and Chrome via WebKit • Canvas.getContext("webgl"); WebGL Differences to OpenGL 1.x • No fixed function pipeline (no matrix operations, no predefined surface models) • Supports the GL Shader Language (GLSL) o Extremely flexible o Can be used for fast general computation, too • Distinct concepts of native arrays and buffers o Buffers may be stored in graphics card memory o Arrays provide element-wise access from JS o Data from WebGL Arrays needs to be copied to WebGL buffers before it can be be used in graphics operations Eyes: Image Processing Image Processing Photoshop Filters in the Browser • Work on megapixel images • At interactive frame rates • Provide general purpose operations o scale, convolve, transform, colorspace
    [Show full text]
  • Collaborative Design: Integrating Game Engine to Online Interactive Presentation Tool
    COLLABORATIVE DESIGN: INTEGRATING GAME ENGINE TO ONLINE INTERACTIVE PRESENTATION TOOL RAKTUM SALLKACHAT, ARAYA CHOUTGRAJANK Master of Science Program in Computer-Aided Architectural Design Rangsit University, Thailand. [email protected]; [email protected] Abstract. In this research, we aim at the development of a computer- aided collaborative design tool, which supports the online architectural presentation independently from computer platforms and locations. Users are enabled to access the system and collaborate among working team via the Internet. Various online 3D Game engines are explored and evaluated. One 3D Game engine is selected and used as a base engine for the collaborative tool development. The application development will specifically concentrate on real-time presentation, shared representation and understanding among design teams and project owner. Traditional architectural design presentation in collaboration process will be imitated and transformed into digital age online presentation. 1. Introduction Traditionally, design collaboration between designers and clients used to be simply managed by using sketch, two-dimensional drawing, architectural model, and perspective drawing. These traditional tools are essential in architectural design process since they represents some forms of prototypes, which help architects in understanding clients’ needs as well as designing and developing projects that match clients’ expectation. In this information age, computer technology has been playing an important role and gradually replacing the traditional tools. Outcomes from this new digital tool are so real that customers could convincingly experience the design prior to actual construction. The development of architectural-specific application, especially 3-D presentation application, are complex and would need high-end system in both development and implementation phases.
    [Show full text]
  • Quake Manual
    The Story QUAKE Background: You get the phone call at 4 a.m. By 5:30 you're in the secret installation. The commander explains tersely, "It's about the Slipgate device. Once we perfect these, we'll be able to use them to transport people and cargo from one place to another instantly. "An enemy codenamed Quake, is using his own slipgates to insert death squads inside our bases to kill, steal, and kidnap. "The hell of it is we have no idea where he's from. Our top scientists think Quake's not from Earth, but another dimension. They say Quake's preparing to unleash his real army, whatever that is. "You're our best man. This is Operation Counterstrike and you're in charge. Find Quake, and stop him ... or it ... You have full authority to requisition anything you need. If the eggheads are right, all our lives are expendable." Prelude to Destruction: While scouting the neighborhood, you hear shots back at the base. Damn, that Quake bastard works fast! He heard about Operation Counterstrike, and hit first. Racing back, you see the place is overrun. You are almost certainly the only survivor. Operation Counterstrike is over. Except for you. You know that the heart of the installation holds a slipgate. Since Quake's killers came through, it is still set to his dimension. You can use it to get loose in his hometown. Maybe you can get to the asshole personally. You pump a round into your shotgun, and get moving. System Requirements General Quake System Requirements IBM PC and Compatible Computers Pentium 75 MHz processor or better (absolutely must have a Math Co-Processor!) VGA Compatible Display or better Windows 95 Operation: 16MB RAM minimum, 24MB+ recommended CD-ROM drive required Hard Drive Space Needed: 80 MB Specialized Requirements For WinQuake (WINQUAKE.EXE): Windows 95/98/ME/NT/2000 For GLQuake (GLQUAKE.EXE): Windows 95/98/ME/NT/2000 Open GL Compatible Video Card GLQUAKE supports most 100% fully OpenGL compliant 3D accelerator cards.
    [Show full text]
  • Quake Three Download
    Quake three download Download ioquake3. The Quake 3 engine is open source. The Quake III: Arena game itself is not free. You must purchase the game to use the data and play. While the first Quake and its sequel were equally divided between singleplayer and multiplayer portions, id's Quake III: Arena scrapped the. I fucking love you.. My car has a Quake 3 logo vinyl I got a Quake 3 logo tatoo on my back I just ordered a. Download Demo Includes 2 items: Quake III Arena, QUAKE III: Team Arena Includes 8 items: QUAKE, QUAKE II, QUAKE II Mission Pack: Ground Zero. Quake 3 Gold Free Download PC Game setup in single direct link for windows. Quark III Gold is an impressive first person shooter game. Quake III Arena GPL Source Release. Contribute to Quake-III-Arena development by creating an account on GitHub. Rust Assembly Shell. Clone or download. Quake III Arena, free download. Famous early 3D game. 4 screenshots along with a virus/malware test and a free download link. Quake III Description. Never before have the forces aligned. United by name and by cause, The Fallen, Pagans, Crusaders, Intruders, and Stroggs must channel. Quake III: Team Arena takes the awesome gameplay of Quake III: Arena one step further, with team-based play. Run, dodge, jump, and fire your way through. This is the first and original port of ioquake3 to Android available on Google Play, while commercial forks are NOT, don't pay for a free GPL product ***. Topic Starter, Topic: Quake III Arena Downloads OSP a - Download Aerowalk by the Preacher, recreated by the Hubster - Download.
    [Show full text]
  • Opengl the Java Way Let’S Look at How Opengl Graphics Are Done in Java
    For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. Contents at a Glance Contents .............................................................................................................. v About the Author ............................................................................................... xxi About the Technical Reviewers ....................................................................... xxii Acknowledgment ............................................................................................. xiii Introduction ..................................................................................................... xiii ■Chapter 1: Welcome to the World of the Little Green Robot ............................ 1 ■Chapter 2: Gaming Tricks for Phones or Tablets ........................................... 19 ■Chapter 3: More Gaming Tricks with OpenGL and JNI ................................... 59 ■Chapter 4: Efficient Graphics with OpenGL ES 2.0 ....................................... 113 ■Chapter 5: 3D Shooters for Doom ................................................................ 145 ■Chapter 6: 3D Shooters for Quake ............................................................... 193 ■Chapter 7: 3D Shooters for Quake II ............................................................. 233 ■Appendix: Deployment and Compilation Tips .............................................. 261 Index ..............................................................................................................
    [Show full text]
  • The Discourse of Digital Dispossession
    Article Games and Culture 2018, Vol. 13(7) 690-707 ª The Author(s) 2018 The Discourse of Article reuse guidelines: sagepub.com/journals-permissions DOI: 10.1177/1555412018756488 Digital Dispossession: journals.sagepub.com/home/gac Paid Modifications and Community Crisis on Steam Daniel James Joseph1 Abstract This article is a chronicle and analysis of a community crisis in digital space that took place on Valve Corporation’s digital distribution platform, Steam. When Valve and Bethesda (publisher and developer of Skyrim) decided to allow mods to be sold by mod makers themselves, there ensued a community revolt against the commodifi- cation of leisure and play. I put this crisis of play and work in dialogue with Harvey’s concept of “accumulation by dispossession,” firmly placing it within a longer history of disruptive capital accumulation strategies. I then conduct a discourse analysis of community members on reddit, as they make sense of and come to terms with this process of dispossession. Arising in the discourse was not class consciousness per se, but instead a pervasive feeling of helplessness and frustration as games, play, and leisure began to feel like work. Keywords digitallabor,play,Steam,platformstudies, digital distribution, game studies, discourse analysis 1 University of Toronto, Mississauga, Canada Corresponding Author: Daniel James Joseph, University of Toronto, 3359 Mississauga Rd., Mississauga, Canada L5L 1C6. Email: [email protected] Joseph 691 On April 23, 2015, the digital game developer and production company, Valve Corporation, announced through their digital distribution platform Steam the intro- duction of buying and selling of “mods, maps, and all kinds of items that you’ve created.” They continued, saying that “with a new, streamlined process for listing and selling your creations, the Steam Workshop now supports buying mods directly from the Workshop, to be immediately usable in game” (Valve Corporation, 2015).
    [Show full text]
  • Quake III Arena This Page Intentionally Left Blank Focus on Mod Programming for Quake III Arena
    Focus on Mod Programming for Quake III Arena This page intentionally left blank Focus on Mod Programming for Quake III Arena Shawn Holmes © 2002 by Premier Press, a division of Course Technology. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, elec- tronic or mechanical, including photocopying, recording, or by any information stor- age or retrieval system without written permission from Premier Press, except for the inclusion of brief quotations in a review. The Premier Press logo, top edge printing, and related trade dress are trade- marks of Premier Press, Inc. and may not be used without written permis- sion. All other trademarks are the property of their respective owners. Publisher: Stacy L. Hiquet Marketing Manager: Heather Hurley Managing Editor: Sandy Doell Acquisitions Editor: Emi Smith Series Editor: André LaMothe Project Editor: Estelle Manticas Editorial Assistant: Margaret Bauer Technical Reviewer: Robi Sen Technical Consultant: Jared Larson Copy Editor: Kate Welsh Interior Layout: Marian Hartsough Cover Design: Mike Tanamachi Indexer: Katherine Stimson Proofreader: Jennifer Davidson All trademarks are the property of their respective owners. Important: Premier Press cannot provide software support. Please contact the appro- priate software manufacturer’s technical support line or Web site for assistance. Premier Press and the author have attempted throughout this book to distinguish proprietary trademarks from descriptive terms by following the capitalization style used by the manufacturer. Information contained in this book has been obtained by Premier Press from sources believed to be reliable. However, because of the possibility of human or mechanical error by our sources, Premier Press, or others, the Publisher does not guarantee the accuracy, adequacy, or completeness of any information and is not responsible for any errors or omissions or the results obtained from use of such information.
    [Show full text]
  • Quake 4 Mods for Dummies.Pdf
    01_037466 ffirs.qxp 6/26/06 11:45 PM Page iii Quake 4™ Mods FOR DUMmIES‰ by Erik Guilfoyle 01_037466 ffirs.qxp 6/26/06 11:45 PM Page ii 01_037466 ffirs.qxp 6/26/06 11:45 PM Page i Quake 4™ Mods FOR DUMmIES‰ 01_037466 ffirs.qxp 6/26/06 11:45 PM Page ii 01_037466 ffirs.qxp 6/26/06 11:45 PM Page iii Quake 4™ Mods FOR DUMmIES‰ by Erik Guilfoyle 01_037466 ffirs.qxp 6/26/06 11:45 PM Page iv Quake 4™ Mods For Dummies® Published by Wiley Publishing, Inc. 111 River Street Hoboken, NJ 07030-5774 www.wiley.com Copyright © 2006 by Wiley Publishing, Inc., Indianapolis, Indiana Published by Wiley Publishing, Inc., Indianapolis, Indiana Published simultaneously in Canada No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permit- ted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Legal Department, Wiley Publishing, Inc., 10475 Crosspoint Blvd., Indianapolis, IN 46256, (317) 572-3447, fax (317) 572-4355, or online at http://www.wiley.com/go/permissions. Trademarks: Wiley, the Wiley Publishing logo, For Dummies, the Dummies Man logo, A Reference for the Rest of Us!, The Dummies Way, Dummies Daily, The Fun and Easy Way, Dummies.com, and related trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc.
    [Show full text]
  • List of TCP and UDP Port Numbers - Wikipedia, the Free Encyclopedia List of TCP and UDP Port Numbers from Wikipedia, the Free Encyclopedia
    8/21/2014 List of TCP and UDP port numbers - Wikipedia, the free encyclopedia List of TCP and UDP port numbers From Wikipedia, the free encyclopedia This is a list of Internet socket port numbers used by protocols of the Transport Layer of the Internet Protocol Suite for the establishment of host-to-host connectivity. Originally, port numbers were used by the Network Control Program (NCP) which needed two ports for half duplex transmission. Later, the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP) needed only one port for bidirectional traffic. The even numbered ports were not used, and this resulted in some even numbers in the well-known port number range being unassigned. The Stream Control Transmission Protocol (SCTP) and the Datagram Congestion Control Protocol (DCCP) also use port numbers. They usually use port numbers that match the services of the corresponding TCP or UDP implementation, if they exist. The Internet Assigned Numbers Authority (IANA) is responsible for maintaining the official assignments of port numbers for specific uses.[1] However, many unofficial uses of both well-known and registered port numbers occur in practice. Contents 1 Table legend 2 Well-known ports 3 Registered ports 4 Dynamic, private or ephemeral ports 5 See also 6 References 7 External links Table legend Use Description Color Official Port is registered with IANA for the application[1] White Unofficial Port is not registered with IANA for the application Blue Multiple use Multiple applications are known to use this port. Yellow Well-known ports The port numbers in the range from 0 to 1023 are the well-known ports or system ports.[2] They are used by system processes that provide widely used types of network services.
    [Show full text]
  • Running Quake II on a Grid
    Running Quake II on a grid & As a genre of computer games, the massively multiplayer online game (MMOG) has the promise of enabling up to tens—or even hundreds—of thousands of simultaneous players. This paper describes how we began with an existing single-server online game engine and enhanced it to become a multiserver MMOG engine running on a grid. Other approaches require that a game be specifically designed to scale to MMOG G. Deen player levels. Our approach, using IBM OptimalGrid middleware (which provides an M. Hammer abstracted underlying grid infrastructure to an application) allowed us to reuse an J. Bethencourt existing game engine without the need to make any significant changes to it. In this I. Eiron paper we examine the design elements needed by an MMOG and provide a practical J. Thomas implementation example—the extension of the id Software Quake IIt game engine J. H. Kaufman using OptimalGrid middleware. A key feature of this work is the ability to programmatically partition a game world onto a dynamically chosen and sized set of servers, each serving one or more regions of the map, followed by the reintegration of the distributed game world into a seamless presentation for game clients. We explore novel features developed in this work and present results of our initial performance validation experiments with the resulting system. INTRODUCTION ness plan and renamed itself Emergent Game The computer game industry is deploying a new Technologies. At the time of the writing of this genre known as the massively multiplayer online paper, details about this new entity’s game archi- game (MMOG), characterized by large numbers of tecture were not available.
    [Show full text]
  • Kristoffer Marc Getchell Phd Thesis
    ENABLING EXPLORATORY LEARNING THROUGH VIRTUAL FIELDWORK Kristoffer Marc Getchell A Thesis Submitted for the Degree of PhD at the University of St. Andrews 2010 Full metadata for this item is available in the St Andrews Digital Research Repository at: https://research-repository.st-andrews.ac.uk/ Please use this identifier to cite or link to this item: http://hdl.handle.net/10023/923 This item is protected by original copyright 1 Enabling Exploratory Learning Through Virtual Fieldwork Kristoffer Marc Getchell A dissertation submitted in partial fulfilment of the requirements for the degree of Doctor of Philosophy of the University of St Andrews May 2009 School of Computer Science University of St Andrews St Andrews, FIFE KY16 9SX 1 Abstract This dissertation presents a framework which supports a group-based exploratory approach to learning and integrates 3D gaming methods and technologies with an institutional learning environment. This provides learners with anytime-anywhere access to interactive learning materials, thereby supporting a self paced and personalised approach to learning. A simulation environment based on real world data has been developed, with a computer games methodology adopted as the means by which users are able to progress through the system. Within a virtual setting users, or groups of users, are faced with a series of dynamic challenges with which they engage until such time as they have shown a certain level of competence. Once a series of domain specific objectives have been met, users are able to progress forward to the next level of the simulation. Through the use of Internet and 3D visualisation technologies, an excavation simulator has been developed which provides the opportunity for students to engage in a virtual excavation project, applying their knowledge and reflecting on the outcomes of their decisions.
    [Show full text]