Dragon Defense (Game By Exas4000, Once and Future Alaskan, Zcell111 and BeanMChocolate )

Welcome dear mercenaries!
A lazy dragon need your help in this unusual tower defense game!
Create Clones of the various defenders in order to protect the dragon’s hoard from the pesky Goblin Invaders!


Includes 2 Levels of moderate difficulty as your towers decide on their targets and position on the map during the battle! Create a messy battlefield as friend and foe block each others way!

Upgrade up to level 3 to gain an edge over the green tide!
Powerful warriors, long distance healers and Archers who will cull the smaller opposition, the choice is yours!

See you soon!


Team Leader and Programmer
Exas4000

2D Artist
Once and future Alaskan
https://twitter.com/Alaskan_Exile

Zcell111

3D modeler
BeanMChocolate


Google drive Link to the game!
https://drive.google.com/file/d/1em9dRnhYjbQZMBgPUvJMMxK3UOKrC-RQ/view?usp=sharing

Link to the Fixed Version
https://drive.google.com/file/d/1VzNa6W-RlfP_bspbXPaZuhNNG0pKBDcs/view?usp=sharing

  • Better indication of When you can place a unit
  • fixed Healer’s animation
  • Fixed enemy attack range calculation (they still don’t have attack animations)
  • Fixed the tutorial to not tell the reverse of the mouse controls
13 Likes

I really enjoyed this, you guys did well :slight_smile:

2 Likes

Definitely one of the more ambitious games for this Jam, and all in all, I’m impressed with how this turned out. I like the use of 2d sprites in a 3d world (makes me nostalgic for the days of early 3d Boomer Shooters), but the characters themselves like to turn and “hide” Paper Mario Style, so that all I can see of them is a thin black line. This makes it incredibly hard to find where all your soldiers are on the map and it also means that we often don’t get to see the enemy’s “death” animations. It’s a fun twist on the Tower Defence genre to have the characters move and chase enemies, but I think the melee fighter has too short of a “sight” range and the healers don’t appear to animate or move at all, so it’s unclear if they’re actually doing anything in the game. Also, it’s not very clear where the goblins enter the map on the second level because of the green patch covering their east entrance makes it look like a wall, perhaps an arrow or something would help indicate where the enemy entrances are on the map. Also, I think there’s a “Double Clicking” issue where if you press the button to select a character that overlaps the map, the game immediately drops the character on the map underneath the button.

We didn’t get that issue with double input from clicking, but yes it does have that nasty tendency if you try to switch unit type in the shop.

The game was made for window and most issues we had where cause due to window emulation on Mac.
I personally didn’t find a proper method to prevent the placement behavior from occurring in specific spot of the screen when I searched for a solution.

For the whole visual thing, I personally had to prioritize the more meaningful features within the timeframe and my free time. Along such features, i didn’t get togglable range display for units.

Hope you had fun regardless!

It’s a neat game.

The second map really has an issue in that the second entrance is visually blocked by a green terrain block, making it unclear that this is supposed to be an entrance. That block should be removed.

To turn of sprite rotation, simply disable rotation for all your sprites.

TL;DR: Check Freeze Rotation Z on Rigidbody2D.

To avoid having a unit spawn upon clicking the button I’d say just put in a counter that waits one second or half a second and then enables placing.

I’m ashamed to have forgot the freeze rotation feature X_X

I used it in the past, but all my mind could think about was to try and make a complicated script that do rotation based on the camera’s direction.

For the block, i can’t remove it physically, but i can remove it visually. if i don’t bloc that entrance, the enemies just take the shortest path to the dragon, and thus all take the same path.

I can try to make a quick update tomorrow.

oh…rigidbody…that can explain why i didn’t chose this. rigidbody break our game saddly. We tried implementing it early, but our system really does not like it.

https://drive.google.com/file/d/1VzNa6W-RlfP_bspbXPaZuhNNG0pKBDcs/view?usp=sharing

Here is the updated and final Build of the game!
It includes the following fixes:

  • Better indication of When you can place a unit
  • fixed Healer’s animation
  • Fixed enemy attack range calculation (they still don’t have attack animations)
  • Fixed the tutorial to not tell the reverse of the mouse controls

Have fun!

All it would do is set the rotation of Z to 0 every frame.

void Update () {
		// Set Z to whatever direction you want it to always look at (90, 180, 240, 0)
        //                                    x y z
        transform.rotation = Quaternion.Euler(0,0,0);

    }

would effectively do the same.

our character is in 2 pieces. Navmesh uses transform forward for the most part., the navmesh part dictate the rotation of the whole unit prefab. Using this on the main part might just break the Ai navigation.

I need to code a rotation offset so that the visual (child object of the main object) of the object rotate by an equal amount in the opposite direction at all time.

Sadly my time is up for this jam.

transform.rotation is in world space. That means Childobject.transform.rotation = Quaternion.Euler(0,0,0); will always set the child’s rotation towards world 0, regardless of the parent’s rotation.

1 Like