Skip to content

pabllopf/Alis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22,797 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Coverage Lines of Code Maintainability Rating Code Smells Technical Debt Security Rating Bugs Reliability Rating Duplicated Lines (%) Vulnerabilities GitHub issues License Web Nuget Total downloads GitHub Stars Donate Commit activity

Develop the video games of your dreams 💯 free!! on Windows, MacOS, Linux, WEB, Android(soon), IOS(soon).

📚 Table of Contents


📖 Description

Alis is a cross-platform framework designed to help developers create video games effortlessly. It includes a wide range of packages tailored for different functionalities like graphics, physics, networking, audio, and extensions for cloud integrations, AI, and more.

Features:

  • Cross-Platform: Compatible with Windows, macOS, Linux, WEB, and planned support for Android and iOS.
  • Modular: Each feature is available as a separate NuGet package.
  • Open Source: Licensed under GNU GPL v3.0 (ALL FREE!).
  • Powerful Extensions: Integrate easily with Google Ads, Google Drive, FFmpeg, and more.

⚙️ Modular Design

All modules within the Alis framework are fully independent and can be used separately. While the primary focus of Alis is game development, these modules are versatile and can be integrated into other types of applications requiring data management capabilities.


🖥️ Platform Compatibility

The Alis framework is designed to support a wide range of platforms, ensuring flexibility and adaptability for developers. Each module is optimized for seamless integration across the following architectures and operating systems:

Supported Platforms:

  • Windows

    • win-x64
    • win-x86
    • win-arm64
  • Linux

    • linux-x64
    • linux-musl-x64
    • linux-arm
    • linux-arm64
    • linux-musl-arm
    • linux-musl-arm64
  • macOS

    • osx-x64
    • osx-arm64
  • Web

    • browser-wasm
  • Mobile (Planned)

    • Android (soon)
    • iOS (soon)

🎮 Platform Compatibility

Alis is designed to support a wide range of frameworks, ensuring maximum flexibility across different platforms and environments. Whether you're working with legacy systems or the latest .NET versions, this module has got you covered!

Supported Frameworks:

Framework Version(s)
.NET Core netcoreapp2.0, netcoreapp2.1, netcoreapp2.2, netcoreapp3.0, netcoreapp3.1
.NET 5 & Above net5.0, net6.0, net7.0, net8.0, net9.0, net10.0
.NET Standard netstandard2.0, netstandard2.1
.NET Framework net471, net472, net48, net481

🚀 Getting Started

To start using Alis, simply install the core package from NuGet:

dotnet add package Alis

🛠️ Example Usage

using Alis;
using Alis.Core.Ecs.System;

class Program
{
    static void Main()
    {
        VideoGame.Create().Run();
    }
}

📦 NuGet Packages Overview

The ALIS framework is built with a modular architecture to provide flexibility, scalability, and performance optimization for game development. Below, you’ll find an explanation of the structure and purpose of the different packages available.

Core Package

If your primary goal is to develop a game, you should start with the ALIS package. This is the main package of the framework and includes the fundamental tools required to build games effectively. It acts as the foundation, and in most cases, it’s all you need to get started.

Modular Architecture

The framework is divided into multiple packages to ensure clarity and scalability:

  • Clear Responsibility: Each package handles a specific domain, such as graphics, physics, or ECS (Entity Component System), making the framework easy to maintain and extend.
  • Customizability: Only include the packages relevant to your game, keeping your project lightweight and performant.
  • Reusability: Packages can be reused across different projects without relying on unnecessary dependencies.

This structure allows developers to tailor the framework to their specific needs, focusing on essential features without being burdened by unused functionality.

Extensions

The framework also provides a variety of extensions, which are optional add-ons that enhance the core functionality of the framework. These are designed to cover advanced or specific use cases. For example:

  • Graphic Extensions like OpenGL or SDL2 allow for advanced rendering capabilities.
  • Cloud Extensions enable integration with services such as Dropbox or Google Drive.
  • Language and Audio Extensions add dialogue systems, translators, or enhanced audio features.
  • Physics, Math, and Networking Extensions allow deeper customization and control over game mechanics.

By including only the extensions you need, you can optimize your project and add functionality tailored to your game’s requirements.

