Play game
Magel's PC's itch.io pageResults
Criteria | Rank | Score* | Raw Score |
Overall | #5 | 3.446 | 3.446 |
Theme | #5 | 3.500 | 3.500 |
Gameplay | #6 | 3.286 | 3.286 |
Aesthetics | #7 | 3.214 | 3.214 |
Usage of DOTS | #7 | 3.786 | 3.786 |
Ranked from 14 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
Collision Event. Trying to separate them with partition area groups that have an Index. And everyone will check's nighbouring area to check distance. I think I did a good job there, no problem so far (circle collider only). Also layering bitmask is quite lovely
Hit Data event. Damaging in ECS quite challenging. I use the hit data from collision and write that to buffer that will be read and cleared by mono. Also using UnityRef<Weapon> to do the callback OnHit
Pathfinding. Seems my pathfinding jobs is really bad, will continue to develop it later. The pathfinding kinda okay. I also write it to the buffer as the points, and AgentMovement following it. The baking check uses Unity.Physics.CheckSphere. Still confused with new physics authoring though
Hybrid mono-ecs seems redundant. Creating Dynamic buffer to communicate within them. Wait, could I use the ISystem as singleton?
The [BurstCompile] is amazing. It's reduce almost the bottlenecks!
Thank you for the Jam. Keep your videos up! I really loves the ECS programming
Source Code Repo
https://bitbucket.org/digibox-gs/magels-pc/
Percentage of original art created for this project
90%
Leave a comment
Log in with itch.io to leave a comment.
Comments
I played through all waves and enjoyed leveling my guy up for the final boss. It ran well and the effects were nice. I would love to see this project grow! Nice work.
Thank you for playing! That’s my intention for the boss ahaha. Currently adding new assets to player. See you on next release!
Interesting fusion of polymorphic MonoBehaviours and ECS in the source code for this one. I was on the latest commit (not playing on Windows) and missed out on the project impact effects, but get how this could become spectacular at scale.
I’m trying to implement the “Data-Driven Event System in Unity ECS”. But I cannot figure out how. So i write it to buffer singleton. And that will be read by mono.
Still trying to make it cleaner callbacks, and is that efficient? The code works fine though. Any thoughts?
Your guess is better than mine when it comes to mixing ECS and MonoBehaviours; I've scrupulously avoided trying to do that. In just ECS, I think the answer would depend on what the events record. If there is a large volume of sequential accumulative events applied to a single entity, I'd probably try to pile them up in a DynamicBuffer of each event type and the process them in a later system. If the events are singular, then maybe they could be enableable components on the entities to which they apply. I'm still figuring out these things too, though, especially compared to those experienced users (e.g. tertle) who have a whole framework for broadcasting and consuming events in serial.
It's a fun little shooter and a good demonstration of what you can do with Unity DOTS. I feel like it would be quite an experience if everything was just cranked up by 10X maybe even 100X. Like 100X the enemies and 100X the bullets and see where that goes, The color palette is a nice and easy on the eyes and everything is very readable. Great Job.
Couldn’t agree more! My collision could handle it, but I failed at Pathfinding. With 1000 enemies count, those pathfindings took 90% CPU and the game is on 10 FPS average.
I’m planning to improve it later though, thank you.
Died a few times because an enemy spawned inside me and I couldn’t move away from it 😔 Was fun, but some of the upgrades felt a bit weak.
That fast enemy is intended 🤣. Agreed about the upgrades, should be buffed moreee