godotengine / godot-demo-projects Goto Github PK
View Code? Open in Web Editor NEWDemonstration and Template Projects
Home Page: https://godotengine.org
License: MIT License
Demonstration and Template Projects
Home Page: https://godotengine.org
License: MIT License
I am having problems importing demos on 3.0.alpha.
I tried to run 2d/platformer by renaming engine.cfg
to project.godot
(both files seem INI-ish) and then importing the project.
Once I specify the file and click import
I see my existing list of imported projects but platformer is not listed.
Is it common to run these demo projects in 3.0.alpha? If so, what steps can I take to get it working?
Thanks!
When the demos were included with the main godot repo we had a set of demos available that matched the features for each godot version released.
It would be clearer if the demos had tagged releases to match each godot release rather than just looking for the godot release date and picking a commit made before the release or a matching branch head. These releases would also match the versioned release of demos available to download at godotengine.org
Moved from godotengine/godot#3142:
The OS class provides an abstraction layer over the platform-dependent code.
The engine now has code for something like 13 platforms.
It would be nice to have a demo that tests all (or most) of the OS class methods.
This way it would be much more easier to test and compare different platform implementations.
And also find bugs in the platform-dependent code.
It will also be very helpful when adding support for a new platform.
Ok, as I don't want to struggle with GIT to submit a PR, i will just give you a link to the demo here and will let you include/PR/Gitify it if you like :
It's simple, well established, showcases how to use tilemaps and instancing and simple game logic.
With some good assets (e.g. the ones used in https://github.com/swatteau/sokoban-rs if the license is right) it can also be a good looking demo :)
Right now each demo has its own separate project.
Developer need to close and open projects one by one to check engine features.
It should be better if there is a single entry point for demo instead.
i.e. create a single project with MainScene that links up to different demo Scene.
With this change, it also help to demonstrate scene management and scene transition technique.
As far as I can tell WorldEnvironment
only works in 3D
I imported the 2D demo project of Platformer and while running the main scene, the debugger dropped the error "Invalid call. Nonexistent function 'move_and_slide' in base 'KinematicBody2D (player.gd)'." for player.gd line 37
This is the message I get, I enabled the scripts I allowed the cookies no joy, the game needs to be fixed. Saying "change your browser" is not a very inclusive thing to do. Especially when the web game doesn't indicate minimum system requirements.
Here's a link to the godot web game I tried to play: http://godot.eska.me/pub/wasm-platformer/
I'm running Seamonkey 2.46
Parser Error: Can't preload resource at path: res://bullet.tscn
The viewport demos from 2.1 are missing from the master branch: https://github.com/godotengine/godot-demo-projects/tree/2.1/viewport
They may need to be redone/adapted to the new Viewport API, but they were quite useful to showcase that Godot can mix 2D and 3D easily.
Parser Error: Unexpected token: Identifier:remote
Line 57 in GameState.gd:
remote
func register_player(id, name):
The following are some changes I made to my local version of the platformer demo (on godot 2) and I was wondering if you'd be interested in a pull request when I port them to godot 3.
Feel free to pick or reject any of my suggestions:
Camera Changes:
Movement Changes:
Other:
p.s. FYI, The demo looks insanely amazing in 1st person mode.
p.p.s. In my local version I was going for a witch theme (I even added a broomstick under the character), so I made the double jumps infinite but very small, so it's basically like a tiny boost to keep the witch gliding in the air. It's a beautiful movement mechanic so I'd love to share the project with anyone interested.
Project don't run because of
Invalid call. Nonexistent function 'move_and_slide' in base 'KinematicBody2D'
In player.gd:38
The constant JOY_AXIS_MAX is set to 10, which is used to iterate over the axes nodes. But there are only 7 nodes for the axes in the scene.
When setting 7 instead of JOY_AXIS_MAX in the for loop, the demo works.
Moved from godotengine/godot#9884
Operating system or device - Godot version:
Mageia 6 x86_64 with proprietary NVIDIA drivers (375.66), Godot 3.0.alpha.build1 (f55211a)
Issue description:
2D particles in the Platformer demo are rendered black:
Steps to reproduce:
Link to minimal example project:
https://github.com/godotengine/godot-demo-projects/tree/master/2d/platformer
I am experiencing massive Underruns and high latency using the latest beta 2 with Godot 3. At least 200 ms of delay between an action and actually playing the sound, with a lot of underruns when playing more than 1 sfx at the same time.
System Specs:
i7 7700HQ
Nvidia Gtx 1050 4gb
8gb DDR4 ram
Using an Scarlett Focusrite wi4 Audio Interface
Create example to the multiplayer game.
There's only a root Spacial node and a child Skeleton node in a main scene.
e.g. Pokemon, Zelda LTTP, RPG Maker games.
I would be glad to write the demo and would be open to what features are essential to add (and which shouldn't be).
So far I'm thinking:
Essentials:
Not Essentials?
Combat: Because it is not possible to decide between real-time and turn-based, and I think it's outside the scope of the demo. I'd be willing to make an "Advanced" version of the demo though, and perhaps a different version for each combat system too.
When running the demo and moving to some areas of the demo level, FPS will become very low, even on high-end hardware (tested on an i7-6700K and a GTX 1080, I get 10-15 FPS when it happens).
This may not be due to the renderer, but rather due to a scripting error.
See the console output sent by an user on Discord below:
Edit: Someone on Discord commented that this may be due to the coin animation.
looks like the low fps issue with the 3d platformer is the coin animation uses
rotation_deg
which changed to
rotation_degrees
Moved from godotengine/godot#4196:
The demos are currently using the binary SCN format. Now that TSCN is relatively mature, I think we should switch all demos to it, so that it's easier to spot bugs or regressions in scene files
Done for 2D demos already.
Do you have a https sample project?
Version 2.1
Latest demos for zip download on site
Platformer demo
The space in between the tiles is visible for brief moments when the screen moves a lot (you can see it flickering by simply jumping around for a bit, falling a long distance helps)
Problem appears to be that mipmaps are used to process the tilesheet image, turning them off seems to remove the effect
getting errors that say
"iCCP: known incorrect sRGB profile"
May be related?
A good demo about saving game levels and how to load
Moved from godotengine/godot#4206:
Likely since godotengine/godot#3204 which caused some offset for vertically flipped tiles. As I understand it this PR fixed a previously wrong behaviour, so now we need to rethink the hexamap demo to show how to make hexagonal tilesets that can still be flipped properly.
I kind of "fixed" it (not really, read next paragraph) by changing the sprites/tiles offset to the center of the tiles/sprites (which is -64, -64) and changing the TileMap origin to center.
The problem? It's only works with the tile preview, not after placing the tile in the TileMap... I opened an issue about this some time ago: godotengine/godot#3209. I can fix that issue if someone tells me what's the correct result with origin set as center (crossing my fingers for it to be the preview), and then I would check this one again.
Current master branch for Godot 3.x.
Nothing is displayed, some of the particles have been converted to plain Nodes when converting from 2.1. It should likely be redone from scratch.
The tiles.scn
scene (source for the MeshLibrary) has a dependency on texture.tex
, which is no longer there in 3.0. It should be texture.png
directly.
Now that I've created the little sensor demo that visualises the sensor output it's clear more work needs to be done on processing the magnetometer.
From what I've read so far and understand so far, the magnetometer is the product of all magnetic forces on the phone. As the magnetic field of the earth is relatively weak compared to other magnetic sources there is a lot of interference. Some you can't do anything about, if you hold a magnet close to your phone, thats what the magnetometer will point to (which is an interesting way to interact with your phone), it'll just mean what the phone things is north isn't north.
But the components of the phone itself are magnetic as well and that is seriously throwing the readings off. Need to investigate different methods of filtering the data.
Hey I was just wondering how you would go about loading these demos. I use Linux and I cloned the repo, I believe there is a build command I need to use, But I don't know what it is.
I do apologize as I'm not a developer, But just someone who is interested in seeing the engines capabilities. I would however be interested in updating the readme with some more information about building etc.
Thanks!
Current master for Godot 3.0.
It loads fine, but the GUI elements can't be interacted with, which kind of defeats the purpose of the demo.
The music plays but no window appears. I get the error message:
Invalid call. Nonexistent function 'move_and_slide' in base 'KinematicBody2D (player.gd)'.
3D Game crashes on android when is opened.
There is an attachment of an example game: kinematic_character.zip
Tested on a Xiaomi Redmi 3s Pro with an Adreno 505 chipset.
This is the adb log:
2-17 11:55:49.135 13775 13794 F libc : Fatal signal 11 (SIGSEGV), code 1, fault addr 0x48 in tid 13794 (GLThread 166)
12-17 11:55:49.179 1784 1784 D StatusBar.NetworkController: onSignalStrengthsChanged received on slotId :0signalStrength=SignalStrength: 13 0 -120 -160 -120 -1 -1 99 2147483647 2147483647 2147483647 2147483647 2147483647 gsm|lte level=5 cdmdlevel=0 evdolevel=0
12-17 11:55:49.188 640 640 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
12-17 11:55:49.188 640 640 F DEBUG : Build fingerprint: 'Xiaomi/land/land:6.0.1/MMB29M/V8.5.4.0.MALMIED:user/release-keys'
12-17 11:55:49.188 640 640 F DEBUG : Revision: '0'
12-17 11:55:49.188 640 640 F DEBUG : ABI: 'arm'
12-17 11:55:49.188 640 640 F DEBUG : pid: 13775, tid: 13794, name: GLThread 166 >>> org.godotengine.kinematiccharacter3d <<<
12-17 11:55:49.189 640 640 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x48
12-17 11:55:49.229 640 640 F DEBUG : r0 00000000 r1 00003a00 r2 80000000 r3 00000002
12-17 11:55:49.230 640 640 F DEBUG : r4 00000010 r5 efebf228 r6 00000000 r7 00000001
12-17 11:55:49.230 640 640 F DEBUG : r8 00000001 r9 abb25328 sl 00000000 fp 00000040
12-17 11:55:49.230 640 640 F DEBUG : ip abad92b0 sp efebf220 lr 00000003 pc e9ac1554 cpsr 80070030
12-17 11:55:49.276 640 640 F DEBUG :
12-17 11:55:49.276 640 640 F DEBUG : backtrace:
12-17 11:55:49.277 640 640 F DEBUG : #00 pc 00150554 /system/vendor/lib/egl/libESXGLESv2_adreno.so (_ZN9EsxGfxMem15UpdateTimestampEPK10EsxContext13EsxAccessTypeP20EsxBucketIdReference+307)
12-17 11:55:49.277 640 640 F DEBUG : #01 pc 00140ab7 /system/vendor/lib/egl/libESXGLESv2_adreno.so (_ZN9EsxCmdMgr16GfxMemReferencedEP9EsxGfxMem13EsxAccessType+22)
12-17 11:55:49.277 640 640 F DEBUG : #02 pc 001c30ab /system/vendor/lib/egl/libESXGLESv2_adreno.so (_ZNK10A5xProgram25GenerateShaderCBSlotStateEP10A5xContext13EsxCmdBufType23EsxCompiledHwShaderTypejP20A5xShaderCBSlotState+778)
12-17 11:55:49.277 640 640 F DEBUG : #03 pc 001c156f /system/vendor/lib/egl/libESXGLESv2_adreno.so (_ZN11A5xPipeline13WriteUboStateEP10A5xContext13EsxCmdBufType23EsxCompiledHwShaderTypejP14A5xStateBuffer+110)
12-17 11:55:49.277 640 640 F DEBUG : #04 pc 001cff3d /system/vendor/lib/egl/libESXGLESv2_adreno.so (_ZN10A5xContext29WriteConstantBufferStateGroupE13EsxCmdBufTypej+28)
12-17 11:55:49.277 640 640 F DEBUG : #05 pc 001dfb25 /system/vendor/lib/egl/libESXGLESv2_adreno.so (_ZN10A5xContext13ValidateStateEPK17EsxDrawDescriptor+1636)
12-17 11:55:49.277 640 640 F DEBUG : #06 pc 001e0065 /system/vendor/lib/egl/libESXGLESv2_adreno.so (_ZN10A5xContext18HwValidateGfxStateEPK17EsxDrawDescriptor+4)
12-17 11:55:49.277 640 640 F DEBUG : #07 pc 000cd10d /system/vendor/lib/egl/libESXGLESv2_adreno.so (_ZN10EsxContext16ValidateGfxStateEPK17EsxDrawDescriptor+556)
12-17 11:55:49.278 640 640 F DEBUG : #08 pc 000c2153 /system/vendor/lib/egl/libESXGLESv2_adreno.so (_ZN10EsxContext21DrawElementsInstancedE11EsxPrimTypej10EsxPixTypePKvji+338)
12-17 11:55:49.278 640 640 F DEBUG : #09 pc 000b3005 /system/vendor/lib/egl/libESXGLESv2_adreno.so (_ZN10EsxContext23GlDrawElementsInstancedEjijPKvi+68)
12-17 11:55:49.278 640 640 F DEBUG : #10 pc 000a5b49 /system/vendor/lib/egl/libESXGLESv2_adreno.so (glDrawElementsInstanced+40)
12-17 11:55:49.278 640 640 F DEBUG : #11 pc 0063a5c8 /data/app/org.godotengine.kinematiccharacter3d-1/lib/arm/libgodot_android.so (_ZN20RasterizerSceneGLES316_render_geometryEPNS_10RenderList7ElementE+872)
12-17 11:55:49.278 640 640 F DEBUG : #12 pc 00636a84 /data/app/org.godotengine.kinematiccharacter3d-1/lib/arm/libgodot_android.so (_ZN20RasterizerSceneGLES312_render_listEPPNS_10RenderList7ElementEiRK9TransformRK12CameraMatrixjbbbbb+10816)
12-17 11:55:49.278 640 640 F DEBUG : #13 pc 0064ece0 /data/app/org.godotengine.kinematiccharacter3d-1/lib/arm/libgodot_android.so (_ZN20RasterizerSceneGLES312render_sceneERK9TransformRK12CameraMatrixbPPN15RasterizerScene12InstanceBaseEiP3RIDiSB_iSA_SA_SA_SA_i+5384)
12-17 11:55:49.278 640 640 F DEBUG : #14 pc 013bdd54 /data/app/org.godotengine.kinematiccharacter3d-1/lib/arm/libgodot_android.so (_ZN17VisualServerScene13_render_sceneE9TransformRK12CameraMatrixb3RIDjS4_S4_S4_i+4668)
12-17 11:55:49.278 640 640 F DEBUG : #15 pc 013bcaa0 /data/app/org.godotengine.kinematiccharacter3d-1/lib/arm/libgodot_android.so (_ZN17VisualServerScene13render_cameraE3RIDS0_7Vector2S0_+568)
12-17 11:55:49.278 640 640 F DEBUG : #16 pc 0133692c /data/app/org.godotengine.kinematiccharacter3d-1/lib/arm/libgodot_android.so (_ZN20VisualServerViewport14_draw_viewportEPNS_8ViewportEN13ARVRInterface4EyesE+604)
12-17 11:55:49.278 640 640 F DEBUG : #17 pc 01337c24 /data/app/org.godotengine.kinematiccharacter3d-1/lib/arm/libgodot_android.so (_ZN20VisualServerViewport14draw_viewportsEv+1100)
12-17 11:55:49.278 640 640 F DEBUG : #18 pc 013303a8 /data/app/org.godotengine.kinematiccharacter3d-1/lib/arm/libgodot_android.so (_ZN18VisualServerRaster4drawEb+96)
12-17 11:55:49.278 640 640 F DEBUG : #19 pc 000c4628 /data/app/org.godotengine.kinematiccharacter3d-1/lib/arm/libgodot_android.so (_ZN4Main9iterationEv+1128)
12-17 11:55:49.278 640 640 F DEBUG : #20 pc 00096dd4 /data/app/org.godotengine.kinematiccharacter3d-1/lib/arm/libgodot_android.so (Java_org_godotengine_godot_GodotLib_step+212)
12-17 11:55:49.278 640 640 F DEBUG : #21 pc 00344265 /data/app/org.godotengine.kinematiccharacter3d-1/oat/arm/base.odex (offset 0x221000) (void org.godotengine.godot.GodotLib.step()+72)
12-17 11:55:49.278 640 640 F DEBUG : #22 pc 00347bd9 /data/app/org.godotengine.kinematiccharacter3d-1/oat/arm/base.odex (offset 0x221000) (void org.godotengine.godot.GodotView$Renderer.onDrawFrame(javax.microedition.khronos.opengles.GL10)+84)
12-17 11:55:49.279 640 640 F DEBUG : #23 pc 74275d65 /data/dalvik-cache/arm/system@[email protected] (offset 0x24a0000)
Trying to create actions called "rotate_left" and "rotate_right" which just rotate the camera without the player moving.
Roguelike or board game. This would be a useful demo to have.
(Moving from godotengine/godot#1617, originally submitted by @Ace-Dragon, propsal for moving by @djrm)
Currently, many code snippets are done with lots of chaining, to the point of getting the user lost:
var a = get_something().do_something().third_thing()
Obviously, it would become much more readable/understandable if it is done like:
var something = get_something()
var something_modified = something.do_something()
var third = something_modified.third_thing()
Another problem is the lack of comments, which has the problem of completely discouraging users at some point, especially if they don't have the knowledge of reading through loads of documentation efficiently and understanding what methods do by intuition.
var something = get_something() # Get blah
var something_modified = something.do_something() # Foo the something
var third = something_modified.third_thing() # Bar the foobar of the foo of the blah
As @Wend1go noticed, the navmesh demo is a great example of this issue. Consider navigation.gd:18-44 and :50-66, which contain in total a single comment for as much as 30-40 lines of complex vector math and single-character variables.
In the join_game function the variable is named host instead of client:
It seems the textures aren't loading correctly on Android, but are on Desktop.
The textures for the floor don't load at all when running on device.
texture.tex
tiles.scn
robotrigged.scn
enemy.scn
coin.scn
bullet.scn
all show red crosses in the filesystem panel.
Hovering over the red crosses shows that
/platassets/texture.png
/platassets/tiles.dae
/platassets/robotrigged.dae
/platassets/enemy.dae
/platassets/coin.dae
/platassets/bullet.dae
files are missing
There is no platassets folder in the project directory.
Godot https://github.com/GodotBuilder/godot-builds/releases/tag/master_20171011
Placing many bombs sometimes lead into a stunned state where the player is not animating or moving.
I am not sure if this fixes since it only happens sometimes. I was not able to reproduce it anymore.
(I moved the stunned reset to the end of the animation)
In my opinion users should be able to easily download these demos via the Project Manager > Templates directly from Godot, since downloading them manually is a bit counterintuitive and many users probably don't know these demos exist at all.
Currently most of the demo projects fail to run using the current (v3.0) runtime. If they are opened in the editor, the *.import files get updated with [deps] entries and then they can be started with the runtime. Maybe that step should be handled in the runtime.
There are also some small issues that should be cleaned up in some of them, eg. the hexagonal map appears to have tiles out of place and visual pong doesn't work properly. Maybe anyone familiar with the demos can have a look through and see that each one works as expected.
Moved from godotengine/godot#892
Please make an example showing how to use 3D raycasting, and camera.project_ray_
I'm probably superlate, but try this http://blenderstars.com/uploads/tmp/Click.zip if you're still looking for a solution.
Tile Animation did not find, plan to join it?
OS: Ubuntu Linux 16.04
Godot version: latest (master branch)
Godot Demo Projects version: latest (master branch)
The Multiplayer bomber doesn't run.
Output:
Parser Error: Name for argument 'name' can't shadow class property of the same name.
0 - res://gamestate.gd:59
It ran a week ago with the same code so I don't know if the demo should be updated or if it's an Engine's issue.
First-person 3D games (not just FPSs, but also walking simulators and puzzles like Myst) are very popular, I think it'd be great if there was a first-person demo.
I have a pleading about get_node() usage for demo projects.
While reading PR #53 it seems to me that "$" notation is preferred over get_node() while reviewing new demo projects.
I think that get_node()
for beginner level demos is a better choice as standard. $
notation is more cryptic for beginners by nature. I am using Godot at high school level for students with zero coding experience. Using get_node() needs no further explanation and makes tutoring more easy. If standart for beginner level demos would be "always use get_node()", I will be very grateful. Although new demos seems to be not using get_node too often, I think this is still important to decide.
I what I mean as beginner level demos are projects mentioned in "Step by step" section and for most of the 2d folder. Ithink 3d folder is for more determined learners so $ notation will not be the main problem there.
WDYT?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.