Package Version Downloads Quality Metrics Description
Alis Nuget Nuget Coverage
Reliability
Security
Full game development bundle that brings together the main ALIS runtime modules and entry points.
Alis.Core Nuget Nuget Coverage
Reliability
Security
Shared runtime foundations used across ALIS, including common abstractions, services, and utilities.
Alis.Core.Ecs Nuget Nuget Coverage
Reliability
Security
Entity Component System architecture for high-performance composition and update of game objects.
Alis.Core.Physic Nuget Nuget Coverage
Reliability
Security
Physics primitives and simulation helpers for collisions, movement, and world interaction rules.
Alis.Core.Audio Nuget Nuget Coverage
Reliability
Security
Audio abstractions for playback, routing, and integration of music and sound effects.
Alis.Core.Graphic Nuget Nuget Coverage
Reliability
Security
Rendering core with graphics abstractions and pipeline components to draw game scenes.
Alis.Core.Aspect Nuget Nuget Coverage
Reliability
Security
Aspect-oriented foundation for implementing reusable cross-cutting behavior.
Alis.Core.Aspect.Data Nuget Nuget Coverage
Reliability
Security
Data-focused aspects that centralize validation, transformation, and data access concerns.
Alis.Core.Aspect.Fluent Nuget Nuget Coverage
Reliability
Security
Fluent API for configuring and composing aspects with readable, chainable syntax.
Alis.Core.Aspect.Logging Nuget Nuget Coverage
Reliability
Security
Logging aspects for tracing, diagnostics, and consistent observability across modules.
Alis.Core.Aspect.Math Nuget Nuget Coverage
Reliability
Security
Aspect helpers for math-intensive workflows, calculations, and numeric consistency checks.
Alis.Core.Aspect.Memory Nuget Nuget Coverage
Reliability
Security
Memory-oriented aspects to monitor allocations and improve runtime performance behavior.
Alis.Core.Aspect.Time Nuget Nuget Coverage
Reliability
Security
Timing and profiling aspects for latency tracking, benchmarking, and execution monitoring.
Alis.Extension.Ads.GoogleAds Nuget Nuget Coverage
Reliability
Security
Google Ads integration for ad monetization workflows in games and apps.
Alis.Extension.Cloud.DropBox Nuget Nuget Coverage
Reliability
Security
Dropbox connector for cloud file sync and remote asset access.
Alis.Extension.Cloud.GoogleDrive Nuget Nuget Coverage
Reliability
Security
Google Drive adapter for cloud persistence and content sharing scenarios.
Alis.Extension.Profile Nuget Nuget Coverage
Reliability
Security
Profile management features for player settings and user-related metadata.
Alis.Extension.Language.Translator Nuget Nuget Coverage
Reliability
Security
Translation utilities to support multilingual interfaces and localized game text.
Alis.Extension.Language.Dialogue Nuget Nuget Coverage
Reliability
Security
Dialogue systems for structured conversations, branching text, and narrative flows.
Alis.Extension.Payment.Stripe Nuget Nuget Coverage
Reliability
Security
Stripe integration for secure payment processing and commerce workflows.
Alis.Extension.Math.HighSpeedPriorityQueue Nuget Nuget Coverage
Reliability
Security
High-performance priority queue for scheduling, pathfinding, and order-sensitive tasks.
Alis.Extension.Math.ProceduralDungeon Nuget Nuget Coverage
Reliability
Security
Procedural dungeon generation toolkit for dynamic level layout creation.
Alis.Extension.Updater Nuget Nuget Coverage
Reliability
Security
Update helper for delivering and applying version upgrades to applications.
Alis.Extension.Io.FileDialog Nuget Nuget Coverage
Reliability
Security
Native file dialog integration for open/save workflows across platforms.
Alis.Extension.Graphic.Sdl2 Nuget Nuget Coverage
Reliability
Security
SDL2 backend adapter for windowing, input handling, and graphics output.
Alis.Extension.Graphic.Sfml Nuget Nuget Coverage
Reliability
Security
SFML backend integration for 2D rendering and platform abstraction support.
Alis.Extension.Graphic.Glfw Nuget Nuget Coverage
Reliability
Security
GLFW backend for context creation, input processing, and rendering setup.
Alis.Extension.Graphic.Ui Nuget Nuget Coverage
Reliability
Security
UI rendering helpers for menus, overlays, and in-game interface composition.
Alis.Extension.Network Nuget Nuget Coverage
Reliability
Security
Networking utilities for client/server communication and multiplayer features.
Alis.Extension.Security Nuget Nuget Coverage
Reliability
Security
Security helpers for protection, hardening, and safer data handling practices.
Alis.Extension.Thread Nuget Nuget Coverage
Reliability
Security
Threading utilities for concurrency control and background task orchestration.
Alis.Extension.Media.FFmpeg Nuget Nuget Coverage
Reliability
Security
FFmpeg-based media processing for encoding, decoding, and stream handling workflows.

Note: For the complete list of packages, visit the NuGet Gallery.


🛡️ License

The ALIS framework is released under the GNU General Public License v3 (GPL-3.0), a strong copyleft license that ensures your freedom to use, modify, and distribute the framework while preserving the same license terms. Below is an explanation of how the license affects you as a developer:

License

