A simple Godot project meant to demonstrate Jam Launch multiplayer capabilitiesLearn more at https://jamlaunch.com
Tile-based 3D terrain example, similar to old-school strategy and management games. If you want to replicate the terrain in Rollercoaster Tycoon, this is a great place to start.Now uses GDScript and Godot 4.3+.Last update: Godot 4.4 support, better terrain edges, editor preview.
Carbon Design System, now in Godot!
Juego de aviones (Plane game demo)Este es el primer proyecto que les enseño a mis alumnos de creación de videojuegos con Godot.Es un Juego / Template que tiene un menú de selección de nivel, y un nivel en el que podés luchar contra 3 tipos de enemigos distintos.Ideal para estudiar el código y aprender conceptos básicos de godotmás info sobre los cursos en gamedevargentina.comEng:Plane game demoThis is the first project I teach my students in game development with Godot.It is a Game / Template that has a level selection menu, and a level in which you can fight against 3 different types of enemies.Ideal for studying the code and learning basic concepts of Godotmore info about the courses at gamedevargentina.com
demo version: Godot 4.4 rc-3 .NETThis tool allow you Import PMX model. And import vmd animation to animate camera and model. This plugin depends on BulletSharpPInvoke.You can get libbullectc.dll from BulletSharpPInvoke's demo. Copy it to project directory. The link is below.https://github.com/AndresTraks/BulletSharpPInvoke/releasesTo compile BulletSharpPInvoke, you can check out my fork.https://github.com/sselecirPyM/BulletSharpPInvokeVideo Tutorial (Chinese):https://www.bilibili.com/video/BV1pKY3e5EHn/
This CharacterBody2D controller demo was created with the intent of being a decent starting point for Precision Platformers using Godot. Instead of teaching the basics, I tried to implement more advanced considerations seen in the following video: https://www.youtube.com/watch?v=2S3g8CgBG1gThat's why I call it 'Movement 2'. This is a sequel to learning demos of similar a kind.After playing around with the demo, you could potentially just copy over the Player.gd script and form it to your needs. Another option is to take the project as is and add to or subtract from it until you have a complete game.This project is also on itch.io: https://theothetorch.itch.io/movement-2
This demo includes many sphere-like objects with complex materials, for the purpose of showcasing Godot's rendering capabilities.This demo was featured at the beginning of the Godot 3.0 trailer: https://www.youtube.com/watch?v=XptlVErsL-oLanguage: GDScriptRenderer: Forward+
A simple example scene, showing how to create a FPS camera.If you'd like to give me some feedback, or you'd like to help improve this demo, please leave a comment here:https://github.com/tavurth/godot-simple-fps-camera/issues
This example shows how to apply the State machine programming pattern in GDscript, including Hierarchical States, and a pushdown automaton.Why use a state machine:States are common in games. You can use the pattern to:1. Separate each behavior and transitions between behaviors, thus make scripts shorter and easier to manage.2. Respect the Single Responsibility Principle. Each State object represents one action.3. Improve your code's structure. Look at the scene tree and FileSystem tab: without looking at the code, you'll know what the Player can or cannot do.You can read more about States in the excellent Game Programming Patterns ebook: https://gameprogrammingpatterns.com/state.htmlLanguage: GDScriptRenderer: Compatibility
This contains multiple plugin demos, all placed in a project for convenience.Due to GitHub issue #36713, you need to open the project to import the assets once, then close, then open: https://github.com/godotengine/godot/issues/36713See the documentation on editor plugins for more information: https://docs.godotengine.org/en/latest/tutorials/plugins/editor/index.htmlHow it works:This project contains 4 plugins:- The custom node plugin shows how to create a custom node type using `add_custom_type()`.- The material import plugin shows how to make a plugin handle importing a custom file type (`*.mtxt`). - The material creator plugin shows how to add a custom dock with some simple functionality. - The main screen plugin is a minimal example of how to create a plugin with a main screen.Check the `README.md` files included in each plugin's folder for more information.To use these plugins in another project, copy any of these folders to the `addons/` folder in a Godot project, and then enable them in the project settings menu.For example, the path would look like: `addons/custom_node/`Plugins can be distributed and installed from the UI. If you make a ZIP archive that contains the folder, Godot will recognize it as a plugin and will allow you to install it.This can be done via the terminal: `zip -r custom_node.zip custom_node/*`Language: GDScriptRenderer: Compatibility
This demo is a minimal first-person voxel game, inspired by others such as Minecraft.How it works:Each chunk is a StaticBody3D with each block having its own CollisionShape3D for collisions. The meshes are created using SurfaceTool which allows specifying vertices, triangles, and UV coordinates for constructing a mesh.See documentation for procedural geometry generation: https://docs.godotengine.org/en/stable/tutorials/3d/procedural_geometry/index.htmlThe chunks and chunk data are stored in dictionaries. New chunks have their meshes drawn in separate Threads but generating the collisions is done in the main thread, since Godot does not support changing physics objects in a separate thread. There are two terrain types, random blocks and flat grass. A more complex terrain generator is out-of-scope for this demo project.See documentation for more information on using multiple threads: https://docs.godotengine.org/en/stable/tutorials/performance/using_multiple_threads.htmlThe player can place and break blocks using the RayCast3D node attached to the camera. It uses the collision information to figure out the block position and change the block data. You can switch the active block using the brackets or with the middle mouse button.There is a settings menu for render distance and toggling the fog. Settings are stored inside of an AutoLoad singleton called "Settings": https://docs.godotengine.org/en/latest/getting_started/step_by_step/singletons_autoload.htmlThis class will automatically save settings, and load them when the game opens, by using the File class.Sticking to GDScript and the built-in Godot tools, as this demo does, can be limiting. If you are making your own voxel game, you should probably use Zylann's voxel module instead: https://github.com/Zylann/godot_voxelLanguage: GDScriptRenderer: Forward+
This project showcases the two main 3D text techniques supported by Godot: Label3D and TextMesh.Both Label3D and TextMesh exist in 3D space and can optionally be occluded by other objects, but they serve different use cases.Label3D: The Label3D node is a 3D node like any other. It draws text using one quad per character, which can optionally be set to work as a billboard.TextMesh: Unlike Label3D, TextMesh can optionally have actual depth since it generates geometry to represent the text. TextMesh is not a node, but a PrimitiveMesh resource you use within a MeshsInstance3D node. Therefore, you won't see TextMesh in the Create New Node dialog.Icons can also be displayed in Label3D and TextMesh using icon fonts, which can be generated from SVG files using serivces like Fontello: https://fontello.com/Note that while Label3D supports colored rasterized fonts (such as emoji), only monochrome fonts can be generated from Fontello. TextMesh and Label3D with MSDF fonts are limited to monochrome fonts too.Both standard rasterized and MSDF fonts can be used in Label3D, while TextMesh will only support fonts that can be drawn as MSDF well. This excludes fonts that have self-intersecting outlines, which Godot currently doesn't handle well when converting them to MSDF.In most scenarios, Label3D is easier to use and can look better (thanks to outlines and MSDF rendering). TextMesh is more powerful and is intended for more specialized use cases.Language: GDScriptRenderer: Forward+