Skip to main content

GWT Quake in the browser

2010, the browser is a platform. Step by step, HTML5 arrives.

Three Googlers present their 20% project: a port of the Quake II engine to HTML5 using the Google Web Toolkit.
For more information, please visit Quake2-gwt-port.



In the projet page, you read:

In the port, we use WebGL, the Canvas API, HTML 5 elements, the local storage API, and WebSockets to demonstrate the possibilities of pure web applications in modern browsers such as Safari and Chrome.

The port is based on the Jake2 project, compiled to Javascript using the Google Web Toolkit (GWT). Jake 2 is a Java port of the original Quake II source code, which was open sourced by id software.

To make the Jake 2 code work with GWT, we have

  • Created a new WebGL based renderer
  • Ported the network layer for multiplayer games from UDP to the WebSocket API
  • Made all resource loading calls asynchronous
  • Created a GWT implementation of Java nio buffers based on WebGL arrays (to be ported to ECMAScript Typed Arrays)
  • Implemented a simple file system emulation for saving games and preferences using the Web Storage API
For more details about HTML5, see this presentation.

Comments

Popular posts from this blog

Learning about Data Science?

This is the end of a beautiful summer, and also one of the warmer recorded in France. I’m continuing my journey in the product management world and today I’m living in the product marketing one too. I will blog about this later. During this first half of this year, I read several articles on big data and started to understand how important the data science discipline is. Being able to define a direction/goal to search, collecting the proper data, then using a collection of techniques to extract something others can’t see - it sounds like magic. Also, when I listened to the Udacity Linear Disgression podcast episode “Hunting the Higgs”, I understood people with these skills can be better at solving a problem than the domain experts themselves. Katie Malone explained that in a competition to solve a particle physics problem, the best results came from machine learning people. Then I read the article about Zenefit on the vision mobile website : “Zenefits is an insurance compan...

What I’m learning about AI agents

My learning journey in the world of AI, updated for 2026 Originally published in March 2025. Updated in August 2026. I started this list because I kept seeing the same terms used in different ways. I needed a simple map to understand what each technology actually does, and where it may be useful when bringing AI into a product. AI changes so quickly that a learning journey can become dated in a few months. My first version of this article was an attempt to map the technologies around AI agents and to make sense of the growing number of tools. Since then, the topic has moved from interesting experiments to real business systems. This updated version keeps the original intention: learn in public, organise the landscape, and focus on what is useful in practice. What changed since 2025 In early 2025, most conversations were still about chatbots, prompt engineering and early agent frameworks. In 2026, the more useful question is no longer "which model is the best?" but ...

Embracing Bluesky: A search for authentic dialogue beyond professional networks

LinkedIn is great for professional networking, but where can you have conversations with different people on a wider range of topics? I joined Twitter in 2008, later than many of my peers. Initially, it served as a platform for personal intellectual growth, offering pleasant exchanges focused primarily on computer science, human organisation, design and product management. But the growing awareness of climate issues changed everything. Anger became the dominant tone, and I found myself missing a more constructive environment. I don't want to spend my days in a world full of anger. In search of a new wave of self-improvement and more balanced discussions, I've made the move to: https://bsky.app/profile/lookingforanswers.me  I look forward to connecting with you there for more diverse and enriching conversations.