18 repositorios
Reusable logic components that attach to game objects to automate movement, animation, and state transitions.
Distinct from Behavior Customization: Distinct from Behavior Customization: focuses on modular, attachable game entity logic rather than language-level magic methods.
Explore 18 awesome GitHub repositories matching software engineering & architecture · Entity Behavior Modules. Refine with filters or upvote what's useful.
Devise is a flexible authentication framework for Ruby on Rails applications. It serves as a user identity management system that handles registration, sign-in, password recovery, and account confirmation. The system integrates with the Warden middleware to manage user sessions and security across various request types. The framework functions as a multi-model authentication engine, allowing for the configuration of multiple distinct user models with independent routes and access controls. It also provides a standardized interface to connect with external identity providers and third-party lo
Includes specific authentication behaviors like lockable or recoverable into models via mixins to enable optional functionality.
GDevelop is a no-code game engine designed for building interactive 2D applications through a visual scripting environment. It allows users to define game logic and object interactions using a graphical interface of conditions and actions, eliminating the need for traditional programming. The platform functions as a cross-platform creator, enabling the export of projects to web, desktop, and mobile environments from a single codebase. The engine is built on a modular game development extension framework that supports the creation and sharing of reusable behaviors and logic components. Develop
Defining automated movement and state rules that can be attached to various objects to simplify complex game mechanics.
Crystal is a statically typed, compiled programming language designed for high performance and memory safety. It leverages an LLVM-based compiler to translate source code into optimized machine-executable binaries, while its type-inference-based static analysis enforces strict safety rules during the build process. The language distinguishes itself through a fiber-based concurrent runtime that manages lightweight execution units for asynchronous input and output without blocking the main process. It also features a powerful compile-time macro system that allows for the inspection and transfor
Injects methods and constants from modules into classes to share behavior and promote code reuse.
Cocos2d-x is a high-performance C++ game development framework designed for building and deploying interactive applications across mobile, desktop, and web platforms. It functions as a cross-platform game engine that utilizes an entity-component system to manage object lifecycles, behaviors, and spatial relationships within a unified codebase. The engine is distinguished by its specialized 2D graphics rendering pipeline, which is optimized for hardware-accelerated performance when displaying sprites, particle effects, and skeletal animations. It provides developers with low-level access to gr
Extends base objects by attaching modular functional units to define specific behaviors like rendering, physics, or animation logic.
OpenRA is an open-source game engine designed for the development and modernization of real-time strategy titles. It provides a modular framework that allows developers to build standalone games or total conversion modifications by leveraging a trait-based entity composition system. The engine is built to support both the preservation of classic strategy games and the creation of new experiences, offering cross-platform compatibility and a flexible architecture for defining game rules and unit behaviors. The engine distinguishes itself through a configuration-driven approach where game logic,
Constructs game objects by aggregating modular, data-driven traits that define behavior and properties.
Scala is a statically typed programming language and compiler that combines object-oriented and functional programming paradigms. It serves as a cross-platform runtime language capable of targeting the Java Virtual Machine and JavaScript to share logic between backend servers and web frontends. The project provides a functional programming framework with immutable data structures and higher-order functions to build reliable concurrent and distributed applications. It distinguishes itself through deep interoperability with Java and JavaScript ecosystems and the ability to transform code into n
Provides trait-based mixin composition to combine independent modules of functionality into a single class.
This is a role-based access control system for Laravel applications that manages user permissions and roles within a database. It provides a database permissions manager to assign specific abilities to users and roles, utilizing authorization gates to restrict access to routes and interface elements. The project features a wildcard permission system that uses pattern matching to grant broad access across multiple related permissions. It also supports team-scoped access control, allowing users to maintain different roles and permission levels across separate organizational contexts or teams.
Uses PHP traits to provide a consistent API for permission checks directly on user models.
This project is a framework for building back-office administrative interfaces and CRUD screens within Laravel applications. It provides a centralized PHP backend dashboard for managing application settings, server files, and internal system operations using configuration-based code. The system utilizes a configuration-driven UI generation model to create data interfaces for reading, updating, and deleting database records based on model definitions. It includes dedicated management interfaces for Redis key-value stores and a visual application monitoring dashboard for analyzing runtime excep
Uses PHP traits to inject shared CRUD operations and data handling logic into controllers to reduce boilerplate.
This is a comprehensive tutorial for learning TypeScript, designed for JavaScript programmers who want to understand the language's type system and modern features. The resource covers TypeScript's core identity, including its structural type compatibility, compile-time type erasure, declaration file merging, and the discriminated union pattern for precise type narrowing. The tutorial distinguishes itself by providing a progressive learning path from basic JavaScript concepts to advanced TypeScript patterns. It covers generic type parameter constraints, tuple types with fixed-length positions
Teaches composing behaviors from multiple classes using the mixin pattern.
This project is an open-source 3D game engine designed for building high-fidelity games, simulations, and cinematic environments. It functions as a robotics simulation platform with native integration for ROS 2 to model robot controllers and sensors. The engine features a multi-threaded Forward+ physically based renderer that supports hardware-accelerated ray tracing and global illumination. The system is built on a modular extension architecture using Gems to add or replace features without modifying core binaries. It includes a native SDK for AWS cloud integration, enabling IAM authenticati
Defines logic using a visual graph to handle input events, calculations, and entity property manipulation.
FactoryBot is a Ruby library for generating complex test objects and their associations, serving as a dynamic alternative to static fixture files. It provides a system for defining reusable data blueprints with default attributes and inheritance to produce consistent test records. The tool distinguishes itself through flexible instantiation strategies, allowing users to control whether objects are persisted to a database, built in memory, or created as stubs. It manages data uniqueness via a sequence generator for incremental values and uses traits to bundle shared attributes into reusable mo
Bundles shared attributes into reusable traits that can be dynamically added to objects during instantiation.
Scala 3 is an open-source, statically typed programming language that compiles to JVM bytecode, combining object-oriented and functional programming paradigms. Its core identity is defined by a sophisticated type system that includes traits, generics, union types, and a dependent object type system where types can depend on runtime values through path-dependent and singleton types. The language distinguishes itself through several advanced type-level and metaprogramming capabilities. It features a contextual abstraction mechanism using given instances and using clauses for compile-time implic
Linearizes trait mixins following a specific ordering rule for deterministic method resolution and super call chains.
Este repositorio es una colección de desafíos de programación en JavaScript y una guía de entrevista integral. Proporciona implementaciones de referencia y ejemplos educativos diseñados para ayudar a los desarrolladores a dominar los fundamentos del lenguaje y prepararse para entrevistas técnicas. El proyecto cubre una amplia gama de implementaciones especializadas, incluyendo patrones de programación funcional como currying y aplicación parcial, así como patrones asíncronos para el control de concurrencia. También incluye ejemplos prácticos de manipulación del Document Object Model (DOM) y la implementación de estructuras de datos comunes como pilas y colas. A grandes rasgos, la colección abarca características avanzadas del lenguaje, implementaciones de patrones de diseño y manipulación de estructuras de datos. Aborda una superficie que incluye programación asíncrona, interacción con el DOM, patrones de creación orientados a objetos y operaciones primitivas de bajo nivel.
Provides examples of combining independent modules of functionality into a single object via mixins.
This project is a slug generation and management tool for the Laravel Eloquent ORM. It provides a reusable trait that adds the ability to create unique, URL-friendly strings from model attributes, allowing database records to be retrieved using human-readable slugs instead of primary keys. The system supports multilingual URL management by maintaining separate localized slugs for a single model instance. It ensures uniqueness through an automatic collision-avoidance mechanism that appends numeric suffixes to duplicate strings and prevents the use of reserved words that might overlap with syst
Provides a reusable trait that extends Eloquent models with slugging capabilities and query scopes.
Funkin is a rhythm game engine and scriptable gameplay framework designed for creating musical battle games with synchronized note charts and audio. It functions as a comprehensive toolset for rhythm game modding, allowing for the addition of custom songs, characters, and stages through external assets and metadata. The project distinguishes itself through a dedicated modding system that supports priority-based asset overriding and a data patching utility for modifying JSON and XML configuration files via targeted merge operations. It utilizes a scriptable environment that executes external s
Creates custom classes via script files to override or add unique logic to game entities.
Murder is an entity component system game engine designed for 2D game development. It provides a core framework for managing game objects through an ECS architecture and includes a dedicated 2D game editor for asset management and real-time property configuration. The engine features a specialized 2D rendering pipeline supporting pixel art, sprite slicing, and parallax effects. It includes a hierarchical A* pathfinding system for agent navigation and a comprehensive asset management system for serializing and loading game resources. The project covers a broad range of capabilities, including
Implements modular behavioral state management to coordinate entity logic and transitions.
Este proyecto sirve como recurso educativo y referencia técnica para implementar patrones de diseño de software clásicos dentro del lenguaje de programación Ruby. Proporciona una colección curada de ejemplos de código que demuestran cómo aplicar patrones de diseño de comportamiento, creacionales y estructurales para resolver problemas comunes de desarrollo de software. El repositorio se distingue por centrarse en la intersección de los principios de diseño establecidos y los mecanismos únicos del lenguaje Ruby. Ilustra cómo aprovechar el despacho dinámico de métodos, el duck typing y la composición basada en mixins para crear código modular y reutilizable. Al aplicar estos patrones, los desarrolladores pueden mejorar la mantenibilidad y escalabilidad de sus aplicaciones mientras reducen la deuda técnica mediante una refactorización y organización estructural efectivas. La colección cubre una amplia gama de enfoques arquitectónicos, incluyendo técnicas para gestionar la instanciación de objetos, simplificar relaciones complejas del sistema y desacoplar la comunicación entre objetos. Estos ejemplos traducen conceptos de diseño abstractos en implementaciones concretas e idiomáticas de Ruby, proporcionando una guía práctica para estructurar sistemas orientados a objetos.
Provides examples of using mixins to inject reusable functionality into classes at runtime.
Este paquete proporciona un framework de autorización integral para aplicaciones Laravel, permitiendo la gestión de roles de usuario y permisos granulares a través de un sistema basado en base de datos. Permite a los desarrolladores definir niveles de acceso y asignarlos a los usuarios, asegurando que las políticas de seguridad se apliquen de manera consistente en toda la aplicación. El sistema se distingue por un modelo de herencia jerárquica, donde los permisos se propagan automáticamente desde roles de nivel inferior a roles de nivel superior basados en un sistema de niveles numéricos. Incluye una interfaz web administrativa dedicada que permite la creación, modificación y mantenimiento de roles y permisos sin requerir cambios directos en el código de la aplicación. Más allá de la gestión central de roles, el paquete ofrece herramientas para asegurar endpoints web a través de middleware de interceptación de solicitudes y validación de propiedad de entidades para restringir acciones en registros de datos específicos. También admite directivas a nivel de plantilla que renderizan u ocultan dinámicamente componentes de la interfaz según el estado de autorización del usuario autenticado. La integración se facilita a través de traits de modelo que proporcionan métodos fluidos para verificar los derechos de acceso en todo el código base.
Injects authorization methods into user models using traits for fluent access checking.