No description
Find a file
2026-06-11 01:51:48 +03:30
Strawberry - Minor fixes 2026-06-11 01:51:48 +03:30
Strawberry.Android - Added platform services for cross-platform operations. 2026-06-09 20:25:00 +03:30
Strawberry.Common - Better sprite layer code. and minor changes 2026-06-07 21:21:47 +03:30
Strawberry.Desktop - Added platform services for cross-platform operations. 2026-06-09 20:25:00 +03:30
Strawberry.OpenAL - Fixed when the user held the title bar on Windows, the streams stopped and never played again. 2026-06-10 02:31:40 +03:30
Strawberry.Physics - Made changes for packaging 2026-04-29 02:12:56 +03:30
Strawberry.Sound.Midi - Fixed some bugs in Android 2026-05-29 02:08:24 +03:30
Strawberry.Web - Minor fixes 2026-06-11 01:51:48 +03:30
.gitignore - Added fa language 2026-06-05 23:35:51 +03:30
Directory.Build.props - Added versioning for packages 2026-05-28 21:16:49 +03:30
README.fa.md - Some changes in readme files 2026-06-06 02:25:53 +03:30
README.md - Some changes in readme files 2026-06-06 02:25:53 +03:30
Strawberry.sln - Removed all test projects from the git. 2026-05-28 14:29:19 +03:30

StrawBerry Game Engine

Strawberry Game Engine

Description

The Strawberry Game Engine is a multi-platform 2D game engine built entirely on .NET. The core of this engine is provided completely open source to users. To use the engine core, you must be fully proficient in the C# programming language.

Visual Environment and Editor

Of course, the visual environment of this engine is under construction. You can register for the initial private version (Private Alpha Version). Registration approval is based on the resume you submit.

Initial Setup

Setting up a project for different platforms has some differences. Normally, you should have multiple projects.

1- Main Game Project (Multi-platform)

In this project, you should avoid using platform-specific code as much as possible. The code is shared, and the game uses the same code across all platforms.

2- Platform Launchers

For each platform, a launcher project must be created. The launcher project code is generally very simple. The launcher project depends on the main game project and runs it.

For example, the desktop platform launcher code is as follows:

using MyGame;

namespace MyGame.Desktop
{
    internal static class Program
    {
        /// <summary>
        ///  The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            MyGameContext gameContext = new MyGameContext();
            Strawberry.Game game = new Strawberry.Game();
            game.Run(gameContext, new Strawberry.Desktop.GameLauncher(true));
        }
    }
}

In the code above, MyGameContext is the main game context called from the multi-platform project. The game is executed using a GameLauncher specific to the desktop platform. Launching and running on other platforms is slightly different, which you can refer to in the Strawberry guide.

Setup and Running the Game

Guide

The Strawberry Engine guide consists of two parts:

User Manual

This guide is written in an educational style and guides you step by step through performing various tasks with the engine.

User Manual

API Reference

This section fully lists all structures and functions of the engine and provides a brief description of each one's functionality.

API Reference

Support

Bug Reports

One of the biggest ways you can help us build this engine is by using it and reporting bugs or even suggesting structural changes.

Help us develop Strawberry better by using the link below: Report Bugs and Suggestions