Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
A jam submission

Magel's PCView game page

Shoot viruses from Magel's PC
Submitted by Hassanshin — 1 hour, 23 minutes before the deadline
Add to collection

Play game

Magel's PC's itch.io page

Results

CriteriaRankScore*Raw Score
Overall#53.4463.446
Theme#53.5003.500
Gameplay#63.2863.286
Aesthetics#73.2143.214
Usage of DOTS#73.7863.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.

Developer

Thank you for playing! That’s my intention for the boss ahaha. Currently adding new assets to player. See you on next release!

Submitted

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.

Developer

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?

Submitted (1 edit)

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.

Submitted

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.

Developer

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.

Submitted

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.

Developer(+1)

That fast enemy is intended 🤣. Agreed about the upgrades, should be buffed moreee