Posted on Leave a comment

FMOD Studio Now Free For Indie Game Developers

FMOD, perhaps the most popular audio middleware solution for games, just updated their indie developer licenses effectively making the use of FMOD free for smaller indie game developers. So what defines an indie game developer here? First you need to make less than $200K gross revenue per year and second, you need to have less than $500K USD in funding for your game title. There are also some limitations on industry, so for example gambling and simulation projects do not qualify for this license.

The primary details of this announcement came via this tweet:

FMOD Free indie license tweet.

The key paragraph from the linked legal document is the following:

This EULA grants you the right to use FMOD Studio Engine, for Commercial use, subject to the following:

  • Development budget of the project is less than $500k (Refer to www.fmod.com/licensing#licensing-faq for information);
  • Total gross revenue / funding per year for the developer, before expenses, is less than $200k (Refer to www.fmod.com/licensing#licensing-faq for information);
  • FMOD Studio Engine is integrated and redistributed in a game application (Product) only;
  • FMOD Studio Engine is not distributed as part of a game engine or tool set;
  • Project is registered in your profile page at www.fmod.com/profile#projects;
  • Product includes attribution in accordance with Clause 3.

More details about the licensing changes are available here. FMod has support for several game engines including Unreal and Unity, if you are a Godot developer there is FMOD support available via this project, as well as a GDNative version available here. To learn more about FMOD and the new indie licensing check out the video below.

Posted on Leave a comment

Game Development in the Go Programming Language

Go is an open source programming language developed and supported by Google, by a who’s who of computer language designers. It is often used in large scale server projects at companies such as Google, Dropbox, Paypal, Twitch and Netflix. Today we are going to look at the game development frameworks and libraries available for making games using Go. We have previously created similar guides for languages such as C#, C++, Python, Lua, Codeless, Haxe and JavaScript.

2D Game Frameworks in Go:

Go Bindings:

3D Game Engines:

You can learn more about these frameworks and the Go programming language in the video below (or watch on Odysee).

Posted on Leave a comment

PCUI — UI Framework Powering PlayCanvas Engine Open Sourced

Yesterday PCUI, an open source UI framework for creating game tools and other web applications, was open sourced. PCUI is named as such because it is the UI layer powering the battle tested PlayCanvas game engine. It provides over a dozen controls, as well as implementing logic such as the Observer pattern for making binding your UI to your data. PCUI is open source under the liberal MIT license with the source code available on GitHub.

Details from the PlayCanvas blog:

Today, PlayCanvas is launching PCUI: a new, open source front-end framework for the web.

PCUI is designed with tools developers in mind. It is particularly well suited to building viewer and editor applications, providing a rich set of beautiful and consistent controls. It already powers the PlayCanvas Editor – the world’s most powerful WebGL production tool.

Here you can see tree controls, panels, buttons, checkboxes, toolbars, menus and more. The Editor also relies on PCUI’s observer system, that makes it easy to synchronize the state of your application’s UI with that of the underlying data. Plus, it has a built-in support for history to make implementing redo/undo a breeze.

In addition to the PlayCanvas game engine, PCUI is used to power the PlayCanvas GLTF viewer project as well, a project which is open source and shows you a real-world example of using PCUI in a TypeScript application. PCUI is also extremely well documented with several examples available. If you are interested in learning more about PlayCanvas be sure to check out two part tutorial. You can learn more about the PCUI release in the video below.

Posted on Leave a comment

Miniaudio — Open Source Single File C Audio Library

Miniaudio is a cross platform open source C library for implementing low level audio functionality including playback and capture. MiniAudio is released under either public domain or MIT No Attribution licenses and amazingly enough is implemented as a single .H file with no external dependencies (except optionally stb_orbis if Ogg Vorbis format support is desired).

Miniaudio features include:

  • Your choice of either public domain or MIT No Attribution.
  • Entirely contained within a single file for easy integration into your source tree.
  • No external dependencies except for the C standard library and backend libraries.
  • Written in C and compilable as C++, enabling miniaudio to work on almost all compilers.
  • Supports all major desktop and mobile platforms, with multiple backends for maximum compatibility.
  • Supports playback, capture, full-duplex and loopback (WASAPI only).
  • Device enumeration for connecting to specific devices, not just defaults.
  • Connect to multiple devices at once.
  • Shared and exclusive mode on supported backends.
  • Backend-specific configuration options.
  • Device capability querying.
  • Automatic data conversion between your application and the internal device.
  • Sample format conversion with optional dithering.
  • Channel conversion and channel mapping.
  • Resampling with support for multiple algorithms.
    • Simple linear resampling with anti-aliasing.
    • Optional Speex resampling (must opt-in).
  • Filters.
    • Biquad
    • Low-pass (first, second and high order)
    • High-pass (first, second and high order)
    • Second order band-pass
    • Second order notch
    • Second order peaking
    • Second order low shelf
    • Second order high shelf
  • Waveform generation.
    • Sine
    • Square
    • Triangle
    • Sawtooth
  • Noise generation.
    • White
    • Pink
    • Brownian
  • Decoding
    • WAV
    • FLAC
    • MP3
    • Vorbis via stb_vorbis (not built in – must be included separately).
  • Encoding
  • Lock free ring buffer (single producer, single consumer).

Miniaudio is available on GitHub and has solid documentation available here and several examples available here. Installation consists of downloading and #include’ing the header and that is it, making this a remarkably simple library to get started using. There are also unofficial language bindings for Go, Rust and Python available as well. You can learn more about the Miniaudio library in the video below (or view here on Odysee).

Posted on Leave a comment

5 cool music player apps

Do you like music? Then Fedora may have just what you’re looking for. This article introduces different music player apps that run on Fedora. You’re covered whether you have an extensive music library, a small one, or none at all. Here are four graphical application and one terminal-based music player that will have you jamming.

Quod Libet

Quod Libet is a complete manager for your large audio library. If you have an extensive audio library that you would like not just listen to, but also manage, Quod Libet might a be a good choice for you.

Quod Libet can import music from multiple locations on your disk, and allows you to edit tags of the audio files — so everything is under your control. As a bonus, there are various plugins available for anything from a simple equalizer to a last.fm sync. You can also search and play music directly from Soundcloud.

Quod Libet works great on HiDPI screens, and is available as an RPM in Fedora or on Flathub in case you run Silverblue. Install it using Gnome Software or the command line:

$ sudo dnf install quodlibet

Audacious

If you like a simple music player that could even look like the legendary Winamp, Audacious might be a good choice for you.

Audacious probably won’t manage all your music at once, but it works great if you like to organize your music as files. You can also export and import playlists without reorganizing the music files themselves.

As a bonus, you can make it look likeWinamp. To make it look the same as on the screenshot above, go to Settings / Appearance, select Winamp Classic Interface at the top, and choose the Refugee skin right below. And Bob’s your uncle!

Audacious is available as an RPM in Fedora, and can be installed using the Gnome Software app or the following command on the terminal:

$ sudo dnf install audacious

Lollypop

Lollypop is a music player that provides great integration with GNOME. If you enjoy how GNOME looks, and would like a music player that’s nicely integrated, Lollypop could be for you.

Apart from nice visual integration with the GNOME Shell, it woks nicely on HiDPI screens, and supports a dark theme.

As a bonus, Lollypop has an integrated cover art downloader, and a so-called Party Mode (the note button at the top-right corner) that selects and plays music automatically for you. It also integrates with online services such as last.fm or libre.fm.

Available as both an RPM in Fedora or a Flathub for your Silverblue workstation, install it using the Gnome Software app or using the terminal:

$ sudo dnf install lollypop

Gradio

What if you don’t own any music, but still like to listen to it? Or you just simply love radio? Then Gradio is here for you.

Gradio is a simple radio player that allows you to search and play internet radio stations. You can find them by country, language, or simply using search. As a bonus, it’s visually integrated into GNOME Shell, works great with HiDPI screens, and has an option for a dark theme.

Gradio is available on Flathub which works with both Fedora Workstation and Silverblue. Install it using the Gnome Software app.

sox

Do you like using the terminal instead, and listening to some music while you work? You don’t have to leave the terminal thanks to sox.

sox is a very simple, terminal-based music player. All you need to do is to run a command such as:

$ play file.mp3

…and sox will play it for you. Apart from individual audio files, sox also supports playlists in the m3u format.

As a bonus, because sox is a terminal-based application, you can run it over ssh. Do you have a home server with speakers attached to it? Or do you want to play music from a different computer? Try using it together with tmux, so you can keep listening even when the session closes.

sox is available in Fedora as an RPM. Install it by running:

$ sudo dnf install sox

Photo by Malte Wingen on Unsplash.