Skip to content

A C# reimplementation of the Utrecht University APLib library for Java. A tool for controlling intelligent agents using the BDI (Belief, Desire, Intent) model via an intuitive API.

License

Notifications You must be signed in to change notification settings

team-zomsa/aplib.net-research

Repository files navigation

aplib_logo_2


Disclaimer: These shields link back to the main aplib.net repository and are not necessary for the research/this research repository.

NuGet Version GitHub Release GitHub Issues or Pull Requests GitHub Issues or Pull Requests GitHub deployments

Quality Gate Status SonarCloud Coverage Duplicated Lines (%) Code Smells Reliability Rating Security Rating Technical Debt Vulnerabilities

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.

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!

Tip

We offer additional support for Unity! Check out our Unity Package!

Why should you automate your playtests?

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!

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 (Not available/necessary on the research repository) 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.

Tip

An easier way of installing is also provided using the NuGet Gallery at NuGet.org, which can be found here.

Quickstart Guide

Check out our Quickstart Guide for using aplib in your Unity project!

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 (Not available/necessary in the research (repository)).

Documentation, Guidelines and Metrics

Note

Documentation is automatically generated using DocFX and can be found here.

Note

This project is open source! The contribution guidelines can be found here (Not relevant for this research repository, if you are interested though, check out the main aplib.net repository after the research 😉).

Tip

We provide code analysis metrics using SonarCloud, which can be found here (Note: these are from the main aplib.net repository). It provides information on metrics such as code coverage, code smells, and technical debt.

Licensing

Warning

The project is provided under the BSD 3 License, which can be found here (Note: if you would like to do anything with this project, please go to the main aplib.net repository).

About

A C# reimplementation of the Utrecht University APLib library for Java. A tool for controlling intelligent agents using the BDI (Belief, Desire, Intent) model via an intuitive API.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages