Giter Club home page Giter Club logo

godot-3d-dodge-the-creeps's Introduction

Archived

This demo project was merged into the main godot-demo-projects repository.


Your First 3D Game: Squash the creeps 3D

Squash the creeps banner

Squash the Creeps 3D is a free and open-source game demo for the Your First 3D Game tutorial in the official Godot documentation.

The tutorial series is completely free, open-source, and teaches you to create a 3D game from scratch where you avoid and jump on alien creatures.

squash-creeps

It covers:

  1. Handling player input.
  2. Moving and jumping in a 3D game.
  3. Spawning enemies randomly around the game arena.
  4. Using the built-in animation editor to breathe life to your game
  5. Creating a complete game loop with lose conditions, score, and the ability to restart.

Credits

art/House In a Forest Loop.ogg Copyright © 2012 HorrorPen, CC-BY 3.0: Attribution. Source: https://opengameart.org/content/loop-house-in-a-forest

godot-3d-dodge-the-creeps's People

Contributors

aaronfranke avatar akien-mga avatar nathanlovato avatar rburing avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

godot-3d-dodge-the-creeps's Issues

moving Path with the Player

Lets type that I want to set a bigger map. I could use a bigger Path but lets type that I want yours Path size (matching the camera bounds) and move it with the player. There is a better way to do it instead changing the .translation on Main.gd (line number 30) and in Mob.gd (line 20) for .global_transform ? Of course I will need to make Path as a child of Player and change its location on initialize function on Main.gd (line 22).

Blocky shadow when camera projection is orthogonal

The shadows are separated and not continuous, this happens only in orthogonal projection camera, if I change it to prespective it works fine.
The tutorial is suggesting making camera Far property to 100 but that didn't fix the issue.
I found this related issue in godot repo #73472 and #58332

image

Collision with the same mob is detected multiple times

When jumping on a mob the collision is sometimes detected 2 or 3 times which fires the squash signal multiple times and causes the score to increase 2 or 3 instead of 1.
the problem appears to be in this part of the code

# player.gd
func _physics_process(delta):
        #....
	# Iterate through all collisions that occurred this frame
	for index in range(get_slide_collision_count()):
		# We get one of the collisions with the player
		var collision = get_slide_collision(index)
		# If the collision is with ground
		if (collision.get_collider() == null):
			continue
		# If the collider is with a mob
		if collision.get_collider().is_in_group("mob"):
			var mob = collision.get_collider()
			# we check that we are hitting it from above.
			if Vector3.UP.dot(collision.get_normal()) > 0.1:
				# If so, we squash it and bounce.
				mob.squash()
				target_velocity.y = bounce_impulse

It appears the get_slide_collision_count() is counting multiple collisions with the same mob instead of counting it only once.
Does anyone know how to avoid this?
I thought of tracking last squashed mob and ignoring it in the next iteration of the loop but that doesn't sound elegant, there must be some setting or trick that I am missing.

Doesn't work with Godot 4

Shows a bunch of errors both on load and on executing. Since this is my first Godot tutorial I was trying to use, hard to give you more specific information.

Update statuses and archive this repository – Project moved to `godot-demo-projects`

Originally posted by @ParadoxV5 in #13 (comment)

The project has been fully integrated into the demo projects and is maintained there now
@AThousandShips

godotengine/godot-demo-projects#884 for Godot 4 has superceded this Godot 3 repository, yet neither this repository nor the docs’ tutorial were made aware.
I request archiving this repository after updating its status on the README. The docs’ tutorial also needs an update to go off the new project (while the assets need no update, the template project does – https://github.com/ParadoxV5/godot-3d-squash-the-creeps/releases/2.0.0). godotengine/godot-docs#6744 (comment)

Supercedes, i.e. closes #6, #8, #9, #10, #13

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.