Skip to content

Commit

Permalink
Merge pull request #210 from stride3d/master
Browse files Browse the repository at this point in the history
Testing recent updates
  • Loading branch information
VaclavElias authored Oct 23, 2023
2 parents 4bde683 + 9ab7d96 commit 20d9e23
Show file tree
Hide file tree
Showing 8 changed files with 121 additions and 38 deletions.
8 changes: 7 additions & 1 deletion _data/site.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "2.0.0.20",
"version": "2.0.0.21",
"engine": "Eleventy 2.0",
"title": "Stride Game Engine",
"description": "C# Stride Game Engine is a powerful and versatile game development engine that is based on the C# programming language",
Expand Down Expand Up @@ -54,6 +54,12 @@
"linkedin": "",
"twitter": ""
},
"joreyk": {
"name": "Martin",
"github": "IXLLEGACYIXL",
"linkedin": "",
"twitter": ""
},
"jorn": {
"name": "Jorn Theunissen",
"github": "Aggror",
Expand Down
20 changes: 20 additions & 0 deletions _includes/blog-home.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<div class="row gy-5 gx-sm-5 mb-5">
{% assign latestPosts = collections.blog | reverse %}
{% for post in latestPosts limit:3 %}
<div class="col-md-4">
<div class="card mb-4 h-100">
<div class="card-body px-4 pt-4">
<h5 class="card-title">{{ post.data.title }}</h5>
<div class="my-2 small text-secondary">
<i class="fa-solid fa-calendar-days me-1"></i> {%- include post/day.html date:post.date -%}
</div>
{%- if post.data.excerpt -%}{{ post.data.excerpt | md }}{%- else -%}
{{ post.data.page.excerpt | md }}{%- endif -%}
</div>
<div class="px-4 mb-4">
<a href="{{ post.url }}" class="stretched-link btn btn-lg btn-outline-stride me-md-2">Read more</a>
</div>
</div>
</div>
{% endfor %}
</div>
3 changes: 2 additions & 1 deletion faq.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
layout: default
title: FAQ
permalink: /faq/
description: Explore the frequently asked questions on Stride Game Engine covering system requirements, platform support, features, licensing, and more to get started with your game development journey.
tags: search
banner:
title: FAQ
Expand Down Expand Up @@ -133,4 +134,4 @@ <h2>Disclaimer</h2>
</div>
</div>
</div>
</div>
</div>
1 change: 1 addition & 0 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -153,4 +153,5 @@ <h2 class="h1 mb-3">Our Featured Sponsors</h2>
</div>
</div>
</div>
{% include blog-home.html %}
</div>
8 changes: 4 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,6 @@
"lunr": "^2.3.9",
"markdown-it-anchor": "^8.6.6",
"markdown-it-table-of-contents": "^0.6.0",
"sass": "^1.69.0"
"sass": "^1.69.3"
}
}
61 changes: 30 additions & 31 deletions posts/2023-10-07-community-meeting-october-2023.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,76 +18,69 @@ Table of Contents:
[[TOC]]

## Short summary of Contributor meeting
A few weeks prior to the community meeting, we held a contributor meeting. This was mostly to address the recent instream of many new users. Since we suddenly got an abundance of user feedback we took and planned some steps.

