Play game
ARMADA - Stuck in a Naval Combat Simulator's itch.io pageResults
Criteria | Rank | Score* | Raw Score |
Overall | #2 | 3.962 | 3.962 |
Aesthetics | #2 | 4.000 | 4.000 |
Usage of DOTS | #3 | 4.385 | 4.385 |
Gameplay | #3 | 4.154 | 4.154 |
Theme | #8 | 3.308 | 3.308 |
Ranked from 13 ratings. Score is adjusted from raw score by the median number of ratings per game in the jam.
Usage of DOTS/ECS in this project
The majority of the game was made in Unity DOTS ECS aside from the UI and Audio Managers.
The game is based around a series of boids simulations running in parallel jobs to manage the movement of all the aircraft, missiles and even surface ships. The surface ships have basic obstacle avoidance to allow them to navigate around obstacles;
Every bullet and cannon shot is an entity that is constantly calculating a ballistic trajectory and the game leverages Unity DOTS's ability to instantiate, update and destroy entities efficiently to put on a spectacle of firepower.
I hope you have fun trying out this simulator, be careful not to get stuck in there.
To play the game, download and unzip the file, then open the application titled: TMG 2024 DOTS Game Jam ARMADA
Post your high scores in the comments below, I'd love to see how far you can possibly go.
Source Code Repo
https://github.com/LuckyNumberEight/TMG-2024-DOTS-Game-Jam-Submission
Percentage of original art created for this project
80% of the art is original, all 3d models and textures were made during the jam, only the sound effects and bgm were obtained elsewhere
Leave a comment
Log in with itch.io to leave a comment.
Comments
Got 6300 with a few tries. Love the feel of the projectiles.
6300 is a pretty sweet score! Thanks for playing my game, I'm very happy that you enjoyed it.
Really fun! I loved the small details like the changing color of the different enemies when you had them targeted. Some really flushed out gameplay which is hard to do with such limited time. Impressive.
Thank you for the kind words and for playing my game! I'm so happy that details like the colour change when targeted get noticed, really makes the work put into it feel worth it!
Engaging skill-based action game with just the right number of mechanics for this jam - the volume of entities is substantial enough to demo DOTS's performance well but not so crowded as to prevent meaningful decision making. I felt in control of my situation, and when failing a mission was always compelled to try again. I really like the detail where your turrets take time to pivot to their intended angle, creating flow around which way you're facing and what targets you expect to pursue next.
Edit: just a note that the repo doesn't have the Project Settings (just the Assets), so one has to import and manually configure e.g. the Input System to get it running in the editor.
Yeah, unfortunately I had to leave the rest of the project files out of the repo. During the development of my game, at some point a bug arose that was catastrophic and would crash the editor every time I opened the project. Even copy pasting the individual files and prefabs into a new project didn't fix it. I ended up uninstalling the unity editor and downloading a new copy and re-installing it. I then rebuilt my project from scratch using only the code from the repo. The thing is, I never figured out what caused the bug, and my current project is identical to the buggy one so I don't want to risk passing around a project that will crash other people's editors.
If you would like to get my code in the repo running, I can list the settings I used:
(Input System) create a new input object, call it "PlayerInputActions", create an action map and call it "KeyboardMap"
Then add a Vector2 action titled "Movement", Vector2 action titled "MousePosition", Button action titled "MouseLeftClick", Button action titled "MouseRightClick", and a Button action titled "LaunchMissile"
Physics Layers were set up as follows:
6 - Selection, 7-Navigation, 8-Player, 9-Enemy, 10-Ground, 11-Environment, 12- PlayerProjectiles
Assign your player prefab to layer 8, and player projectile prefabs to layer 12, all enemy unit and projectile prefabs to layer 9, the ground plane to layer 10 and any obstacles to avoid to layer 11
As for setting up the authoring scripts its actually pretty simple, anything in a folder needs to be assigned to a prefab object, otherwise assign each authoring script to an empty object in the scene. Both player and enemy authoring prefabs require a collider component, a URP base color component and a rigidbody component. Missiles are the same as units but with a few tweaks, make sure in the collider component to tick isTrigger and in the rigidbody component untick use Gravity. For the phalanx and cannon, they both use the projectile authoring and only need the collider with isTrigger ticked and a base URP color component.
Assign player and enemy unit prefabs to the Unit Config Authoring Object
Assign player and enemy projectile prefabs to the WeaponConfigAuthoring Object
Place one gameobject with the player spawn authoring script in the scene, and however many enemy spawn authoring scripts in the scene. Select destroyer or fighter for unit type, the other options were aspirational lol.
That should get you most of the way there. Cheers!
That sounds like a super stressful bug! Sorry you had to go through that, and thanks for writing up such a detailed description of how to reconstruct the proper config. Truly above and beyond.
Thank you for playing my game, I'm glad you enjoyed. It makes me really happy that the work I put into the game, even the small details like the turret pivot gets noticed.
It took me a while to get used to moving (especially having to let go of the keys to shift into reverse), but once I got over that hurdle it was definitely fun :)
Thanks for playing my game! I'm glad you had fun with it. Haha yeah, I think Unity's input system defaults to 0 when press both directions are pressed, probably something to explore in the future.
Took me three tries to get the hang of it, but got 14700 points ^^
First try I didn’t manage to get the missiles working, not sure why. Would be nice with some heat or cooldown on the guns since I had to constantly spam them with no strategy. Would be nice if all guns were hold to fire too. Relative rotation didn’t matter as much to me since the optimal strategy was just sticking as close to the bottom of the screen so I can shoot the enemies from far away, until they become so many I can’t shoot them all down. It was a bit annoying when the enemy missiles went under the water, as it was difficult to see (and shoot) them then.
Fourth try:
I found a better strategy of hiding under this rock, but unfortunately the missiles can go under that too.
O.O! wow 23700!! that is really impressive!!
Thanks for playing my game, Wow 17900 points is very impressive. The missies will only fire when there is a target within the circle reticle, it will usually turn red to indicate a target is present. As for the cooldown and fixing the missile going underneath the water, there were plans but as with any game jam there just wasn't enough time to implement it. Thanks again for playing.
Yeaa, I spam all my guns. 10k score achieved. I love homing missiles, AI and me have the same guns. Aahaha great job!
Thank you for playing! Spamming guns and missiles is the way to go!! Congrats I think 10k is the record so far!
Seems like you were able to learn a fair bit from this. I made it to about 3k points each time before dying. I would have liked to see a bit more shot variation and error for more realism. Solid work!
Thanks for playing! 3k is pretty legit. Haha yeah, it was definitely a crash course in getting a DOTS game up and running, I'm glad you liked it.