All Projects → prime31 → FNA-VSCode-Template

prime31 / FNA-VSCode-Template

Licence: other
Template, build tasks, and easy-install scripts for making FNA + Nez games with VSCode

Programming Languages

shell
77523 projects
C#
18002 projects

Projects that are alternatives of or similar to FNA-VSCode-Template

Geonbit.ui
UI system for MonoGame projects.
Stars: ✭ 310 (+1007.14%)
Mutual labels:  gamedev, monogame
Sadconsole
A .NET ascii/ansi console engine written in C# for MonoGame and XNA. Create your own text roguelike (or other) games!
Stars: ✭ 853 (+2946.43%)
Mutual labels:  gamedev, monogame
Myra
UI Library for MonoGame, FNA and Stride
Stars: ✭ 348 (+1142.86%)
Mutual labels:  gamedev, monogame
Monogame
One framework for creating powerful cross-platform games.
Stars: ✭ 8,014 (+28521.43%)
Mutual labels:  gamedev, monogame
Pixelvision8
Pixel Vision 8's core philosophy is to teach retro game development with streamlined workflows. PV8 is also a platform that standardizes 8-bit fantasy console limitations built on top of the open-source C# game engine based on MonoGame.
Stars: ✭ 773 (+2660.71%)
Mutual labels:  gamedev, monogame
UI Engines
Engine specific libraries for Empty Keys UI
Stars: ✭ 52 (+85.71%)
Mutual labels:  fna, monogame
cage
Cage (Ain't a Game Engine) - write 2D games using plain C
Stars: ✭ 40 (+42.86%)
Mutual labels:  gamedev
Open2Nord
A Python script that makes connecting to NordVPN servers through OpenVPN GUI a lot easier, and adds extra functionality
Stars: ✭ 22 (-21.43%)
Mutual labels:  gamedev
Entitas-Java
Entity Component System (ECS) in Java 8
Stars: ✭ 37 (+32.14%)
Mutual labels:  gamedev
unity-plumber
A component to procedurally generate pipe-like meshes in Unity
Stars: ✭ 55 (+96.43%)
Mutual labels:  gamedev
awesome-gamejam
This is a curated list that contains helpful links and resources for game jams and game development.
Stars: ✭ 38 (+35.71%)
Mutual labels:  gamedev
UnityDebug
A wrapper script for Unity debug calls to use conditional attributes in order to avoid debug code being compiled into release builds.
Stars: ✭ 29 (+3.57%)
Mutual labels:  gamedev
CategoryTool
Unity Editor tool to create Categories in the Hierarchy. The Categories work as dividers between GameObjects.
Stars: ✭ 47 (+67.86%)
Mutual labels:  gamedev
ure
the unRogueEngine
Stars: ✭ 111 (+296.43%)
Mutual labels:  gamedev
PICO-EC
A tiny scene-entity-component library created for the PICO-8 fantasty console.
Stars: ✭ 37 (+32.14%)
Mutual labels:  gamedev
kha-tutorial-series
source code from kha tutorial series
Stars: ✭ 56 (+100%)
Mutual labels:  gamedev
FlaxSamples
Collection of example projects for Flax Engine
Stars: ✭ 50 (+78.57%)
Mutual labels:  gamedev
MiniKnight
A pixel-art platformer in F#, where you must fight your way to the portal, collecting coins and slaying orcs along the way!
Stars: ✭ 47 (+67.86%)
Mutual labels:  monogame
SDL.zig
A shallow wrapper around SDL that provides object API and error handling
Stars: ✭ 102 (+264.29%)
Mutual labels:  gamedev
SimpleIncremental
A simple Unity project that introduces many of Unity's cooler advanced concepts.
Stars: ✭ 51 (+82.14%)
Mutual labels:  gamedev

FNA VSCode Template

Start new FNA projects with Nez quickly and easily with handy setup scripts, a versatile boilerplate project, and convenient Visual Studio Code integration.

Features

  • Super simple setup scripts that downloads and installs Nez, FNA and its native libraries for you
  • Boilerplate project already included -- no need to wrestle with MSBuild configurations or writing yet another Game1 class
  • Visual Studio Code tasks for building and running your game, compiling T4 templates, cleaning/restoring your project, compiling .fx files and building content with the MonoGame Pipeline tool
  • In-editor debugging support with the Mono Debugger

Prerequisites

Setup Instructions

  1. Download and unzip the ZIP archive (don't clone the repo!)
  2. Run ./getFNA.sh (macOS) or ./getFNA.ps1 (windows) to download the latest Nez, FNA and fnalibs to the directory. You can run this script again if you want to update either FNA or the fnalibs at a later point.
  3. Open the root folder that contains the .sln file in Visual Studio Code or the .sln file directly in Visual Studio. Note that only Visual Studio Code has an effect builder command.

That's it! Now you're ready to build and run the base project. If you get missing DLL errors (pointing at SDL) when running in Visual Studio copy the FNA libs into your /usr/local/lib folder. With Visual Studio Code, DYLD_LIBRARY_PATH is set automatically so it won't run into the DLL not found error. Nez is setup as a submodule so you can update it in the normal fashion.

When developing, raw content (files not processed by the Pipeline tool) should be placed in the Content folders subfolders and anything that needs processing should go in the CompiledContent folder and added to the Pipeline tool.

The setup process will also init a git repo for you with Nez added as a submodule.

If you want to see the output of Debug.* calls in the VS Code Debug Console, you have to install a listener by adding this somewhere in your code (Game1 by default has one for you): System.Diagnostics.Debug.Listeners.Add(new System.Diagnostics.TextWriterTraceListener(System.Console.Out)); Pixel art games should also uncomment a line in the Game1.cs file setting the FNA_OPENGL_BACKBUFFER_SCALE_NEAREST environment variable when using FNA.

Build Tasks

  • Restore Project: Restores the .csproj. Run it again whenever you change the .csproj file.
  • Restore and Rebuild Nez: Fetches the latest version of Nez from GitHub, restores and rebuilds Nez
  • Build (Debug/Release): Builds the project with the specified configuration but does not run it. This also runs MGCB.exe, copies over everything in the Content and CompiledContent subdirectories and the fnalibs.
  • Build and Run (Debug/Release): Builds and runs the project. On MacOS, it runs the output with Mono. On Windows, it runs the output with .NET Framework.
  • Clean Project: Cleans the output directories and all their subdirectories.
  • Build Effects: Runs fxc.exe on all of the .fx files found in the Content/ subdirectories and outputs corresponding .fxb files that can be loaded through the Content Manager at runtime.
  • Build Content: Runs good old MGCB.exe on the Content.mgcb file
  • Force Build Content: Force builds the content (MGCB.exe -r)
  • Open Pipeline Tool: Opens the MonoGame Pipeline tool
  • Process T4 Templates: Processes any T4 templates found in the T4Templates folder. Note that the install script will attempt to install the t4 command line program which requires the dotnet command line program to be installed. The install command it will run is dotnet tool install -g dotnet-t4.

License and Credits

FNA VSCode Template is released under the Microsoft Public License. Many thanks to Andrew Russell for his FNA Template, from which I learned a lot (and borrowed a little).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].