[en] Game development is a field of software engineering that has grown in complexity and economical importance over the last decades, and game engines have become mainstream as a solution for reusing code across projects and providing a layer of abstraction. This Bachelor Thesis describes the design and implementation of Clockwork, a modular platform for the development of videogames, that consists of a microengine, a package manager, a runtime, a standard API for rendering libraries, CLI tools, a Visual Studio Code extension and a set of bridges for exporting the games. The Clockwork Platform is completely open-source and modular, thus allowing to replace and customize any module to adapt to game-specific needs, while it encourages the developer to write reusable and elegant code using event-oriented programming, inheritance and composition. It allows developers to easily share their code with others thanks to the package manager, and provides an end-to-end developer friendly experience with its own tools. All of this is implemented on standard web tech, using vanilla JavaScript and standard formats such as JSON, empowering developers to further expand Clockwork by writing additional tooling and porting it to new platforms as they please. The Clockwork Platform has been published as open-source software on GitHub, and has been used successfully to develop different games, demos, rendering libraries and packages that showcase the versatility of its design. More information about the platform can be found at http://clockwork.js.org.

[es] El desarrollo de videojuegos es un campo de la ingeniería de software que ha crecido en complejidad e importancia económica durante las últimas décadas, y los motores de videojuegos se han convertido en una solución popular para reusar código entre proyectos y proveer una capa de abstracción. Este Trabajo de Fin de Grado describe el diseño y la implementación de Clockwork, una platforma modular para el desarrollo de videojuegos, que consiste de un micromotor, un gestor de paquetes, un runtime, una API estándar para bibliotecas de renderizado, unas herramientas de línea de comandos, una extensión de Visual Studio Code y un conjunto de puentes para exportar los juegos. La Plataforma Clockwork es completamente open-source y modular, permitiendo reemplazar y personalizar cualquier modulo para adaptarse a cualquier necesidad especifica de un juego, mientras que promueve que el desarrollador escriba código reusable y elegante usando programación orientada a eventos, herencia y composición. Hace posible a los desarrolladores compartir fácilmente su código con otros gracias al gestor de paquetes, y proporciona una experiencia sencilla para el desarrollador con sus propias herramientas. Todo esto esta implementado con tecnología web estándar, usando JavaScript y formatos estándar como JSON, permitiendo que puedan expandir Clockwork escribiendo herramientas adicionales y portándolo a otras plataformas si así lo desean. La Plataforma Clockwork ha sido publicada como open-source software en GitHub, y ha sido usada exitosamente para desarrollar diferentes juegos, demos, bibliotecas de renderizado y paquetes que demuestran la versatilidad de su diseño. La página web http://clockwork.js.org contiene más información sobre el proyecto.