NO20111454A1 - A system for developing computer games on the Internet - Google Patents

A system for developing computer games on the Internet Download PDF

Info

Publication number
NO20111454A1
NO20111454A1 NO20111454A NO20111454A NO20111454A1 NO 20111454 A1 NO20111454 A1 NO 20111454A1 NO 20111454 A NO20111454 A NO 20111454A NO 20111454 A NO20111454 A NO 20111454A NO 20111454 A1 NO20111454 A1 NO 20111454A1
Authority
NO
Norway
Prior art keywords
computer
web
computer game
course
game
Prior art date
Application number
NO20111454A
Other languages
Norwegian (no)
Other versions
NO333583B1 (en
Inventor
Ole-Ivar Holthe
Original Assignee
Gridmedia Technologies As
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gridmedia Technologies As filed Critical Gridmedia Technologies As
Priority to NO20111454A priority Critical patent/NO333583B1/en
Publication of NO20111454A1 publication Critical patent/NO20111454A1/en
Publication of NO333583B1 publication Critical patent/NO333583B1/en

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

Oppfinnelsen omfatter et system som består av et web-basert system ("Web OS") i en web browser eller web browser plug-in, en desktop applikkasjon, et klient program/vindu og/eller en web browser plug-in for fjernspilling og/eller lokal spilling, og et accessible OS for binde og svaksynte brukere.The invention comprises a system consisting of a web-based system ("Web OS") in a web browser or web browser plug-in, a desktop application, a client program / window and / or a web browser plug-in for remote play and / or local gaming, and an accessible OS for bind and sighted users.

Description

INTRODUKSJON INTRODUCTION

Oppfinnelsen er generelt sett relatert til informasjonsteknologisystemer, og mer spesifikt til et system for utvikling av høykvalitets dataspill på Internett. The invention generally relates to information technology systems, and more specifically to a system for developing high-quality computer games on the Internet.

BAKGRUNN BACKGROUND

Det eksisterer en god del kjent teknikk innen det tekniske området til oppfinnelsen. Noen eksempler på dette er: There is a good deal of prior art within the technical area of the invention. Some examples of this are:

o Systemer for web-baserte operativssystemer på Internett: YouOS og EyeOS. o Systems for web-based operating systems on the Internet: YouOS and EyeOS.

o Systemer for fjernspillingsopplevelser på Internett: OnLive og GaiKai. o Systems for remote gaming experiences on the Internet: OnLive and GaiKai.

o System for "hosted game development environment" (US patent application number US2004/0106452 Al). o System for "hosted game development environment" (US patent application number US2004/0106452 Al).

Det finnes mange systemer for utvikling av dataspill. Spillmotorer brukes for å tilby selveste kjernefunksjonaliteten i dataspill (f.eks. Crytek CryEngine og Unreal Engine). Det finnes en There are many systems for developing computer games. Game engines are used to provide the very core functionality of computer games (e.g. Crytek CryEngine and Unreal Engine). There is one

lang rekke verktøy for å lage 3D innhold i dataspill (f.eks. Blender, Autodesk 3D Studio Max, Autodesk Maya, Autodesk Softimage, Poser, DAZ Studio, Bryce og MojoWorld). Videre tilbys det en lang rekke verktøy for å lage musikk, lydeffekter, fysikkeffekter, karakteranimasjon, lyssetting, med videre. Det er hovedsaklig to grafikkbiblioteker per idag for visualisering av 3D grafikk i sanntid i dataspill (dvs. DirectX og OpenGL). nVidia eksperimenterer med en ny type sanntids visualisering med ray-tracing, kalt nVidia OptiX. Ray-tracing er en gammel og godt kjent fremgangsmåte for visualisering av 3D grafikk, men ettersom ray-tracing er mye mer prosessorkrevende enn raster-baserte teknikker (som DirectX og OpenGL benytter), er ray-tracing lite brukt idag til sanntids dataspill 3D grafikk visualisering. Vi tror at ray-tracing vil bli hovedfremgangsmåten for sanntids dataspill 3D grafikk visualisering i fremtiden, fordi prosessorkraften blir stadig bedre i datamaskiner. Det finnes web-baserte operativsystemer (f.eks. YouOS og EyeOS) for ordinære forretningsmessige behov (f.eks. e-post, chat/instant messaging, tekstbehandling, regneark, fillagring, kalkulator, og lignende). Det finnes ingen web-baserte operativsystemer, såvidt vi kjenner til, for spillutvikling. Det finnes også en del tjenester som tilbyr fjernspilling av dataspill over Internett (f.eks. OnLive og GaiKai). Det er også tilgjengelig en del verktøy for studenter og hobby-spillutviklere (f.eks. Microsoft XNA). wide range of tools for creating 3D content in computer games (eg Blender, Autodesk 3D Studio Max, Autodesk Maya, Autodesk Softimage, Poser, DAZ Studio, Bryce and MojoWorld). Furthermore, a wide range of tools are offered for creating music, sound effects, physics effects, character animation, lighting, etc. There are mainly two graphics libraries per today for the visualization of 3D graphics in real time in computer games (ie DirectX and OpenGL). nVidia is experimenting with a new type of real-time ray-tracing visualization called nVidia OptiX. Ray-tracing is an old and well-known method for visualizing 3D graphics, but as ray-tracing is much more processor-intensive than raster-based techniques (which DirectX and OpenGL use), ray-tracing is little used today for real-time computer game 3D graphics visualization. We believe that ray-tracing will become the main method for real-time computer game 3D graphics visualization in the future, because the processing power in computers is getting better and better. There are web-based operating systems (e.g. YouOS and EyeOS) for ordinary business needs (e.g. e-mail, chat/instant messaging, word processing, spreadsheets, file storage, calculator, and the like). There are no web-based operating systems, as far as we know, for game development. There are also a number of services that offer remote playing of computer games over the Internet (eg OnLive and GaiKai). There are also some tools available for students and hobbyist game developers (eg Microsoft XNA).

Eksisterende teknikk er vanskelig å bruke for studenter og små/mellomstore spillutviklings-prosjekter. Eksisterende teknikk er også vanskelig å bruke til å involvere sluttbrukerne i en brukerdrevet kollaborativ spillutviklingsprosess. Dataspillressurser (f.eks. 3D modeller, kode og media) er ofte store (ofte flere gigabyte). Dette blir et sentralt problem når utviklerne er spredt geografisk. Installasjon og oppgradering av programvareverktøy og maskinvare kan også bli et hinder. Digital rettighetsbeskyttelse er også et problem ved deling av ressurser. Existing technology is difficult to use for students and small/medium-sized game development projects. Existing technology is also difficult to use to involve the end users in a user-driven collaborative game development process. Video game resources (eg 3D models, code and media) are often large (often several gigabytes). This becomes a central problem when the developers are geographically dispersed. Installing and upgrading software tools and hardware can also become an obstacle. Digital rights protection is also an issue when sharing resources.

OPPSUMMERING AV OPPFINNELSEN SUMMARY OF THE INVENTION

Det er en hensikt med den foreliggende oppfinnelsen å tilveiebringe et system for å løse de ovenfor nevnte problemene i tidligere kjent teknikk. It is an aim of the present invention to provide a system for solving the above-mentioned problems in prior art.

Trekkene definert i de selvstendige kravene vedlagt karakteriserer dette systemet. The features defined in the independent requirements attached characterize this system.

Den foreliggende oppfinnelsen tilveiebringer et system som består av et web-basert system ("Web OS") i en web browser eller web browser plug-in; en desktop applikasjon; et klient program/vindu og/eller en web browser plug-in for fjemspilling og/eller lokal spilling; og et Accessible OS for blinde og svaksynte brukere. The present invention provides a system consisting of a web-based system ("Web OS") in a web browser or web browser plug-in; a desktop application; a client program/window and/or a web browser plug-in for remote gaming and/or local gaming; and an Accessible OS for blind and visually impaired users.

KORT BESKRIVELSE AV FIGURENE BRIEF DESCRIPTION OF THE FIGURES

Oppfinnelsen vil i det videre bli beskrevet i detalj med henvisninger til figurene, hvor: The invention will further be described in detail with reference to the figures, where:

FIG. 1 viser systemarkitekturen til systemet. FIG. 1 shows the system architecture of the system.

FIG. 2 viser et brukergrensesnitt for Web OS'et i en web browser eller web browser plug-in. FIG. 2 shows a user interface for the Web OS in a web browser or web browser plug-in.

FIG. 3 viser et brukergrensesnitt for Mesh Viewer i Web OS'et. FIG. 3 shows a user interface for the Mesh Viewer in the Web OS.

FIG. 4 viser et brukergrensesnitt for Mesh Viewer i Web OS'et. FIG. 4 shows a user interface for the Mesh Viewer in the Web OS.

FIG. 5 viser et brukergrensesnitt for kurskatalogen i Web OS'et. FIG. 5 shows a user interface for the course catalog in the Web OS.

FIG. 6 viser et brukergrensesnitt for kursvisningen i Web OS'et. FIG. 6 shows a user interface for the course display in the Web OS.

FIG. 7 viser et brukergrensesnitt for fjernspillingsklienten. FIG. 7 shows a user interface for the remote play client.

FIG. 8 viser et brukergrensesnitt for fjernspillingsklienten. FIG. 8 shows a user interface for the remote play client.

FIG. 9 viser et brukergrensesnitt for desktop applikasjonen. FIG. 9 shows a user interface for the desktop application.

FIG. 10 viser innholdet i en eksempel kildekodefil for et enkelt dataspill. FIG. 10 shows the contents of an example source code file for a single computer game.

DETALJERT BESKRIVELSE DETAILED DESCRIPTION

Idéen med oppfinnelsen går hovedsaklig ut på å tilveiebringe et "web operativsystem" (Web OS), som eksekverer inne i en web browser, web browser plug-in eller en annen applikasjon med web browsing støtte, hvor Web OS'et inneholder webapplikasjoner for spillutvikling. En av fordelene med en slik løsning erat spillutviklingsverktøy, 3D modelleringsverktøy, andre verktøy, spillmotorer, 3D modeller og andre media kan være lagret/installert på et sett med serversystemer, slik at brukeren ikke nødvendigvis må laste ned (og installere) alt dette for å utvikle et dataspill, delta i å utvikle et dataspill, se på/endre 3D modeller/media, spille ett eller flere dataspill/dataspillfragmenter, med videre. Dette gjelder spesielt i de tilfeller hvor en eller flere studenter, designere og/eller utviklere bare skal delta i en spesifikk oppgave i dataspillet og/eller i en kortere tidsperiode. Dette gjelder også spesielt i de tilfeller hvor det er ønskelig å involvere sluttbrukerne, av et dataspill, i selve utviklingen og/eller utvidelsen av et dataspill. Det vil være tungvindt og problematisk i slike prosjekter å måtte laste ned og installere mange verktøy, spillmotorer, 3D modeller og annet bare for å utføre et kort og lite prosjekt. Server-side lagring forbedrer også håndtering av digital rettighetsbeskyttelse. Oppfinnelsen kan naturligvis brukes til å lage ordinære dataspill (dvs. et "stand-alone" dataprogram som kan lastes ned og installeres ved hjelp av et installasjonsprogram). Men, vi vil også fremheve et annet viktig bruksområde: Vi tror at web innhold, slik vi kjenner det idag, står ovenfor et paradigmeskifte. Vi tror at om ikke altfor lenge vil vi begynne å se web-sider som ser ut som og fungerer som dataspill gjør idag. Raster-basert grafikk (f.eks. DirectX 11 og/eller OpenGL 4, som er siste versjon per idag) vil bli brukt til visualisering av 3D grafisk innhold. Lengre inn i fremtiden (muligens om 10 år) vil ray-tracing teknikker blir brukt. Det tradisjonelle tekst-baserte innholdet vil nok vedvare, men dataspillopplevelser vil bli brukt i større grad. Vi tror web browser plug-ins vil bli brukt for slikt dataspillinnhold. Vi tilbyr også en web browser plug-in og/eller en desktop applikasjon for å tilgjengeliggjøre slike dataspillopplevelser på web. Web browsere og "media centers" vil nok også utvides etterhvert for å støtte denne typen dataspillopplevelser. En av ideene med oppfinnelsen er å gjøre det mye lettere å utvikle og designe slike web-baserte dataspillopplevelser. The idea of the invention is mainly to provide a "web operating system" (Web OS), which executes inside a web browser, web browser plug-in or another application with web browsing support, where the Web OS contains web applications for game development . One of the advantages of such a solution is that game development tools, 3D modeling tools, other tools, game engines, 3D models and other media can be stored/installed on a set of server systems, so that the user does not necessarily have to download (and install) all of this in order to develop a computer game, participate in developing a computer game, view/modify 3D models/media, play one or more computer games/computer game fragments, etc. This applies especially in cases where one or more students, designers and/or developers will only participate in a specific task in the computer game and/or for a shorter period of time. This also applies in particular in cases where it is desirable to involve the end users of a computer game in the actual development and/or expansion of a computer game. It will be cumbersome and problematic in such projects to have to download and install many tools, game engines, 3D models and other things just to carry out a short and small project. Server-side storage also improves handling of digital rights protection. The invention can of course be used to create ordinary computer games (ie a "stand-alone" computer program that can be downloaded and installed using an installer). However, we would also like to highlight another important application area: We believe that web content, as we know it today, is facing a paradigm shift. We believe that before too long we will start to see web pages that look and work like computer games do today. Raster-based graphics (e.g. DirectX 11 and/or OpenGL 4, which is the latest version as of today) will be used for visualization of 3D graphic content. Further into the future (possibly in 10 years) ray-tracing techniques will be used. The traditional text-based content will probably persist, but computer game experiences will be used to a greater extent. We believe web browser plug-ins will be used for such computer game content. We also offer a web browser plug-in and/or a desktop application to make such computer game experiences available on the web. Web browsers and "media centers" will probably also be expanded eventually to support this type of computer game experience. One of the ideas with the invention is to make it much easier to develop and design such web-based computer game experiences.

Oppfinnelsen inneholder en rekke verktøy. "Mesh Viewer" er et verktøy som gjør det mulig å vise 3D modeller i Web OS'et og andre steder. Brukeren kan, med dette verktøyet, åpne 3D modeller, "interakte" med 3D modellen (f.eks. flytte, rotere, redigere, spille av animasjoner, endre materialer/shadere/farger/lys/kamera/visualiseringer/skyggene/miljøet, med videre), og eventuelt lagre endringer (eller dele dem med andre). Kurskatalogen inneholder en lang rekke med kurs som tilbyr opplæring innen viktige områder relatert til spillutvikling (f.eks. DirectX/Shader/spillmotor programmering, og 3D modellering og design for Blender/Bryce), samt spillprosjekter. Biblioteket inneholder en lang rekke artikler relatert til spillutvikling. Vi legger opp til at spillutviklere kan legge opp artikler og referanser i biblioteket. Oppfinnelsen inneholder også en kodeeditor og et større integrated development environment (IDE). Det brukes hovedsaklig det samme type grensesnitt som i andre IDE'er (f.eks. Microsoft Visual Studio). En mindre kodeeditor brukes for lettere redigering av enkeltfiler. Oppfinnelsen har også mange av de samme verktøyene som i andre Web OS (f.eks. instant messaging, voice, file explorer, file sharing, kalender, prosjektstyring, tekstbehandling, kontaktliste, profil, rss feeds, e-post, arbeidsgrupper, regneark, kalkulator, presentasjonsverktøy, med videre). Vi vil også kunne utvide oppfinnelsen med støtte for avansert 3D modellering, animasjoner, med videre, i fremtiden. The invention contains a number of tools. "Mesh Viewer" is a tool that makes it possible to display 3D models in the Web OS and elsewhere. The user can, with this tool, open 3D models, "interact" with the 3D model (e.g. move, rotate, edit, play animations, change materials/shaders/colors/lights/camera/visualizations/shadows/environment, with further), and optionally save changes (or share them with others). The course catalog contains a wide range of courses that offer training in important areas related to game development (e.g. DirectX/Shader/game engine programming, and 3D modeling and design for Blender/Bryce), as well as game projects. The library contains a wide range of articles related to game development. We plan for game developers to post articles and references in the library. The invention also contains a code editor and a larger integrated development environment (IDE). It mainly uses the same type of interface as in other IDEs (eg Microsoft Visual Studio). A smaller code editor is used for easier editing of individual files. The invention also has many of the same tools as in other Web OS (e.g. instant messaging, voice, file explorer, file sharing, calendar, project management, word processing, contact list, profile, rss feeds, e-mail, workgroups, spreadsheets, calculator, presentation tools, etc.). We will also be able to expand the invention with support for advanced 3D modelling, animations, etc., in the future.

Oppfinnelsen inneholder en rekke programvareapplikasjoner som installeres på brukerens datamaskin. Desktop applikasjonen er et dataprogram som kan lastes ned og installeres på brukerens datamaskin. Desktop applikasjonen har lokal lagring av dataspill/spillressurser, synkronisering av filer imellom systemservere og sluttbrukermaskiner, fjernspilling, instant messaging, konfigurering av in-game huds, med videre. En fjernspillingsklient og en web browser plug-in kan også installeres på brukerens datamaskin. Web browser plug-in'en kan brukes til å vise høykvalitets dataspillopplevelser i en web browser (dvs. større dataspill). Overføring av ressursfiler (3D modeller, teksturer, med videre) er et åpenbart problem. Det er også klart at synkronisering er et problem. En av hovedidéene med oppfinnelsen er dertil å løse problemene med overføring og synkronisering av ressursfiler med å tilby brukerne en "desktop applikasjon" som eksekverer på brukerens maskin som en tjeneste (dvs. i "system tray" eller service). Når brukeren er på en (ordinær HTML) nettside som tilbyr web browser-baserte dataspill opplevelser, kan brukeren f.eks. velge å prøve dataspillet med fjernspilling, eller velge å laste ned dataspillet til egen datamaskin. Dersom brukeren velger nedlasting til egen datamaskin, vil web browser plug-in'en kommunisere dette til desktop applikasjonen, som starter nedlastingsprosessen (forutsatt at brukeren har installert web browser plug-in komponenten og desktop applikasjonen). Desktop applikasjonen vil først hente en XML liste over alle filene som skal lastes ned og/eller synkroniseres, hvorpå filene blir lastet ned. Det kan konfigureres hvor mye båndbredde som skal brukes og lignende. Filene kan naturligvis komprimeres (f.eks. zip/rar og lignende) og krypteres (f.eks. RSA og lignende). Med denne løsningen, kan brukeren lukke web browseren eller navigere til andre sider mens dataspill innholdet lastes ned. Når desktop applikasjonen er ferdig med å laste ned filene, vil det gis beskjed til brukeren (f.eks. med et popup vindu nær system tray). Brukeren kan da starte dataspillet ved å gå tilbake til nettsiden til dataspillet, eller åpne desktop applikasjonen ifra system tray (eller startmenyen e.l.) og starte dataspillet derfra. Desktop applikasjonen vil inneholde en liste over alle brukerregistrerte dataspill nettsteder, hvor brukeren kan starte lokale dataspill i web browser (eller i lokal klient), starte fjernspilling av dataspillene, samt administrere dataspillene (slette, allokere, synkronisere, komprimere, backup, med videre). Desktop applikasjonen kan også inkludere en rekke ytterligere funksjonaliteter, som f.eks. "instant messaging, remote desktops, FTP verktøy, cache, licenses, heads-up display tools," med videre. Fjernspilling vil typisk foregå i web browser plug-in'en, i et eget vindu i desktop applikasjonen, eller i en egen fjernspillingsapplikasjon. The invention includes a variety of software applications that are installed on the user's computer. The desktop application is a computer program that can be downloaded and installed on the user's computer. The desktop application has local storage of computer games/game resources, synchronization of files between system servers and end-user computers, remote gaming, instant messaging, configuration of in-game skins, etc. A remote play client and a web browser plug-in can also be installed on the user's computer. The web browser plug-in can be used to display high-quality computer game experiences in a web browser (ie larger computer games). Transferring resource files (3D models, textures, etc.) is an obvious problem. It is also clear that synchronization is a problem. One of the main ideas of the invention is to solve the problems with the transfer and synchronization of resource files by offering users a "desktop application" that executes on the user's machine as a service (ie in the "system tray" or service). When the user is on a (ordinary HTML) website that offers web browser-based computer game experiences, the user can e.g. choose to try the computer game with remote play, or choose to download the computer game to your own computer. If the user chooses to download to their own computer, the web browser plug-in will communicate this to the desktop application, which starts the download process (provided that the user has installed the web browser plug-in component and the desktop application). The desktop application will first retrieve an XML list of all the files to be downloaded and/or synchronized, after which the files will be downloaded. The amount of bandwidth to be used and similar can be configured. The files can of course be compressed (e.g. zip/rar and the like) and encrypted (e.g. RSA and the like). With this solution, the user can close the web browser or navigate to other pages while the computer game content is being downloaded. When the desktop application has finished downloading the files, the user will be notified (e.g. with a pop-up window near the system tray). The user can then start the computer game by returning to the website of the computer game, or open the desktop application from the system tray (or the start menu etc.) and start the computer game from there. The desktop application will contain a list of all user-registered computer game websites, where the user can start local computer games in the web browser (or in a local client), start remote playing of the computer games, as well as manage the computer games (delete, allocate, synchronize, compress, backup, etc.) . The desktop application can also include a number of additional functionalities, such as e.g. "instant messaging, remote desktops, FTP tools, cache, licenses, heads-up display tools," and so on. Remote play will typically take place in the web browser plug-in, in a separate window in the desktop application, or in a separate remote play application.

Et annet problem som desktop applikasjonen hjelper til å løse er i forhold til spillutvikling og deling av filer. Desktop applikasjonen kan konfigureres slik at den synkroniserer innholdet i en eller flere filfoldere på sluttbrukermaskinen med filfoldere på systemserverne. Brukeren kan også "sjekke filer inn og ut" (f.eks. som i Microsoft Visual SourceSafe og/eller SVN), slik at de blir mulig å redigere samtidig sammen med andre brukere. Web OS'et vil også vise en oversikt over hvilke filer som er sjekket inn og ut, versjonshistorie, logger, med videre. Det er mulig å bruke kildekode versjonskontrollsystemer (f.eks. Microsoft Visual SourceSafe og SVN). Desktop applikasjonen vil synkronisere store filer (f.eks. 3D modeller og teksturer) på en effektiv måte, slik at bare endringer i filene overføres over nettverket. Det finnes en lang rekke teknikker for å fremskape, representere og anvende slike differanser i ulike typer filer og innhold. Oppfinnelsen er ikke begrenset til en spesifikk differansemetode. Synkronisering av store filer, på denne måten, gjør det mye lettere for brukeren å arbeide lokalt på et sett med filer som er hovedsaklig oppbevart på systemserverne. Another problem that the desktop application helps to solve is in relation to game development and sharing files. The desktop application can be configured so that it synchronizes the contents of one or more file folders on the end-user computer with file folders on the system servers. The user can also "check files in and out" (eg as in Microsoft Visual SourceSafe and/or SVN), so that they can be edited simultaneously with other users. The Web OS will also show an overview of which files have been checked in and out, version history, logs, etc. It is possible to use source code version control systems (eg Microsoft Visual SourceSafe and SVN). The desktop application will synchronize large files (eg 3D models and textures) in an efficient way, so that only changes to the files are transferred over the network. There are a wide range of techniques for creating, representing and applying such differences in different types of files and content. The invention is not limited to a specific difference method. Synchronizing large files, in this way, makes it much easier for the user to work locally on a set of files that are mainly stored on the system servers.

Et problem med eksisterende fjernspillingsteknikker (f.eks. OnLive) er at de er begrenset av Internettforbindelsen (dvs. overføringshastighet, "latency," quality of service, etc). Mange brukere av dataspill bruker ofte høy skjermoppløsning (ofte high definition), flere skjermer, og i senere tid også stereoskopisk visning (f.eks. med 3D briller med "active snutters" eller "polarized" teknikker). Sanntids overføring av slike audiovisuelle strømmer over Internett krever svært høy båndbredde. Dataspill har også ofte en handling som krever rask reaksjon fra brukeren. Treghet i nettverksforbindelsen ("latency") vil forsinke denne opplevelsen, slik at mange dataspill (f.eks. Trackmania) ikke blir brukbare med fjernspilling. I tillegg kommer andre problemer, som f.eks. pakketap og lignende. Våre teknikker legger opp til å dra nytte av en kombinasjon (eller en "hybrid-løsning") av det å tilby dataspill nettsted opplevelser i web browseren med en egenutviklet web browser plug-in, og det å tilby dataspill nettsted opplevelser i (og utenfor) web browseren med fjernspilling i (og utenfor) web browser plug-in'en. vår løsning legger opp til å bruke vår web browser plug-in, desktop applikasjon, og fjernspillingsklient på sluttbrukerens datamaskin, samt at dataspill lagres og eksekverer på servere. Hovedidéen med vår løsning er at brukere med ordinær Internettforbindelse (etter dagens standard) kan prøve dataspillet med fjernspilling (for å se om det er noe som de er interesserte i å bruke mer tid på). Dersom de er interesserte kan de også velge å laste ned dataspillet til egen datamaskin for bedre kvalitet. Løsningen kan også lett brukes for å lage "hybrid-spill" hvor deler av dataspillet er laget med fjernspilling (f.eks. "game environment, windows, portals, displays," med videre) og andre deler er laget med lokalt lagret innhold. A problem with existing remote playback techniques (eg OnLive) is that they are limited by the Internet connection (ie transfer speed, "latency," quality of service, etc). Many users of computer games often use high screen resolution (often high definition), multiple screens, and more recently also stereoscopic viewing (eg with 3D glasses with "active snutters" or "polarized" techniques). Real-time transmission of such audiovisual streams over the Internet requires very high bandwidth. Computer games also often have an action that requires a quick reaction from the user. Latency in the network connection will delay this experience, so that many computer games (e.g. Trackmania) will not be usable with remote play. In addition, there are other problems, such as packet loss and the like. Our techniques aim to take advantage of a combination (or a "hybrid solution") of offering computer game website experiences in the web browser with a self-developed web browser plug-in, and offering computer game website experiences in (and outside ) the web browser with remote playback in (and outside) the web browser plug-in. our solution involves using our web browser plug-in, desktop application, and remote gaming client on the end user's computer, as well as having computer games stored and executed on servers. The main idea of our solution is that users with an ordinary Internet connection (by today's standards) can try the computer game with remote play (to see if it is something they are interested in spending more time on). If they are interested, they can also choose to download the computer game to their own computer for better quality. The solution can also easily be used to create "hybrid games" where parts of the computer game are made with remote play (e.g. "game environment, windows, portals, displays," etc.) and other parts are made with locally stored content.

FIG. 1 illustrerer systemarkitekturen til systemet. Sluttbrukerens datamaskin (1000) er den datamaskinen som sluttbrukeren bruker. "Sluttbrukere" er utviklere, designere, studenter, FIG. 1 illustrates the system architecture of the system. The end user's computer (1000) is the computer that the end user uses. "End users" are developers, designers, students,

og/eller andre brukere. Det er naturligvis mange sluttbrukermaskiner som bruker systemet. Sluttbrukermaskinen (eller "brukerens maskin", eller "klienten") kommuniserer med en eller flere systemservere (1200) via en Internettforbindelse (1100) eller et annet nettverk. Vi har mulighet for flere programvare- og maskinvareapplikasjoner installert og/eller eksekverende på brukerens maskin. Et eller flere dataspill (1001) kan eksekvere på brukerens maskin. De kan inneholde et eller flere "in-game heads-up displays" (HUD) og/eller stubb-komponenter and/or other users. Naturally, there are many end-user machines that use the system. The end user machine (or "user's machine", or "client") communicates with one or more system servers (1200) via an Internet connection (1100) or other network. We have the possibility of several software and hardware applications installed and/or executing on the user's machine. One or more computer games (1001) may execute on the user's machine. They may contain one or more "in-game heads-up displays" (HUD) and/or stub components

(1002). En HUD er typisk et 2D display som vises i et dataspill over den andre grafikken for å tilby funksjonaliteter, som instant messaging, voice, opptak av gameplay video, deling av spilldesktop (video/lyd) med andre brukere over Internett, styring av dataspill, med videre. En HUD kan også implementeres som en del av 3D grafikken. En stubb-komponent er typisk brukt for å styre/kontrollere et dataspill over et nettverk, som f.eks. starte opptak av video, injektere inputtdata (f.eks. mus, tastatur og gamepad), monitorering, logging, debugging, med videre. HUD og stubb-komponenter kan f.eks. implementeres direkte i dataspillet, eller de kan injekteres ved å override DLL-er og/eller runtime "DLL-insertion". Tilsvarende måter i ulike operativsystemer kan benyttes. Oppfinnelsen omfatter "dataspill" både i en kontekst hvor dataspillet "debugges"/utvikles/testes og/eller er endelig distribuert som sluttprodukt. (1002). A HUD is typically a 2D display that appears in a computer game above the other graphics to offer functionalities, such as instant messaging, voice, recording gameplay video, sharing the game desktop (video/audio) with other users over the Internet, controlling computer games, and so on. A HUD can also be implemented as part of the 3D graphics. A stub component is typically used to manage/control a computer game over a network, such as start recording video, inject input data (e.g. mouse, keyboard and gamepad), monitoring, logging, debugging, etc. HUD and stub components can e.g. implemented directly in the computer game, or they can be injected by overriding DLLs and/or runtime "DLL insertion". Corresponding ways in different operating systems can be used. The invention includes "computer games" both in a context where the computer game is "debugged"/developed/tested and/or is finally distributed as a final product.

En web browser (1003) på brukerens maskin kan brukes til å aksessere web sidene som er tilgjengelige på en eller flere systemservere via "portalen" (dvs. en eller flere "web sites") A web browser (1003) on the user's machine can be used to access the web pages available on one or more system servers via the "portal" (ie one or more "web sites")

(1201). Desktop applikasjonen (1004) brukes til å laste ned/styre/håndtere/redigere/m.v. dataspill og spillressurser, synkronisering av filer imellom brukerens maskin og serverene, med videre. Fjemspillingsapplikasjonen (1005) brukes til å fjernspille dataspill. Brukeren kan koble seg til et dataspill på en server (1206) eller en klient (1001). Video/lyd sendes fra dataspillet til fjemspillingsapplikasjonen (eller fjernspillingsklienten) og brukerinputt (f.eks. mus, tastatur og gamepad data) sendes fra fjemspillingsapplikasjonen til dataspillet. Det er også mulig at desktop applikasjonen implementerer fjernspilling. Vi kan også tilby en web browser-basert løsning, hvor en web browser og/eller web browser plug-in viser fjern og lokal avspilling av dataspill fra servere eller klienter. En kan f.eks. vise JPEG og/eller PNG bilder i HTML/JavaScript-koden i en web side som inneholder en bildesekvens av en slik fjernspillings- eller lokalspillingssesjon. De nye HTML5 elementene kan videre optimalisere ved å vise bilder, video og lyd. En web browser plug-in, som f.eks. Adobe Flash, Microsoft Silverlight, Apple QuickTime, eller vår egenutviklede web browser plug-in kan også brukes for å vise og/eller eksekvere fjernspillings- eller lokalspillingssesjoner. Det er også mulig å kombinere fjern og lokal spilling (hybrid spilling), slik at deler av spillopplevelsen ekseverer et annet sted (lokalt eller remote) og vises som bilder/video/lyd i lokalspillingssesjonen, og hvor lokalspillingssesjonen også viser egen 3D grafikk og lyd mikset sammen med dette. Serversystemene (eller serverene) (1200) inneholder en eller flere tjenester/applikasjoner (1201). The desktop application (1004) is used to download/manage/manage/edit/etc. computer games and game resources, synchronization of files between the user's machine and the servers, etc. The remote play application (1005) is used to play computer games remotely. The user can connect to a computer game on a server (1206) or a client (1001). Video/audio is sent from the computer game to the remote gaming application (or remote gaming client) and user input (eg mouse, keyboard and gamepad data) is sent from the remote gaming application to the computer game. It is also possible that the desktop application implements remote play. We can also offer a web browser-based solution, where a web browser and/or web browser plug-in shows remote and local playback of computer games from servers or clients. One can e.g. display JPEG and/or PNG images in the HTML/JavaScript code of a web page containing an image sequence of such a remote or local playback session. The new HTML5 elements can further optimize by displaying images, video and sound. A web browser plug-in, such as Adobe Flash, Microsoft Silverlight, Apple QuickTime, or our proprietary web browser plug-in can also be used to display and/or execute remote play or local play sessions. It is also possible to combine remote and local gaming (hybrid gaming), so that parts of the gaming experience are performed in another location (local or remote) and are displayed as images/video/sound in the local gaming session, and where the local gaming session also displays its own 3D graphics and sound mixed together with this. The server systems (or servers) (1200) contain one or more services/applications

(1201) til (1207). Det vil typisk være ulike typer servere, f.eks. web servere, live servere, mesh servere, database servere, dataspill servere, med videre. Disse serverene vil typisk eksekvere på ulike fysiske datamaskiner, men de kan også eksekvere på samme maskin. Live server (1202) er et dataprogam som lar brukeren logge inn via ett eller flere av dataprogrammene på brukerens maskin. Live server administrerer instant messaging, voice, live desktop (video/lyd) sharing og lignende. Live serverene vil typisk være implementert som ulike dataprogrammer for forskjellige oppgaver (f.eks. login/chat og voice/video-sharing), som typisk eksekverer på ulike servere. Mesh server (1203) er også et dataprogram som lar brukeren koble seg til via et eller flere av dataprogrammene på brukerens maskin. Mesh server inneholder funksjonalitet for å rendre 3D modeller (til skjerm og/eller til et buffer). Mesh server lager bilde- og/eller videorepresentasjoner av denne renderingen og gjør den tilgjengelig for bruk i portalen eller for dataprogrammene på brukerens maskin. Mesh server kan også "streame" bilder/video/lyd. Dataprogrammene på brukerens maskin fanger opp brukerinputt (f.eks. mus, tastatur og gamepad operasjoner) og/eller andre operasjoner og sender disse over nettverket til Mesh server. Mesh server bruker disse brukerinputtene til å kontrollere "rendringen" (f.eks. rotere, skalere, flytte kamera/modell, endre lyssettingen, endre materialer, endre modellen, spille animasjoner, med videre). Web tjenester (1204) er en rekke ulike tjenester som trengs (f.eks. Ajax API'er og lignende). Lagring (1205) er ulike typer lagring. Dataspill (1206) og HUD/Stubb (1207) er tilsvarende som (1001) og (1002). (1201) to (1207). There will typically be different types of servers, e.g. web servers, live servers, mesh servers, database servers, computer game servers, etc. These servers will typically execute on different physical computers, but they can also execute on the same machine. Live server (1202) is a computer program that allows the user to log in via one or more of the computer programs on the user's machine. Live server manages instant messaging, voice, live desktop (video/audio) sharing and the like. The live servers will typically be implemented as different computer programs for different tasks (eg login/chat and voice/video sharing), which typically execute on different servers. Mesh server (1203) is also a computer program that allows the user to connect via one or more of the computer programs on the user's machine. Mesh server contains functionality to render 3D models (to screen and/or to a buffer). Mesh server creates image and/or video representations of this rendering and makes it available for use in the portal or for the computer programs on the user's machine. Mesh server can also "stream" images/video/sound. The computer programs on the user's machine capture user input (eg mouse, keyboard and gamepad operations) and/or other operations and send these over the network to the Mesh server. Mesh server uses these user inputs to control the "transformation" (eg rotate, scale, move camera/model, change lighting, change materials, change model, play animations, etc.). Web services (1204) are a number of different services that are needed (eg Ajax APIs and the like). Storage (1205) is different types of storage. Computer games (1206) and HUD/Stub (1207) are similar to (1001) and (1002).

FIG. 2 viser brukergrensesnittet til "web operativsystemet" (Web OS). Brukergrensesnittet FIG. 2 shows the user interface of the "web operating system" (Web OS). The user interface

vises inne i en web browser (f.eks. Microsoft Internet Explorer, Firefox, Google Chome, eller andre) (2000) eller en annen applikasjon som har web browsing støtte. Brukergrensesnittet ligner på det brukergrensesnittet en finner i andre Web OS (f.eks. YouOS og EyeOS). Ikoner is displayed inside a web browser (e.g. Microsoft Internet Explorer, Firefox, Google Chome, or others) (2000) or another application that has web browsing support. The user interface is similar to the user interface found in other Web OS (e.g. YouOS and EyeOS). Icons

(2001) og (2002) på desktoppen i Web OS'et kan f.eks. klikkes (eller dobbeltklikkes for å (2001) and (2002) on the desktop in the Web OS can e.g. clicked (or double-clicked to

starte webapplikasjoner. Webvinduene (2008) og (2009) inneholder brukergrensesnittet til webapplikasjonene. Start-knappen (2003) kan f.eks. klikkes for å vise en meny som består av linker/ikoner for å starte webapplikasjoner. Brukeren kan f.eks. klikke på en av disse for å starte webapplikasjonen. "Taskbar-representasjoner" (2004) og (2005) av webvinduene vises på "taskbar", på tilsvarende måte som i andre Web OS. Web OS'et kan også ha noen områder på/ved taskbar som viser "system tray" (2006) og en klokke (2007). System tray brukes typisk til å representere webapplikasjoner som eksekverer, men hvor en ikke alltid ønsker å ha et webvindu oppe (på tilsvarende måte som i andre operativsystemer). Web OS kan også ha andre layout som er vanlige og populære i andre operativsystemer (det vil nok endre seg over tid ettersom nye populære design/layout kommer). Apple Macintosh OS X har f.eks. en annen layout/design, hvor en meny vises øverst, og med en "launchbar" nede på bunnen i skjermbildet. Oppfinnelsen omfatter alle slike layouts og design som er, eller blir, vanlige for Web OS (så lenge det oppfattes av brukerne som et web operativsystem). Web OS'et vil typisk inneholde mange kjente webapplikasjoner, som f.eks. "file explorer, web browser, instant messaging, voice (dvs. voice over IP), web camera sharing, profile, contact/friend management," tekstbehandling, regneark, prosjektplanlegger, med videre (ref. f.eks. YouOS, EyeOS og andre Web OS). Web OS'et vil også inneha webapplikasjoner som er viktige for spillutvikling og design, som f.eks. et større "integrated development environment" (IDE), en mindre kodeeditor, prosjektstyringsverktøy, en liste over mange prosjekter, en hjemmeside for hvert enkelt prosjekt, bugtracking (f.eks. lik Bugzilla), 3D verktøy (f.eks. redigere 3D modeller, generere ulike typer 3D modeller, animasjon av launch web applications. The web windows (2008) and (2009) contain the user interface of the web applications. The Start button (2003) can e.g. is clicked to display a menu consisting of links/icons to launch web applications. The user can e.g. click on one of these to launch the web application. "Taskbar representations" (2004) and (2005) of the web windows are displayed on the "taskbar", in a similar way as in other Web OS. The Web OS may also have some areas on/near the taskbar that show "system tray" (2006) and a clock (2007). System tray is typically used to represent web applications that execute, but where you don't always want to have a web window open (in a similar way as in other operating systems). Web OS may also have other layouts that are common and popular in other operating systems (it will probably change over time as new popular designs/layouts arrive). Apple Macintosh OS X has e.g. a different layout/design, where a menu appears at the top, and with a "launchbar" at the bottom of the screen. The invention encompasses all such layouts and designs that are, or will become, common for Web OS (as long as it is perceived by users as a web operating system). The Web OS will typically contain many well-known web applications, such as e.g. "file explorer, web browser, instant messaging, voice (i.e. voice over IP), web camera sharing, profile, contact/friend management," word processing, spreadsheets, project planner, etc. (ref. e.g. YouOS, EyeOS and other Web OS). The Web OS will also contain web applications that are important for game development and design, such as e.g. a larger "integrated development environment" (IDE), a smaller code editor, project management tools, a list of many projects, a home page for each individual project, bug tracking (e.g. similar to Bugzilla), 3D tools (e.g. edit 3D models , generate various types of 3D models, animation of

karakterer og modeller, m.v.), "Shader-editors", musikk/lyd-verktøy, effekt-verktøy, fysikk editor (f.eks. editorene/SDK-muligheter i nVidia PhysX), ray-tracing oppsett, level-editorer for dataspilldesign, mods for dataspill, med videre. Web OS'et vil også ha webapplikasjoner for kurs og opplæring, som f.eks. en kurskatalog, kursvisning, bibliotek, med videre. Web OS'et vil ha en eller flere filstrukturer ("folders and files") som brukerne kan aksessere for å laste opp/ned ulike filer. Desktop applikasjonen (på brukerens maskin) kan brukes for å synkronisere disse filstrukturene med en filstruktur på egen maskin, slik at det blir lettere å jobbe med filene. Web OS'et vil også tilby versjonskontrollsystemer for kildekode (f.eks. characters and models, etc.), "Shader editors", music/sound tools, effects tools, physics editor (e.g. the editors/SDK possibilities in nVidia PhysX), ray-tracing setup, level editors for computer game design , mods for computer games, and more. The Web OS will also have web applications for courses and training, such as a course catalogue, course display, library, etc. The Web OS will have one or more file structures ("folders and files") that users can access to upload/download various files. The desktop application (on the user's machine) can be used to synchronize these file structures with a file structure on their own machine, so that it becomes easier to work with the files. The Web OS will also offer version control systems for source code (e.g.

Microsoft Visual SourceSafe, SVN, CVS, og/eller andre). Web OS'et kan vise mange remote desktop visninger (f.eks. fjernspilling, desktop sharing, remote desktop og virtualiserte OS). Web OS'et vil ha støtte for digital rights management (DRM) slik at innholdet er kryptert og lisenser vil trengs for tilgang (f.eks. lignende Microsoft Windows Media Rights Management). De fleste av disse teknikkene er kjente for erfarne fagpersoner og derfor går vi ikke i detalj. Oppfinnelsen omfatter ogsa et system kalt "Accessible OS" (navnet kan endres) som gjør det mulig for blinde og svaksynte personer å bruke systemet. Accessible OS er hovedsaklig audio-basert, men kan ha et visuelt hierarkisk menysystem med stor klar skrift i tillegg. Vi tror at design og produksjon av musikk og lydeffekter er et fagområde som kan åpnes opp for blinde og svaksynte. Accessible OS tilbyr audio-baserte (dvs. hovedsaklig audio info. til brukeren) verktøy for å lage musikk og lydeffekter. Vanlige inputtenheter kan brukes (f.eks. tastatur, mus/trackpad, gamepad, braille enheter, med videre). Accessible OS kan også ha teknikker som gjør det mulig for blinde og svaksynte å oppleve 3D modeller og verdener ved hjelp av spesielle inputtenheter (f.eks. Sensable Phantom devices og lignende). Microsoft Visual SourceSafe, SVN, CVS, and/or others). The Web OS can display many remote desktop views (eg remote gaming, desktop sharing, remote desktop and virtualized OS). The Web OS will have support for digital rights management (DRM) so that the content is encrypted and licenses will be needed for access (eg similar to Microsoft Windows Media Rights Management). Most of these techniques are known to experienced professionals and therefore we will not go into detail. The invention also includes a system called "Accessible OS" (the name can be changed) which makes it possible for blind and partially sighted people to use the system. Accessible OS is mainly audio-based, but can also have a visual hierarchical menu system with large, clear text. We believe that the design and production of music and sound effects is a field that can be opened up to the blind and partially sighted. Accessible OS offers audio-based (ie mainly audio info to the user) tools for creating music and sound effects. Common input devices can be used (e.g. keyboard, mouse/trackpad, gamepad, braille devices, etc.). Accessible OS may also have techniques that enable blind and partially sighted people to experience 3D models and worlds using special input devices (e.g. Sensable Phantom devices and the like).

FIG. 3 og FIG. 4 viser alternative brukergrensesnitt for "Mesh Viewer" (3000) og (4000). Mesh Viewer er en webapplikasjon inne i Web OS'et som brukes til å vise 3D modeller til brukeren. Området "(3D Modell Visning)" viser bilder eller video av 3D modellen. Bruker kan dra og slippe med musen for å rotere/f lytte/m. v. kamera. Bruker kan også bruke tastaturet for å navigere. Bildene/video genereres i sanntid av Mesh server (1203). Mesh Viewer kan lett implementeres i HTML 5/4.01 og JavaScript. Mesh Viewer kan koble seg til Mesh server over Internett ved hjelp av sockets/pipes/e.l. Mesh server kan da åpne en 3D modell, som angitt av brukeren via Mesh Viewer, og rendre denne. Renderingen kan lagres som et JPEG eller PNG bilde (eller andre bildeformater, eller videoformater) og lagre bildet slik at det kan aksesseres via HTTP/e.l. av Mesh Viewer (eller streame det til Mesh Viewer via UDP eller lignende). Mesh Viewer kan da vise det genererte bildet i området "(3D Modell Visning)". Mesh Viewer kan videresende brukerinputt og operasjoner til Mesh server, som oppdaterer renderingen, og genererer et nytt bilde eller videoframe som gjøres tilgjengelig for, eller FIG. 3 and FIG. 4 shows alternative user interfaces for "Mesh Viewer" (3000) and (4000). Mesh Viewer is a web application inside the Web OS that is used to display 3D models to the user. The "(3D Model View)" area displays images or video of the 3D model. User can drag and drop with mouse to rotate/f listen/m. v. camera. User can also use the keyboard to navigate. The images/video are generated in real time by the Mesh server (1203). Mesh Viewer can be easily implemented in HTML 5/4.01 and JavaScript. Mesh Viewer can connect to the Mesh server over the Internet using sockets/pipes/e.l. Mesh server can then open a 3D model, as specified by the user via Mesh Viewer, and render this. The rendering can be saved as a JPEG or PNG image (or other image formats, or video formats) and save the image so that it can be accessed via HTTP/e.l. by Mesh Viewer (or stream it to Mesh Viewer via UDP or similar). The Mesh Viewer can then display the generated image in the "(3D Model View)" area. The Mesh Viewer can forward user input and operations to the Mesh server, which updates the rendering, and generates a new image or video frame that is made available to, or

sendes, til Mesh Viewer, hvor dette blir vist. På denne måten kan en da vise interaktive 3D modeller til brukerne. FIG. 3 er en enkel løsning hvor en bare har en "(3D Modell Visning)". is sent, to the Mesh Viewer, where this is displayed. In this way, one can then show interactive 3D models to the users. FIG. 3 is a simple solution where you only have a "(3D Model View)".

FIG. 4 viser en mer avansert løsning hvor en har menyer (4200) til (4202) som inneholder operasjoner; et navigasjonsområde (4001) som inneholder navigasjonsknapper, som f.eks. flytt kamera/modell (4002), flytt kamera/modell opp og ned (eller inn og ut) (4003), og roter kamera/modell (4004); og en "propertiesbar" (4108) som f.eks. inneholder justering av lyssetting (4100) og farger (4104). "+X" setter et lys langt nede på den positive X-aksen FIG. 4 shows a more advanced solution where one has menus (4200) to (4202) which contain operations; a navigation area (4001) containing navigation buttons, such as move camera/model (4002), move camera/model up and down (or in and out) (4003), and rotate camera/model (4004); and a "properties bar" (4108) such as contains adjustment of lighting (4100) and colors (4104). "+X" puts a light far down on the positive X-axis

(4101), "-X" setter et lys langt nede på den negative X-aksen, og tilsvarende for de andre aksene (f.eks. (4102)). "Følg kamera" (4103) gjør at lysene følger kameraet. Dersom "følg kamera" ikke er sjekket, vil lysene bruke koordinatsystemet til 3D modellen. Dersom "følg kamera" er sjekket, vil lysene bruke koordinatsystemet til kamera. Ulike kamera kan brukes som f.eks. "arcball" og "walk/navigate" kamera. En liste over materialer (og eventuelt lys) i 3D modellen listes i (4105). Her kan brukeren velge et materiale/lys/e.I. hvor egenskapene til dette kan endres (f.eks. diffus farge, spekular farge, ambient farge, tekstur, shader eller lignende) (f.eks. (4106) og (4107)). Slike operasjoner og valg sendes til Mesh server hvor de blir brukt. Brukergrensesnittene kan naturligvis ha andre design/layout i oppfinnelsen. FIG. 5 og 6 illustrerer brukergrensesnittene til webapplikasjonene "Course Catalog" (kurskatalog) (5000) og "Course Viewer" (kursvisning) (6000). Kurskatalogen viser en liste over kurs som er tilgjengelige. Bildene (bilde 1 til 3) viser "thumbnail" bilde for kurset. Feltene "(Informasjon 1)" til "(Informasjon 3)" inneholder tittel og beskrivelser av kursene. Det vil være en lengre liste over kurs. Kursvisningen viser innholdet i et kurs. Området "(Visning)" viser en video/presentasjon/HTML/bilder e.l. Området "(Kontroller)" inneholder kontroller som kan brukes til å styre avspilningen. Området "(Annet)" inneholder andre ting som f.eks. "rating" av innholdet, ulike operasjoner (se f.eks. YouTube), kommentarer, og lignende. I området til høyre har vi et "kursbilde" som er en "thumbnail" for kurset, "(kurstittel)" er tittelen til kurset, "(kursinfo.)" er en kort beskrivelse av kurset, "Innhold" er en lenkeliste for aksess til de ulike delene av kurset, og "Materialer/referanser" er en lenkeliste til ulike materialer og referanser for kurset. En fagmann vil kunne se at brukergrensesnittene kan ha andre design og/eller layout, men allikevel være konseptuelt omfattet av oppfinnelsen. FIG. 7 og 8 illustrerer brukergrensesnittet til fjernspillingsklienten som brukes på brukerens datamaskin for å fjernspille dataspill (eller spesifikt web-baserte dataspill) over Internett. Brukergrensesnittet kan for eksempel vises som et Windows dialog-boks vindu som illustrert i FIG. 7 og 8 (tittellinje, minimeringsknapp, lukk/slutt-knapp og lignende vinduselementer). Andre typer brukergrensesnitt som er (eller blir) vanlige i operativsystemer, plattformer, web browsere, og lignende, for brukergrensesnittet, er også omfattet av oppfinnelsen. FIG. (4101), "-X" puts a light far down on the negative X-axis, and similarly for the other axes (eg (4102)). "Follow camera" (4103) makes the lights follow the camera. If "follow camera" is not checked, the lights will use the coordinate system of the 3D model. If "follow camera" is checked, the lights will use the coordinate system of the camera. Different cameras can be used such as e.g. "arcball" and "walk/navigate" camera. A list of materials (and possibly light) in the 3D model is listed in (4105). Here the user can choose a material/light/e.I. where the properties of this can be changed (eg diffuse colour, specular colour, ambient colour, texture, shader or the like) (eg (4106) and (4107)). Such operations and selections are sent to the Mesh server where they are used. The user interfaces can naturally have a different design/layout in the invention. FIG. 5 and 6 illustrate the user interfaces of the web applications "Course Catalog" (5000) and "Course Viewer" (6000). The course catalog shows a list of courses that are available. The images (image 1 to 3) show a "thumbnail" image for the course. The fields "(Information 1)" to "(Information 3)" contain the title and descriptions of the courses. There will be a longer list of courses. The course view shows the content of a course. The "(View)" area displays a video/presentation/HTML/images etc. The "(Controls)" area contains controls that can be used to control playback. The "(Other)" area contains other things such as "rating" of the content, various operations (see e.g. YouTube), comments, and the like. In the area on the right we have a "course image" which is a "thumbnail" for the course, "(course title)" is the title of the course, "(course info.)" is a short description of the course, "Content" is a link list for access to the various parts of the course, and "Materials/references" is a list of links to various materials and references for the course. A person skilled in the art will be able to see that the user interfaces can have a different design and/or layout, but still be conceptually covered by the invention. FIG. 7 and 8 illustrate the user interface of the remote play client used on the user's computer to remotely play computer games (or specifically web-based computer games) over the Internet. The user interface may, for example, be displayed as a Windows dialog box window as illustrated in FIG. 7 and 8 (title bar, minimize button, close/end button and similar window elements). Other types of user interfaces that are (or will become) common in operating systems, platforms, web browsers, and the like, for the user interface, are also covered by the invention. FIG.

7 viser brukergrensesnittet som vises ved oppstart (av programmet) og eventuelt etter at en fjernspillingssesjon er ferdig. Brukergrensesnittet inneholder informasjon, og brukeren angir en server (eller et dataspill) i "comboboksen" (eller annen liste). Brukergrensesnittet kan også inneholde konfigurasjonskontroller for å konfigurere slike ting som bitraten som blir brukt for komprimering av audiovisuelle signaler, fullskjerm, "3D vision, grab input, in-game cursor," pakkestørrelse, bildeskalering, rammerate, nettverksport, brukernavn, og 7 shows the user interface that appears at start-up (of the program) and possibly after a remote play session is finished. The user interface contains information, and the user specifies a server (or computer game) in the "combo box" (or other list). The user interface may also contain configuration controls to configure such things as the bitrate used for audio-visual compression, full screen, "3D vision, grab input, in-game cursor," packet size, image scaling, frame rate, network port, username, and

passord. Denne listen er et eksempel og kan naturligvis endres for ulike implementeringer. "Koble til" knappen (eller lignende) brukes for starte fjernspillingssesjonen (mot serveren). Oppdater-knappen (eller lignende) brukes til å oppdatere listen over servere (og lignende). Avbrytingsknappen (eller lignende) brukes til å lukke/avslutte brukergrensesnittet/klienten. Fjernspillingsklienten viser brukergrensesnittet i FIG. 8 når fjernspillingssesjonen eksekverer (untatt i fullskjerm-modus hvor spillvisningen dekker skjermen). Spillvisning viser dekodet videosignal fra serveren (dvs. en komprimert audio og video strøm av skjermbildene til et password. This list is an example and can of course be changed for different implementations. The "Connect" button (or similar) is used to start the remote play session (against the server). The Refresh button (or similar) is used to update the list of servers (or similar). The cancel button (or similar) is used to close/exit the user interface/client. The remote play client shows the user interface in FIG. 8 when the remote play session executes (except in full screen mode where the game view covers the screen). Game View displays the decoded video signal from the server (i.e. a compressed audio and video stream of the screen images of a

dataspill som eksekverer på serveren). Videosignalet kan være komprimert med et hvilket som helst video og lyd kodek (f.eks. Microsoft WMV2 og WMA). Fjernspillingsklienten fanger opp brukerinputt (som f.eks. tastatur, mus, gamepad, joystick, Directlnput, eller lignende) og sender brukerinputt data komprimert (eller ukomprimert) til serveren (dvs. dataspillet). Fjernspillingsklienten er relativt rett frem og enkel å implementere. Fjernspillingsklienten kan også inneholde et presentasjonssystem for å visualisere 2D, 3D og multimedia innhold computer games executing on the server). The video signal can be compressed with any video and audio codec (eg Microsoft WMV2 and WMA). The remote gaming client captures user input (such as keyboard, mouse, gamepad, joystick, Directlnput, or the like) and sends the user input data compressed (or uncompressed) to the server (ie the computer game). The remote play client is relatively straight forward and easy to implement. The remote playback client can also contain a presentation system to visualize 2D, 3D and multimedia content

(med brukergrensesnitter) i spillvisningen. Integreringen av presentasjonssystemet i spillvisning er relativt rett frem og enkel, og video strømmen (dvs. for fjemspillingen) kan f.eks. vises med et Video element i presentasjonssystemet. På serveren trengs det komponenter (with user interfaces) in the game view. The integration of the presentation system into game viewing is relatively straight forward and simple, and the video stream (ie for remote gaming) can e.g. displayed with a Video element in the presentation system. Components are needed on the server

for muliggjøre fjernspilling. Det trengs programkode, dvs. en stubb (1002) og/eller (1207), i dataspillet som tar imot brukerinputten (eventuelt dekomprimering av denne) og injekterer/ håndterer denne i dataspillet. Dataspillet må også inneholde programkode (dvs. stubb) for å administrere start og stopp av fjernspilling (med konfigurasjoner), fanging ("capture") av to enable remote play. Program code, i.e. a stub (1002) and/or (1207), is needed in the computer game which accepts the user input (possibly decompressing this) and injects/handles this in the computer game. The computer game must also contain program code (i.e. stub) to manage the start and stop of remote play (with configurations), capture ("capture") of

skjermbilder og lyd i dataspillet, komprimering av audio og video, samt sende audio/video pakker over nettverket. Ulike komprimeringsteknikker kan benyttes. I DirectX er de ulike Present-funksjonene en naturlig plass for "capture" av skjermbildet. Oppfinnelsen omfatter også dataspill (og servere) som har slike komponenter for muliggjøring av fjernspilling. Brukergrensesnittene i FIG. 7 og 8 kan settes sammen på mange måter, f.eks. som to dialog-bokser/vinduer, som Microsoft Remote Desktop, slik at vinduet i FIG. 7 endres til vinduet i FIG. 8 når brukeren trykker "Koble til", med videre. Det er også mulig at andre layout og navn benyttes i grensesnittene. screenshots and sound in the computer game, compression of audio and video, as well as sending audio/video packets over the network. Different compression techniques can be used. In DirectX, the various Present functions are a natural place for "capture" of the screen image. The invention also covers computer games (and servers) that have such components for enabling remote gaming. The user interfaces of FIG. 7 and 8 can be put together in many ways, e.g. as two dialog boxes/windows, such as Microsoft Remote Desktop, so that the window in FIG. 7 is changed to the window of FIG. 8 when the user presses "Connect", etc. It is also possible that other layouts and names are used in the interfaces.

FIG. 9 illustrerer "desktop applikasjonen" som typisk er tilgjengelig i "system tray." Desktop applikasjonen vil typisk starte når datamaskinen starter opp (som et ikon i system tray, slik som f.eks. Skype). Desktop applikasjonen kan også implementeres som en tjeneste (f.eks. som en NT Service i Microsoft Windows). Brukergrensesnittet kan for eksempel vises som et Windows dialogvindu som illustrert i FIG. 9 (tittellinje, minimerings- og maksimeringsknapp, lukk/slutt-knapp og lignende). Andre typer brukergrensesnitt som er (eller blir) vanlige i FIG. 9 illustrates the "desktop application" that is typically available in the "system tray." The desktop application will typically start when the computer starts up (as an icon in the system tray, such as e.g. Skype). The desktop application can also be implemented as a service (eg as an NT Service in Microsoft Windows). For example, the user interface may be displayed as a Windows dialog window as illustrated in FIG. 9 (title line, minimize and maximize button, close/end button and the like). Other types of user interfaces that are (or will be) common in

operativsystemer, plattformer, web browsere, og lignende, for brukergrensesnittet, er også omfattet av oppfinnelsen. Menylinjen (dvs. Menyl, Meny2, osv.) består av menyfunksjoner. Nedenfor menylinjen er verktøylinjen (dvs. Knappl, Knapp2, osv.). Verktøylinjen inneholder som regel hyppig brukte funksjoner (som også finnes i menyen). Nedenfor verktøylinjen er en "tab" kontroll som viser hovedkategorier av funksjonaliteter (som f.eks. "Game Sites" og annet). Det er aktuelt at menylinjen og verktøylinjen varierer når "tab" kontrollen blir brukt (dvs. hovedkategori funksjonalitetene har ulike menylinjer og verktøylinjer). "Game Sites" er vist som valgt i FIG. 9. Desktop applikasjonen kan også inkludere en rekke hovedkategori funksjonaliteter (f.eks. "instant messaging, remote desktops, FTP verktøy, cache, licenses, heads-up display tools," med videre). "Game Sites tab" inneholder en liste over registrerte dataspill (lokalt nedlastbare dataspill og/eller dataspill for fjernspilling). Listen i figuren viser 3 eksempler på dataspill i listen. En "scrollbar" (til høyre) kan brukes til å "scrolle" i listen. Hvert dataspill i listen er vist med et lite "thumbnail" bilde (Bildel, Bilde2, og Bilde3) som viser et lite representasjonsbilde av dataspillet. Ved siden av "thumbnail" bildet er det et informasjonsfelt (f.eks. Informasjon 1) som inneholder informasjon om dataspillet (som f.eks. beskrivelser, utgiver/publisher, publiseringsdato, URL, antallet bytes dettar opp på harddisken, antall filer, bruksstatistikk, med videre). Informasjonsfeltet kan også inneholde operating systems, platforms, web browsers, and the like, for the user interface, are also covered by the invention. The menu bar (ie Menu, Menu2, etc.) consists of menu functions. Below the menu bar is the toolbar (ie Button1, Button2, etc.). The toolbar usually contains frequently used functions (which are also found in the menu). Below the toolbar is a "tab" control that displays main categories of functionality (such as "Game Sites" and others). It is applicable that the menu bar and the toolbar differ when the "tab" control is used (ie the main category functionalities have different menu bars and toolbars). "Game Sites" are shown as selected in FIG. 9. The desktop application may also include a number of main category functionalities (eg "instant messaging, remote desktops, FTP tools, cache, licenses, heads-up display tools," etc.). The "Game Sites tab" contains a list of registered video games (local downloadable video games and/or remote play video games). The list in the figure shows 3 examples of computer games in the list. A "scrollbar" (on the right) can be used to "scroll" in the list. Each computer game in the list is shown with a small "thumbnail" image (Image, Image2, and Image3) that shows a small representation of the computer game. Next to the "thumbnail" image, there is an information field (e.g. Information 1) that contains information about the computer game (such as descriptions, publisher, publication date, URL, the number of bytes it takes up on the hard drive, the number of files, usage statistics, etc.). The information field can also contain

kontroller (som f.eks. knapper og lignende). Typiske funksjoner som kan utføres på hvert enkelt dataspill i listen er å starte lokale dataspill i web browser (eller i lokal klient), starte fjernspilling av dataspillene, samt administrere dataspillene (slette, allokere, synkronisere, komprimere, backup, med videre). Dataspill kan typisk registreres i listen i fra web browser plug-in'en, eller i fra desktop applikasjonen direkte (f.eks. "add game" i menyen). Dersom et dataspill registreres i fra web browser plug-in'en, kan det f.eks. skje via en Windows message (i Microsoft Windows), registry, en fil, et "remote procedure" kall, eller lignende. Desktop applikasjonen vil hente en XML liste over alle filene som skal lastes ned og/eller synkroniseres, hvorpå filene blir lastet ned. Det kan konfigureres hvor mye båndbredde som skal brukes og lignende. Filene kan naturligvis komprimeres (f.eks. zip/rar og lignende) og krypteres (f.eks. RSA og lignende). En hvilken som helst struktur kan benyttes for denne XML-filen, og f.eks. en liste med "file" og "folder" elementer (inkludert fil/foldernavn, dato, bytes, md5/crc, URL, ageRating, med videre) innenfor et "synch" element. Når desktop applikasjonen er ferdig med å laste ned, kan den sende en melding tilbake til web browser plug-in'en og/eller fjernspillingsklienten (meldinger kan også sendes om "progress"). Videre er en annen sentral funksjon til desktop applikasjonen å synkronisere filstrukturer (dvs. filer og foldere) i mellom brukerens maskin og serverene. Dette er en viktig funksjon i sammen med Web OS'et fordi samarbeidsprosjekter med ulike brukere vil medføre at et større antall filer og foldere blir lagt opp på serverene. Synkronisering av disse, eller subsett av disse, er en viktig funksjonalitet i desktop applikasjonen. Oppsett av en slik synkronisering i desktop applikasjonen kan f.eks. gjøres på samme måte som for spillressurser, dvs. at en "game site" (FIG. 9) blir registrert i desktop applikasjonen. Desktop applikasjonen vil konfigureres med hvilken filstruktur på serveren som skal brukes (f.eks. ved XML-data fra serveren) og hvor filstrukturen skal lagres lokalt. Desktop applikasjonen kan videre konfigureres til hva slags filer som skal synkroniseres (f.eks. blend-filer), når de skal skal synkroniseres (f.eks. umiddelbart ved endring, en gang om dagen, og lignende), med videre. Det er også mulig at oppsettet av synkroniseringer med Web OS'et legges under en egen "tab", eller i en egen dialog-boks som åpnes fra menyen. Det er nødvendig i samarbeidsprosjekter å kunne låse filer og/eller foldere. Dette indikerer ovenfor andre brukere at filen er låst av en bruker og at denne har eksklusive redigeringsmuligheter. Andre brukere kan da ikke redigere den filen og/eller filstrukturen. Dette er nødvendig fordi hvis det ikke var mulig å låse filer, da ville jo to eller flere brukere kunne endre en fil samtidig og synkroniseringen ville overskrive filen controls (such as buttons and the like). Typical functions that can be performed on each individual computer game in the list are starting local computer games in a web browser (or in a local client), starting remote playing of the computer games, as well as managing the computer games (delete, allocate, synchronize, compress, backup, etc.). Computer games can typically be registered in the list from the web browser plug-in, or from the desktop application directly (e.g. "add game" in the menu). If a computer game is registered in from the web browser plug-in, it can e.g. happen via a Windows message (in Microsoft Windows), registry, a file, a "remote procedure" call, or similar. The desktop application will retrieve an XML list of all the files to be downloaded and/or synchronized, after which the files will be downloaded. The amount of bandwidth to be used and similar can be configured. The files can of course be compressed (e.g. zip/rar and the like) and encrypted (e.g. RSA and the like). Any structure can be used for this XML file, and e.g. a list of "file" and "folder" elements (including file/folder name, date, bytes, md5/crc, URL, ageRating, etc.) within a "synch" element. When the desktop application has finished downloading, it can send a message back to the web browser plug-in and/or remote play client (progress messages can also be sent). Furthermore, another central function of the desktop application is to synchronize file structures (ie files and folders) between the user's machine and the servers. This is an important function together with the Web OS because collaborative projects with different users will result in a larger number of files and folders being uploaded to the servers. Synchronization of these, or subsets of these, is an important functionality in the desktop application. Setting up such a synchronization in the desktop application can e.g. is done in the same way as for game resources, i.e. that a "game site" (FIG. 9) is registered in the desktop application. The desktop application will be configured with which file structure on the server is to be used (e.g. for XML data from the server) and where the file structure is to be stored locally. The desktop application can further be configured for what kind of files are to be synchronized (e.g. blend files), when they are to be synchronized (e.g. immediately upon change, once a day, and the like), and so on. It is also possible that the setup of synchronizations with the Web OS is placed under a separate "tab", or in a separate dialog box that is opened from the menu. It is necessary in collaborative projects to be able to lock files and/or folders. This indicates to other users that the file is locked by a user and that this user has exclusive editing options. Other users cannot then edit that file and/or file structure. This is necessary because if it were not possible to lock files, then two or more users would be able to change a file at the same time and the synchronization would overwrite the file

og/eller filstrukturen på serveren vilkårlig (avhengig av tidspunktet brukerne velger "save" i redigeringsprogrammet). Låsing av filer kan f.eks. skje i Web OS'et i file explorer, det lokale operativsystemet (høyreklikk fil og velg "lås"/"lås opp"), og/eller desktop applikasjonen. Det kan også lagres en logg (med kopi av gamle filer) på serveren for bevaring av historikken. and/or the file structure on the server arbitrarily (depending on the time the users choose "save" in the editor). Locking files can e.g. happen in the Web OS in the file explorer, the local operating system (right-click file and select "lock"/"unlock"), and/or the desktop application. A log (with a copy of old files) can also be stored on the server to preserve the history.

FIG. 10 viser kildekodestrukturen for et minimalistisk dataspill (template kode) laget i Java. Denne strukturen (Load/Update/Draw) er et mulig utgangspunkt for Java-baserte dataspill. FIG. 10 shows the source code structure for a minimalist computer game (template code) made in Java. This structure (Load/Update/Draw) is a possible starting point for Java-based computer games.

Hovedidéen i forhold til industriell utnyttelse i Norge er hovedsaklig i forhold til å utvikle og tilby "dataspill nettsteder," som benytter vår web browser plug-in, desktop applikasjon, og The main idea in relation to industrial exploitation in Norway is mainly in relation to developing and offering "computer game websites," which use our web browser plug-in, desktop application, and

fjernspillingsteknikker for å produsere og tilby nettsteder (på Internett), som ser ut som og fungerer på samme måte som (sett i forhold til brukeropplevelsen) "main title" dataspill gjør idag. Per idag benyttes hovedsaklig tekst, video, og enkle multimedieinnhold for utvikling av nettsteder. Vi tror at dataspill-baserte opplevelser er et naturlig neste steg, i fremtiden, for innhold på Intern ett/Web. Våre teknikker representerer spesifikke fremgangsmåter for å lage dataspill nettsteder. Vi planlegger å tilby produkter, tjenester, med videre, for å skape slike dataspill nettsteder for bedrifter, organisasjoner, privatpersoner, med videre, i Norge. Vi planlegger også å lage "seriøse dataspill" med kunnskapsinnhold og positive verdier med dette systemet, hvor studenter og dataspill brukere involveres i kollaborative prosjekter. Vi skal tilby kurs og utdanning i dette systemet og etterhvert tilby utdanningsprogrammer som vil lede frem til "associates", "bachelor", "master" og doktorgrad innen dataspillutvikling. Vi må naturligvis akkreditere utdanningsprogrammene før det blir mulig. Videre, tror vi at en remote gaming techniques to produce and provide websites (on the Internet), which look and function the same way (in terms of user experience) "main title" computer games do today. As of today, text, video and simple multimedia content are mainly used for the development of websites. We believe that computer game-based experiences are a natural next step, in the future, for content on the Internet/Web. Our techniques represent specific procedures for creating computer game websites. We plan to offer products, services, etc., to create such computer game websites for companies, organizations, individuals, etc., in Norway. We also plan to create "serious computer games" with knowledge content and positive values with this system, where students and computer game users are involved in collaborative projects. We will offer courses and education in this system and eventually offer educational programs that will lead to associate's, bachelor's, master's and doctorate degrees in computer game development. Naturally, we have to accredit the education programs before that becomes possible. Furthermore, we believe that a

gang i fremtiden vil (både web-baserte og "stand-alone") dataspill kunne laste 3D modeller, teksturer, media, med videre direkte fra "the cloud". Det blir i økende grad mulig, ettersom Internettforbindelsen til brukerne blir stadig bedre. Brukerne (av dataspill) vil ofte ha egene "avatars" (en 3D representasjon av seg selv eller en annen karakter) på servere hos ulike sometime in the future (both web-based and "stand-alone") computer games will be able to load 3D models, textures, media, etc. directly from "the cloud". It is becoming increasingly possible, as the Internet connection of users continues to improve. The users (of computer games) will often have their own "avatars" (a 3D representation of themselves or another character) on servers at various

leverandører som tilbyr laging av slike "avatars". Sannsynligvis vil brukerne også ha en lang rekke "assets" også (f.eks. bil, hus, AI-venner, klær, gjenstander, romskip, med videre). Vi tror også at brukerne vil lage egne spillverdener (f.eks. level-design, modeller, historie, med videre). Det vil bli behov for mange ulike kollaborative tjenester (f.eks. avatar authoring, suppliers who offer the creation of such "avatars". Users will likely also have a wide variety of "assets" as well (eg car, house, AI friends, clothes, items, spaceships, etc.). We also believe that users will create their own game worlds (e.g. level design, models, story, etc.). There will be a need for many different collaborative services (e.g. avatar authoring,

asset authoring, LOD editors, level designers, world environment designers, building design, landscape design, med videre). Digital rettighetsstyring (DRM) er viktig. Vi legger opp til at 3D modeller, teksturer, med videre kan krypteres i Web OS'et (og/eller andre verktøy). Det spesifiseres ikke en bestemt krypteringsalgoritme (f.eks. RSA-basert). Oppfinnelsen dekker ulike krypteringsalgoritmer. Vi ser for oss at vi tilbyr programkode for utstedelse av lisenser som kan brukes for å dekryptere innholdet for bruk på brukerens maskin. Vi ser for oss at vi vil tilby en DRM-løsningsarkitektur som ligner på Microsoft Windows Media Rights Manager. Vi tror det vil bli et stort behov for mange ulike web-baserte dataspillopplevelser, som f.eks. "virtual studios, virtual expos, virtual meetingrooms, virtual seminars, virtual classrooms, virtual corporation, " med videre, med VR-briller, grid computing, ray-tracing, iPads, osv. asset authoring, LOD editors, level designers, world environment designers, building design, landscape design, etc.). Digital rights management (DRM) is important. We propose that 3D models, textures, etc. can be encrypted in the Web OS (and/or other tools). A specific encryption algorithm (e.g. RSA-based) is not specified. The invention covers various encryption algorithms. We envision that we offer licensing program code that can be used to decrypt the content for use on the user's machine. We envision that we will offer a DRM solution architecture similar to Microsoft Windows Media Rights Manager. We believe there will be a great need for many different web-based computer game experiences, such as e.g. "virtual studios, virtual expos, virtual meetingrooms, virtual seminars, virtual classrooms, virtual corporation," and so on, with VR glasses, grid computing, ray-tracing, iPads, etc.

Selv om oppfinnelsen har blitt beskrevet med referanse i en legemliggjørelse, vil de som er erfarne innse at variasjoner i form/detalj kan gjøres uten å avvike fra intensjonen i skopet til oppfinnelsen som definert i de vedlagte krav. De spesifikke detaljene ovenfor er ment bare for å være illustrative og skopet av oppfinnelsen er definert av de vedlagte krav. For eksempel kan oppfinnelsen praktiseres som fjernutvikling og fjernspilling i web browser og oppfinnelsen kan integreres i operativsystem, web browsere, maskinvare, og dataspill. Although the invention has been described with reference to one embodiment, those skilled in the art will realize that variations in form/detail can be made without deviating from the intent in the scope of the invention as defined in the appended claims. The specific details above are intended to be illustrative only and the scope of the invention is defined by the appended claims. For example, the invention can be practiced as remote development and remote gaming in a web browser and the invention can be integrated into operating systems, web browsers, hardware and computer games.

Claims (10)

1. System for utvikling av dataspill via Internett, karakterisert ved et web operativsystem som vises i en web browser og/eller web browser plug'in; web operativsystemet inneholder en kurskatalog, som inneholder en liste over kurs, der hvert kurs har en kursbeskrivelse med bilde; web operativsystemet inneholder en kursvisning, som inneholder et visningsområde, et kontrollerområde, kursbilde, kurstittel, innholdsliste og andre elementer; web operativsystemet inneholder en Mesh Viewer, som viser en 3D modell, hvor en kan endre materialer og lyssettinger til 3D modellen, og interaktivt endre 3D visningen slik at en kan se 3D modellen ifra ulike vinkler og forstørrelser; web operativsystemet inneholder et bibliotek av artikler og referanser; en desktop applikasjon er installert på sluttbrukerens datamaskin, som inneholderen liste over dataspill/dataspillprosjekter, der dataspillressurser/filstrukturer synkroniseres med systemservere/versjonskontrollsystemer slik at en oppdatert filstruktur av kildekode og data filer er tilgjengelig på sluttbrukerens datamaskin for redigering og synkronisert opplasting til systemservere/versjonskontrollsystemer; desktop applikasjonen kan brukes til å starte dataspillet i en kontekst der dataspillet debugges/utvikles/testes på sluttbrukerens lokale datamaskin, og/eller på systemserverene ved fjernspilling, slik at sluttbrukeren kan bidra med debugging og utvikling av dataspillet; desktop applikasjonen kan brukes til å konfigurere en HUD i dataspillet, hvor HUD'en ekseverer lokalt (1002) eller på systemservere (1207), og kobler seg til systemserverne; og desktop applikasjonen kan brukes til å starte dataspillet, med lokal spilling eller med fjernspilling, i en web browser og/eller web browser plug-in på sluttbrukerens datamaskin.1. System for developing computer games via the Internet, characterized by a web operating system displayed in a web browser and/or web browser plug-in; the web operating system contains a course catalogue, which contains a list of courses, where each course has a course description with an image; the web operating system contains a course view, which contains a display area, a controller area, course image, course title, content list and other elements; the web operating system contains a Mesh Viewer, which displays a 3D model, where you can change materials and lighting settings for the 3D model, and interactively change the 3D view so that you can see the 3D model from different angles and magnifications; the web operating system contains a library of articles and references; a desktop application is installed on the end user's computer, containing a list of computer games/computer game projects, where computer game resources/file structures are synchronized with system servers/version control systems so that an updated file structure of source code and data files is available on the end user's computer for editing and synchronized uploading to system servers/version control systems ; the desktop application can be used to start the computer game in a context where the computer game is debugged/developed/tested on the end user's local computer, and/or on the system servers in case of remote gaming, so that the end user can contribute to debugging and development of the computer game; the desktop application can be used to configure a HUD in the computer game, where the HUD executes locally (1002) or on system servers (1207), and connects to the system servers; and the desktop application can be used to start the computer game, with local play or with remote play, in a web browser and/or web browser plug-in on the end user's computer. 2. System i henhold til krav 1, karakterisert vedat et Accessible OS tilbys til blinde og svaksynte sluttbrukere.2. System according to claim 1, characterized by an Accessible OS being offered to blind and partially sighted end users. 3. System i henhold til krav 1, karakterisert vedat dataspillet eksekverer både på sluttbrukerens datamaskin og på systemservere, slik at videostrømmen fra systemserverene vises inne i dataspillet på sluttbrukerens datamaskin.3. System according to claim 1, characterized in that the computer game executes both on the end user's computer and on system servers, so that the video stream from the system servers is displayed inside the computer game on the end user's computer. 4. System i henhold til krav 1, karakterisert vedat web operativsystemet har et grensesnitt/layout med ikoner (2001), web applikasjonsvinduer (2008), startmeny (2003), taskbar med ikoner (2004), og klokke (2007); og webapplikasjonene inkluderer en 3D modell editor og en IDE.4. System according to claim 1, characterized in that the web operating system has an interface/layout with icons (2001), web application windows (2008), start menu (2003), taskbar with icons (2004), and clock (2007); and the web applications include a 3D model editor and an IDE. 5. System i henhold til krav 1, karakterisert vedat en fjernspillingsklient kan benyttes for å fjernspille og/eller fjernutvikle dataspill over Internett.5. System according to claim 1, characterized in that a remote gaming client can be used to remotely play and/or remotely develop computer games over the Internet. 6. System i henhold til krav 1, karakterisert vedat en eller flere filer benytter DRM slik at disse er krypterte.6. System according to claim 1, characterized in that one or more files use DRM so that these are encrypted. 7. System for utvikling av dataspill via Internett, karakterisert ved et web operativsystem som vises i en web browser og/eller web browser plug'in; web operativsystemet inneholder en kurskatalog, som inneholder en liste over kurs, der hvert kurs har en kursbeskrivelse med bilde; web operativsystemet inneholder en kursvisning, som inneholder et visningsområde, et kontrollerområde, kursbilde, kurstittel, innholdsliste og andre elementer; web operativsystemet inneholder en Mesh Viewer, som viser en 3D modell, hvor en kan endre materialer og lyssettinger til 3D modellen, og interaktivt endre 3D visningen slik at en kan se 3D modellen ifra ulike vinkler og forstørrelser; web operativsystemet inneholder et bibliotek av artikler og referanser; webapplikasjonene inkluderer en 3D modell editor og en IDE; og IDE'en lar brukeren redigere og debugge dataspillets kildekode, slik at en debugging fjernspillingsvisning vises i web operativsystemet med en HUD (1207) og/eller en eller flere webapplikasjoner som viser debuggingsinformasjon og styrer debuggingen/dataspillet.7. System for developing computer games via the Internet, characterized by a web operating system displayed in a web browser and/or web browser plug-in; the web operating system contains a course catalogue, which contains a list of courses, where each course has a course description with an image; the web operating system contains a course view, which contains a display area, a controller area, course image, course title, content list and other elements; the web operating system contains a Mesh Viewer, which displays a 3D model, where you can change materials and lighting settings for the 3D model, and interactively change the 3D view so that you can see the 3D model from different angles and magnifications; the web operating system contains a library of articles and references; the web applications include a 3D model editor and an IDE; and The IDE allows the user to edit and debug the computer game's source code, so that a debugging remote play view is displayed in the web operating system with a HUD (1207) and/or one or more web applications that display debugging information and control the debugging/computer game. 8. System i henhold til krav 7, karakterisert vedat dataspillet eksekverer både på sluttbrukerens datamaskin og på systemservere, slik at videostrømmen fra systemserverene vises inne i dataspillet på sluttbrukerens datamaskin.8. System according to claim 7, characterized in that the computer game executes both on the end user's computer and on system servers, so that the video stream from the system servers is displayed inside the computer game on the end user's computer. 9. System i henhold til krav 7, karakterisert vedat web operativsystemet har et grensesnitt/layout med ikoner (2001), web applikasjonsvinduer (2008), startmeny (2003), taskbar med ikoner (2004), og klokke (2007); og et Accessible OS tilbys til blinde og svaksynte sluttbrukere.9. System according to claim 7, characterized in that the web operating system has an interface/layout with icons (2001), web application windows (2008), start menu (2003), taskbar with icons (2004), and clock (2007); and an Accessible OS is offered to blind and visually impaired end users. 10. System i henhold til krav 7, karakterisert vedat en desktop applikasjon kan benyttes for å synkronisere og/ eller laste ned dataspill/dataspillressurser/filstrukturer med/fra systemservere; og desktop applikasjonen kan brukes til å starte dataspillet, med lokal spilling og/eller med fjernspilling, i en web browser og/eller web browser plug-in på sluttbrukerens datamaskin.10. System according to claim 7, characterized in that a desktop application can be used to synchronize and/or download computer games/computer game resources/file structures with/from system servers; and the desktop application can be used to start the computer game, with local play and/or with remote play, in a web browser and/or web browser plug-in on the end user's computer.
NO20111454A 2011-10-26 2011-10-26 A system for developing computer games on the Internet NO333583B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
NO20111454A NO333583B1 (en) 2011-10-26 2011-10-26 A system for developing computer games on the Internet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NO20111454A NO333583B1 (en) 2011-10-26 2011-10-26 A system for developing computer games on the Internet

Publications (2)

Publication Number Publication Date
NO20111454A1 true NO20111454A1 (en) 2013-04-29
NO333583B1 NO333583B1 (en) 2013-07-15

Family

ID=48692215

Family Applications (1)

Application Number Title Priority Date Filing Date
NO20111454A NO333583B1 (en) 2011-10-26 2011-10-26 A system for developing computer games on the Internet

Country Status (1)

Country Link
NO (1) NO333583B1 (en)

Also Published As

Publication number Publication date
NO333583B1 (en) 2013-07-15

Similar Documents

Publication Publication Date Title
Rahaman et al. From photo to 3D to mixed reality: A complete workflow for cultural heritage visualisation and experience
US10419510B2 (en) Selective capture with rapid sharing of user or mixed reality actions and states using interactive virtual streaming
US20110169927A1 (en) Content Presentation in a Three Dimensional Environment
Alatalo An entity-component model for extensible virtual worlds
US20190065028A1 (en) Agent-based platform for the development of multi-user virtual reality environments
CN103095828A (en) Web three dimensional (3D) synchronous conference system based on rendering cloud and method of achieving synchronization
US20090271436A1 (en) Techniques for Providing a Virtual-World Object Based on a Real-World Object Description
White et al. Multimodal mixed reality interfaces for visualizing digital heritage
Capece et al. Design and implementation of a web-based collaborative authoring tool for the virtual reality
US20220254114A1 (en) Shared mixed reality and platform-agnostic format
US20200014738A1 (en) Selective capture with rapid sharing of user or mixed reality actions and states using interactive virtual streaming
US10191722B1 (en) Event synchronization for development computing system
Kimer et al. A model of software development process for virtual environments: definition and a case study
Walczak et al. Virtual and augmented reality for configuring, promoting and servicing household appliances
US20150269781A1 (en) Rapid Virtual Reality Enablement of Structured Data Assets
NO20111454A1 (en) A system for developing computer games on the Internet
Bakhmut et al. Using augmented reality WEB-application for providing virtual excursion tours in university campus
Odom HoloLens Beginner's Guide
Serpi et al. Web5VR: a flexible framework for integrating virtual reality input and output devices on the web
Potts et al. Enhanced augmented/mixed reality and process safety applications
Georgiev Tools for presenting 3D objects and virtual collections online
Marchese et al. Adapting single-user visualization software for collaborative Use
Georgiev A Web Application for Creating and Presenting 3D Object Expositions
US20230222445A1 (en) Content creation using a smart asset library
Roberts The AR/VR Technology Stack: A Central Repository of Software Development Libraries, Platforms, and Tools

Legal Events

Date Code Title Description
MM1K Lapsed by not paying the annual fees