Key License Points

  • Complete Freedom for Video Game Developers:
    Any video game created with the ALIS framework is completely free and unrestricted. You are free to create, publish, and distribute your games without any licensing fees or royalties.

  • Source Code Availability:
    If you make modifications to the ALIS framework itself or integrate it as part of a larger software project (beyond just using it in a video game), you are required to make those changes publicly available under the same GPL-3.0 license. This ensures the framework remains open and accessible to everyone.

  • No Obligation to Mention:
    While it’s not required, it would be greatly appreciated if you mention or credit the ALIS project somewhere in your game, such as in the credits or documentation. This is entirely optional and is meant to help grow the ALIS community.

  • Patent Rights:
    Contributors to ALIS provide an express grant of patent rights, meaning you’re protected from patent-related legal issues when using the framework.

  • Copyright and Notices:
    You must preserve copyright notices and license texts when redistributing ALIS, either in its original form or as part of a modified version.

What This Means for Your Games

  • Your Game’s License:
    The GPL-3.0 license applies only to the ALIS framework and its modifications. It does not impose restrictions on the license of the game you build using ALIS. You are free to license your game however you choose (e.g., proprietary, open-source, or public domain).

  • Monetization:
    You are free to monetize games created with ALIS, whether by selling them, integrating ads, or any other form of commercialization.

For more details, you can read the full license by clicking the link below:


🙏 Acknowledgements

ALIS is powered by a combination of open-source and licensed technologies that enable high-performance, cross-platform game development. Licenses for each technology are indicated in the tables below.


🎮 Game Development & Graphics

Logo Technology Description License Links
SDL2 Cross-platform low-level multimedia layer for graphics, input, and audio. Zlib WebRepo
SFML Modern C++ multimedia framework for graphics, audio, windowing, and networking. Zlib WebRepo
GLFW Lightweight framework for OpenGL/Vulkan contexts, window creation, and input. Zlib WebRepo
OpenGL Cross-platform API for high-performance real-time 2D and 3D rendering. Open Web
Vulkan Modern explicit graphics and compute API delivering high-efficiency GPU control. Apache 2.0 Web
OpenGL ES Embedded systems variant of OpenGL optimized for mobile and web platforms. Open Web
WebGL JavaScript API for GPU-accelerated rendering inside web browsers. Open Web
Dear ImGui Immediate-mode GUI library for debug tools and in-engine interfaces. MIT Repo
Blender 3D creation suite for modeling, animation, and asset production. GPL WebRepo
Gimp 2D creation suite for modeling, animation, and asset production. GPL Web

🎧 Media & Audio Technologies

Logo Technology Description License Links
FFmpeg Multimedia framework for encoding, decoding, transcoding, and streaming. LGPL/GPL WebRepo
Audacity Digital audio editor and recording tool. GPL WebRepo

☁️ Cloud & Online Services

Logo Service Description License Links
Google Ads Advertising and monetization platform for user acquisition and analytics. Proprietary Web
Google Drive Cloud storage service for synchronization and distributed asset management. Proprietary Web
Dropbox Cloud-based file hosting platform for backup and remote synchronization. Proprietary Web
Stripe Online payment infrastructure supporting secure global transactions. Proprietary WebRepo
Cloudflare Global CDN and edge security platform for performance and protection. Proprietary Web

🧠 Technology & Ecosystem

Logo Technology Description License Links
.NET Cross-platform managed runtime and development framework. MIT WebRepo
Git Distributed version control system for source code management. GPL WebRepo
GitHub Collaborative development and DevOps platform for hosting projects. Proprietary With Open Source Use License Web
GitHub Actions CI/CD automation platform for build, test, and deployment workflows. Proprietary With Open Source Use License Web
NuGet Package manager for .NET enabling dependency distribution. MIT WebRepo
SonarCloud Cloud platform for continuous code quality and security inspection. Proprietary With Open Source Use License Web
JetBrains Rider Advanced cross-platform IDE for .NET and game development workflows. Proprietary With Open Source Use License Web

Contributor Guide

Thank you for investing your time in contributing to our project! Any contribution you make will be reflected. Read our Code of Conduct to keep our community approachable and respectable.

Contributor Covenant Code of Conduct

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.

Authors

Pablo Perdomo Falcón(@pabllopf)

Collaborators

Raúl Lozano Ponce(@RaulLozanoPonce) Juan Ángel Trujillo Jiménez(@cannt) Christian García(@Chgv99) RicardoVillarta(@RicardoVillarta)
Gabriel(@GabrielRT01) Pedro D.GR(@SPEEDCROW98) Claudia2000pf(@Claudia2000pf) Carlos(@suarez0965)

Stats

Flag Counter

About

Develop the video games of your dreams 💯 free!! on Windows, MacOS, Linux, WEB, Android(soon), IOS(soon).

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors

Languages