Skip to content

Commit

Permalink
Merge branch 'main' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
QuakeEye committed Jun 5, 2024
2 parents 6eec6d3 + 923b541 commit b0852e1
Showing 1 changed file with 33 additions and 35 deletions.
68 changes: 33 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
# Aplib.Net
![aplib_logo_2](https://github.com/team-zomsa/aplib.net/assets/74355598/de17ee39-d659-444f-8952-e3f564cac52e)

---

[![NuGet Version](https://img.shields.io/nuget/v/Aplib.Core)](https://www.nuget.org/packages/Aplib.Core/)
[![GitHub Release](https://img.shields.io/github/v/release/team-zomsa/aplib.net?label=GitHub%20Release)
](https://github.com/team-zomsa/aplib.net/releases)
Expand All @@ -16,52 +19,47 @@
[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=team-zomsa_aplib.net&metric=sqale_index)](https://sonarcloud.io/project/overview?id=team-zomsa_aplib.net)
[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=team-zomsa_aplib.net&metric=vulnerabilities)](https://sonarcloud.io/project/overview?id=team-zomsa_aplib.net)

Aplib is a C# library that allows you to create automated playtests for your games with ease. Automated playtests will streamline your game development process and allow you to focus on the aspects of your game that matter. Whether you're new to automated testing, or a software testing veteran, we've got you covered.

## Overview
Aplib.Net is a C# re-implementation of the Agent Programming LIBrary (Aplib) for Java.
The Java implementation of Aplib can be found [here](https://github.com/iv4xr-project/aplib) and is licensed to Utrecht University, created under the [iv4XR project](https://iv4xr-project.eu/).

Aplib.Net provides a set of tools for creating automatic playtesting agents for games. It is designed in such a way that it can be used in any game that uses the C# language. Additionally, we provide support for the [Unity game engine](https://unity.com/), due to its large user base.

A demo game, showcasing the functionality of the library, can be found in [this repository](https://github.com/team-zomsa/aplib.net-demo).


## Installation
Aplib.Net is available as a NuGet package or as a simple DLL file, that can then be added as a reference.

Both are available in the [GitHub Release](https://github.com/team-zomsa/aplib.net/releases).

An easier way of installing is also provided using the NuGet Gallery at NuGet.org, which can be found [here](https://www.nuget.org/packages/Aplib.Core/).

### Unity Installation
Unity installation is a bit tricky, but can be done in two ways. The first, and easier way is to install the [NuGet plugin](https://github.com/GlitchEnzo/NuGetForUnity) and import it via NuGet.
Aplib offers a robust framework for programming automated playtesting agents, based on the ***Belief-Desire-Intention (BDI)*** model. Don't worry about the jargon; it's easier than it sounds!

For a manual installation, a few steps must be taken. As Unity does not support external libraries in .NET Standard API, the API Compatibility level must be set to `.NET Framework` in Project Settings > Player > Configuration > Api Compatibility Level.
> [!TIP]
> We offer additional support for Unity! Check out [our Unity Package](https://github.com/team-zomsa/Aplib-Unity-Package)!
Download the latest DLL from the [GitHub Release](https://github.com/team-zomsa/aplib.net/releases) and place it in Assets/Plugins. In the root of your project, add a new file called `csc.rsp` and add the following line:
## Why should *you* automate your playtests?

```
-r:Assets/Plugins/Aplib.Core.dll
```
Game developers — indie and non-indie — rely on manual playtesting to identify bugs, find design flaws, and improve player experience. Manual playtesting proves to be incredibly useful in game development, but it poses a few problems. Game developers report that manual playtesting is time-consuming, find it difficult to recruit playtesters, and are inhibited by the effort required to create a testable build of their game. Additionally, discovered bugs are hard to track down and debug due to the inconsistent nature of manual playtesting. ''So why don't developers automate their playtests? That would solve all of these issues, right?'' Right! By automating your playtests, you get more consistent playtests with less effort, and reduce your dependency on human playtesters. You can even integrate your automated playtests into your CI/CD pipeline!

## Let's get started!

## Analysis
We provide analysis metrics using SonarCloud, which can be found [here](https://sonarcloud.io/dashboard?id=team-zomsa_aplib.net).
### Installation
Aplib is available as a NuGet package, and as a simple DLL file that can then be added as a reference.
Both can be found on our [GitHub Releases](https://github.com/team-zomsa/aplib.net/releases) page. If you're using Unity, you can install aplib as a Unity Package. The Unity Package and detailed installation instructions can be found [here](https://github.com/team-zomsa/Aplib-Unity-Package).

It provides information on metrics such as the code coverage, code smells and technical debt.
> [!TIP]
> An easier way of installing is also provided using the NuGet Gallery at NuGet.org, which can be found [here](https://www.nuget.org/packages/Aplib.Core/).
### Quickstart Guide
Check out our [Quickstart Guide](https://github.com/team-zomsa/aplib.net/wiki/Quick-Start-Guide) for using aplib in your Unity project!

## Documentation
Documentation is automatically generated using Docfx and can be found [here](https://team-zomsa.github.io/aplib.net/).
> [!TIP]
> Our Quickstart Guide for using aplib in Unity is also useful for learning aplib in general!
> [!TIP]
> You can see aplib in action in our demo project. You can find the demo project in [this repository](https://github.com/team-zomsa/aplib.net-demo).
## Quick Start
A quick start guide can be found in the [GitHub Wiki](https://github.com/team-zomsa/aplib.net/wiki/Quick-Start-Guide).
## These might be useful...

> [!NOTE]
> **_Documentation_** is automatically generated using DocFX and can be found [here](https://team-zomsa.github.io/aplib.net/).
## Contributing
The contribution guidelines can be found [here](https://github.com/team-zomsa/aplib.net/blob/main/CONTRIBUTING.md).
> [!NOTE]
> This project is open source! The **_contribution guidelines_** can be found [here](https://github.com/team-zomsa/aplib.net/blob/main/CONTRIBUTING.md).
> [!TIP]
> We provide **_code analysis metrics_** using SonarCloud, which can be found [here](https://sonarcloud.io/dashboard?id=team-zomsa_aplib.net).
> It provides information on metrics such as code coverage, code smells, and technical debt.
## License
The project is provided under the BSD 3 License, which can be found [here](https://github.com/team-zomsa/aplib.net/blob/main/LICENSE).
## Licensing
> [!WARNING]
> The project is provided under the **_BSD 3 License_**, which can be found [here](https://github.com/team-zomsa/aplib.net/blob/main/LICENSE).

0 comments on commit b0852e1

Please sign in to comment.