A few weeks prior to the community meeting, we held a contributor meeting. This was mostly to address the recent instream of many new users. Since we suddenly got an abundance of user feedback we took and planned some steps
* Inventorizing domain knowledge and access rights
* This overview will be posted soon on GitHub
* Moving the Stride [Community Toolkit](https://github.com/stride3d/stride-community-toolkit) to the [official Stride repositories](https://github.com/stride3d)
* Investigating nightly/weekly/monthly builds and releases
* Inventorizing domain knowledge and access rights.
* This overview will be posted soon on GitHub.
* Moving the Stride [Community Toolkit](https://github.com/stride3d/stride-community-toolkit) to the [official Stride repositories](https://github.com/stride3d).
* Investigating nightly/weekly/monthly builds and releases.
* The idea of having more frequent releases was discussed to provide users with the latest PRs and fixes, whilst also having more publicity.
* Concerns were raised about the potential impact on development velocity and the need for stabilization phases. As soon as the new build system (arranged by Xen) is up and running, we can decide on how often we make an official (minor) release. More on this later this year.
* Updating contributors' documentation
* Next to the [official documentation/tutorials](https://doc.stride3d.net/), we also have various wiki pages per repository. Especially the documentation for Contributors and building from source, needs some love. Aggror is going to make an initial pull request for this
* Planning and creating videos for contributors
* Adjusting the strategy with OpenCollective Projects: here we came to the consensus that we required more feedback which we would gather during the community meeting
* Updating contributors' documentation.
* Next to the [official documentation/tutorials](https://doc.stride3d.net/), we also have various wiki pages per repository. Especially the documentation for Contributors and building from source, needs some love. Aggror is going to make an initial pull request for this.
* Planning and creating videos for contributors.
* Adjusting the strategy with OpenCollective Projects: here we came to the consensus that we required more feedback which we would gather during the community meeting.

## Release of 4.2

Stride 4.2 is around the corner, but when exactly?

* For 4.2 we are waiting for the official release of .NET 8 which is to be release on November 14, 2023
* Since we want to release a version for .NET 6 and .NET 8, our goal is to release within a few days after the release of .NET 8
* For 4.2 we are waiting for the official release of .NET 8 which is to be release on November 14, 2023.
* Since we want to release a version for .NET 6 and .NET 8, our goal is to release within a few days after the release of .NET 8.
* Prior to the official release we will have a release candidate. This will be announced when it is available.
* At the moment there is 1 open bug and 1 open pull request for a feature. Other than that, the build is locked for features. Only bug fixes would be allowed in.
* The open pull request for [Silk.NET](https://github.com/stride3d/stride/pull/1123) will be moved to 4.2.1 to ensure stability.
* For more info on the [final items](https://github.com/stride3d/stride/discussions/1699)
* At the moment there is 1 open bug and 1 open pull request for a feature. Other than that, the build is locked for features. Only bug fixes would be allowed in
* The open pull request for [Silk.NET](https://github.com/stride3d/stride/pull/1123). will be moved to 4.3 to ensure stability.
* For more info on the [final items](https://github.com/stride3d/stride/discussions/1699).


## Open Collective

Next we discussed the use of [Open Collective](http://opencollective.com/stride3d) for donations and funding specific projects.
Although not mentioned in the meeting, our current funding is **12,992.34 USD**.

* Up until this point it has been quite a challenge finding the right developers for existing Projects. The most recent successfully funded Project was the [Bug bounty for Vulkan fullscreen](https://opencollective.com/stride3d/projects/bug-bounty-vulkan-fullscreen)
* Up until this point it has been quite a challenge finding the right developers for existing Projects. The most recent successfully funded Project was the [Bug bounty for Vulkan fullscreen](https://opencollective.com/stride3d/projects/bug-bounty-vulkan-fullscreen).
* There have been several suggestions to make funding more attractive, such as increasing compensation and investing in areas like documentation, marketing, and design next to coding Projects.
* Every project should have a referencing GitHub ticket that contains as much detail as possible for the deliverables
* There are currently two talks ongoing for specific development. Once we have confirmation we will communicate this with the community
* Every project should have a referencing GitHub ticket that contains as much detail as possible for the deliverables.
* There are currently two talks ongoing for specific development. Once we have confirmation we will communicate this with the community.

### New projects

We will add several new Projects to the Open Collective. This will give members a clear view on 'targets' that we like to see funded.

* Extending tutorials. Both written and video tutorials.
* Extending tutorials. Both written and video tutorials
* New tutorial set for a small 3D (platformer) game
* Contributor tutorials
* Demo scene 2024 (more on this below)
* Stride editor Avalonia (more on this below)


## New Demo project

We want to have a new demo sample project that demonstrates Strides capabilities. Members who want to help out, can add to the discussion [here](https://github.com/stride3d/stride/discussions/1800).

## Community Toolkit

There is a new initiative called the [Stride Community Toolkit](https://github.com/stride3d/stride-community-toolkit), aimed at aggregating common features, helpers, and extensions to streamline Stride development. It allows community members to test and enhance tools and propose their integration into the engine.
There is a new initiative called the [Stride Community Toolkit](https://github.com/stride3d/stride-community-toolkit), aimed at aggregating common features, helpers, and extensions to streamline Stride development. It allows community members to test and enhance tools and propose their integration into the engine. This project has come to fruition with the combined effort of several users, and specifically the repositories off [dfkeenan](https://github.com/dfkeenan/StrideToolkit) and [VaclavElias](https://github.com/VaclavElias/).

## Stride Plugins

A topic talked about for several years now and it's quite an important one. Plugins allow you, for one, extend the editor with new functionality without having to build the engine from source. Ideally you want to go to some (NuGet) store and click -> install this awesome extension/plugin for Stride.

If you want to contribute to the discussion on how to do this technically.

We can divide plugin support into 2 categories.
We can divide plugin support into 2 categories:

* Asset plugins: these would be purely models, textures, prefabs, components
For this [Manio143](https://github.com/manio143) is taking the lead
For this [Manio143](https://github.com/manio143) is taking the lead.
* Editor plugins: this category currently is not viable because of the dependency to another large topic: the need to rewrite the editor to a new library, replacing WPF.

Since we are short on development time here, we need to take into account that it will be a while before we can see the first results of this.

## Stride UI Rewrite

The Stride editor is built with WPF and therefore only works on Windows. WPF isn’t really being developed anymore and on top of that we want to start supporting the editor on Linux. We can only do so by rewriting the editor to another UI framework.

Just like the Plugin topic, the [Editor rewrite](https://github.com/stride3d/stride/discussions/1031) is a big topic. Probably the biggest topic of them all. The editor rewrite has been discussed in great lengths on both Discord and GitHub in the past few years. People have shared their ideas on which framework to use (Avalonia, MAUI, Uno etc), made some prototypes, even ported the Stride launcher. But we never really ‘actively’ made this an official item since it would take a full time developer many months to work on this task.
Expand All @@ -97,17 +90,23 @@ Members have been asking if they can help out with the rewrite, but up until thi
So regardless of time/developer power: we have landed on using the [Avalonia UI framework](https://avaloniaui.net/) to rewrite the editor. Aggror will set up a GitHub topic summarizing how people can contribute to this UI rewrite branch and inventorize how we can split this massive task into subtasks.. More details on this will follow later this year.

## Acknowledgements

We extend our heartfelt gratitude for all the recent donations that have been made. Your generous contributions significantly aid in the continuous development and enhancement of the Stride community and projects. Thank you for your support and belief in our collective efforts.

In particular we want to thanks these donors:

### Platinum Striders

### Long time Stride supporters
* {% include sponsor-org.md key:'vvvv' emoji:'🥇' %}

<a href="https://visualprogramming.net/"><img src="https://images.opencollective.com/vvvv/8ab0acd/logo/256.png?height=72" alt="vvvv. A visual live-programming environment that takes you from rapid prototyping to final production"></a>

### Platinum Striders
* {% include sponsor-org.md key:'happenstance' emoji:'🏆' %}

<a href="http://www.happenstancegames.com/"><img width=64 src="https://www.stride3d.net/images/sponsors/HappenLogo.webp" alt="Happenstance games logo"></a>

### Gold Striders
* {% include sponsor-org.md key:'vvvv' emoji:'🥇' %}

* {% include sponsor-user.md key:'vaclav' emoji:'🥇' %}
* {% include sponsor-org.md key:'lucid' emoji:'🥇' %}
* {% include sponsor-user.md key:'skidvis' emoji:'🥇' %}
56 changes: 56 additions & 0 deletions posts/2023-10-23-new-diagnostic-analyzers-feature.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
title: "A closer look: Diagnostic Analyzers with Roslyn"
author: joreyk
popular: false
image: https://www.jenx.si/wp-content/uploads/2020/10/cs-roslyn-logo.png
tags: ['.NET']
---

Let's take a closer look at the DiagnosticAnalyzer added in Stride.Core.CompilerServices

---

Table of Contents:

[[TOC]]

Stride advances further in utility and features every week.
This blog will cover the new `DiagnosticAnalyzer` features in `Stride.Core.CompilerServices`

## What is a DiagnosticAnalyzer?

A `DiagnosticAnalyzer` is a Roslyn feature to scan your code while you are typing in your IDE.
C# uses them too, everytime you see a warning or red squiggly lines in your IDE, a `DiagnosticAanalyzer` get's triggered.
This analyzation has `NOTHING` to do with telemetry.

## What does it do?

The new `Diagnostics` cover mostly [Serialization](https://doc.stride3d.net/latest/en/manual/scripts/serialization.html), the analyzers will create warnings when code is written that is incompatible with [Strides Serialization Rules of Thumb](https://doc.stride3d.net/latest/en/manual/scripts/serialization.html#rule-of-thumb).
Each of the error codes follows this format `STRDIAGXXX` where X represents a number digit.
Clicking on the error codes will open a help page which explains in depth why the `DiagnosticAnalyzer` got triggered and explains how to resolve the warning.
The error code pages can be found [here](https://doc.stride3d.net/latest/en/diagnostics/)

## Why?

It should reduce the "Why is my property not appearing in the Editor?" moments.
Often it's unclear why a property is not showing up in the editor.
The analyzers should help to clarify these situations and help in developing in Stride

## Current State

The PR to add these Analyzers got merged. But there was no release yet which includes them.
To test them now building the engine from source is an option.
Else wait until the next release package of Stride.

## For Engine Developers

It's easy to add new analyzers to the engine.
VS has a bug caused by .NET.
This bug causes VS to only load once Roslyn at start up.
To fix this after adding a new analyzer, compile the `Stride.Core.CompilerServices` and restart VS.

## Summary

It's a new quality of life feature to easier develop in Stride by getting immediate feedback about problems while coding.

Thank you for reading 📖, and happy coding 💻👩‍💻👨‍💻!

0 comments on commit 20d9e23

Please sign in to comment.