Endless mode is in in the latest build! Give it a try and let me know what you think, thanks!
Matto
Creator of
Recent community posts
thanks so much for checking it out! Really appreciate the feedback. I've just pushed another build that's mainly back end to fix some loading problems it's had.
By pull action, you mean like a cursor movement from the player?
I totally understand about getting overpowered, the balance is probably the biggest single problem right now, I'm working on it.
Tutorial will definitely get revamped, right now it's super bare bones, I agree.
I need to do a pass on the full card layout and make the card face more visibly useful for sure. I will try and see if putting the card text on the face works, is readable etc. It makes sense for sure.
Very helpful, thanks for taking the time to share. Where can I see your art? Thanks again.
hi all, been working on this for a month solo, dropping this alpha/prototype to gather feedback, would love to hear what people think!
https://mattmirrorfish.itch.io/pack-ripper-gambons-wildcards-alpha

Hey,
Thanks for trying out the project! Eventsystem checker is there to verify that an EventSystem is there to make the menu interactive, if you can manually verify that there is an EventSystem in the main scene then you can safely delete the one at that path in standard assets. In fact you can safely delete it regardless. It’s weird that it’s even there tbh, I’ll have a look more closely when I get to my computer.
You definitely will be able to get updates via Itch for this project. Actually now that Unity 2018.3 is out it’s due for an update so watch this space.
Thanks again,
Matt
1.3 Release Notes:
- Added SpaceDivider Generator which allows for generation of a rectangular shape with subdivided internal rooms.
- Added custom icons for the different ScriptableObject types for easier identification in the Project window.
- Updated Editor script for BoardGenerator to hide daily seed option when useRandomSeed is true.
- Fixed Clear and ClearAndGenerate functionality for CubeWorld example
- Fixed PerlinNoise generator to use random seeding.
- Fixed some scripts that weren’t using Strata namespace.
- Some small documentation fixes.
Thank you so much Nikki! I might well do an expanded version, my (distant, fantasy) project I'd like to do at some point encompasses multiple different things like this which you can explore and take pictures in, so this or a modified version of this might become part of that.
I "cheated" a bit on this because I used my own procedural generation tool Strata for the level layouts with some small tweaks, but that would have taken a lot of time if I'd done it from scratch. So that would be it, since I spent probably about 8 weeks full time building that outside the jam and getting it to a level of polish where it could be released commercially.
That being said, the time was pretty evenly distributed. I spent a fair amount of time wrestling with Unity's HDRP to get the volumetric lighting working, since it's new. I had some nice effects going with volumetrics off the floating light panels as well (my original idea) but it ended up being too expensive performance wise, even on my very fast computer, so I backed off and just went with a single directional volumetric.
I spent a good amount of time on the audio as well, trying to create something that felt varied and interesting while hitting the right mood over a long length of time.
I think I spent about 24 work hours overall on this, not including the Strata procedural level tool time. I also re-used the menu template which was something I built for my day job at Unity, that's freely available. So lots of "cheating" :)
I'm planning to do some post-mortem tutorial style videos soon for my YouTube channel here: https://www.youtube.com/channel/UCxRW28Si8_Vb27-IDhFMMKQ so keep an eye out for those and I'll go into more detail.
Thanks so much for checking it out!
I've just uploaded Strata 1.2! Thanks so much to everyone who's been emailing me at support@mirrorfishmedia.com to raise bugs and various quality of life issues. I've addressed some of those here and tried to test everything pretty thoroughly. I also validated that this does work with the 2018.3 beta for those who are upgrading to get nested prefabs (which are great btw) but it is still exported from 2017.2 for compatibility for those on earlier versions.
Release Notes
1.2
- Added SimpleFill Generator: This overwrites the entire grid with a character. Useful when you want to start with a filled grid and dig out.
- Added PerlinNoise Generator: Simple noise generator, no smoothing or post-processing, just fill the grid with noise, either overwriting what is already there or filling in empty space.
- Added CaveDigger Generator: Another simple generator that does a random walk clearing out a pre-defined portion of the map. Will continue moving randomly and creating empty space until a desired percentage of spaces have been cleared this pass (not including other generator passes).
- Added PathVisualizer component: This records information about the direction the path has moved in and draws an arrow Gizmo in the scene view, along with the name of the RoomTemplate that was drawn. Works with RoomSequence and PlatformerRoomChain. Useful for debugging generation.
- Cleaned up some small bugs in the example scenes.
If you want to send me an email I can actually send you some code that I wrote that builds a turn / grid based navigation map from the boardGridCharacters data, instead of reading from the Tilemap. It works pretty well and isn't tightly coupled to Strata, it just reads the data and acts on it on it's own. Send me a mail at support@mirrorfishmedia.com and I can send it to you.
So just to drill in a bit, how is that you want to use this data? You're using it for navigation of enemy agents?
I agree that writing this data somewhere in a usable form would be a good thing, just need to think precisely how and what data will be needed. The main info you're interested in is the sequential numbering of rooms? You're right though that for stuff like the RoomTiler which spreads in multiple directions a list of coordinates won't help much.
Overall something that I am starting to see is that generating a kind of map/graph at one level of abstraction and then moving down to turn it into tiles makes a lot of this stuff work better, so maybe it makes sense to generate a graph or map of the level and save it somewhere for other gameplay related purposes.
Definitely thought provoking feedback!
Awesome! Glad to hear you're getting more consistency.
Thanks for the heads up re the missing BoardGenerationProfile and the additional null check, I'll add those.
I'll take a look at how to replace the lost functionally. I might actually add a new generated GameObject in the scene that persists after generation and holds info about what was generated, to get that out of BoardGenerator, since there is still some info being written back to BoardGenerator like empty spaces. I might store the final generated grid in there too that BoardGenerator reads out to Tilemap. I am currently using a temporary object with a new RoomChain component on it but that gets destroyed when generation is done. I might need something more persistent.
Would something like that work for your purposes do you think?
thanks again for the feedback!
Matt
I just shipped an update (1.1) that replaces RoomChain with RoomSequence, which so far is much more robust. Also added RoomTiler which is sort of Wang tile inspired and spreads out along any open exit, as opposed to generating a linear sequence. If you have a chance to try it out I'd love to hear further feedback. Details here:
https://itch.io/t/298310/strata-11-is-out
Thanks!
I've uploaded version 1.1 of Strata! Here are the release notes. Huge thank you to keybol and r618 for their excellent and helpful feedback.
I've taken both of your feedback and bug reports on board and hopefully fixed everything. I completely rewrote RoomChain and replaced it with RoomSequence and RoomTiler and I think they are both much much better, including addressing and fixing the previous problems. I also included the 3D demo scene I showed on YouTube and added a new TunnelBrancher generator type that spawns sub-tunnels while it tunnels.
1.1 Release Notes:
1.1:
- Replaced RoomChain Generator and with RoomSequence and a RoomChain component. RoomChain Generator proved unreliable in generating chains of desired length. New approach is much more robust and always achieves minimum chain length. Also adds support for placing start/end rooms from a RoomList at the end of the RoomSequence.
- RoomChain component is a data holding object that is created and destroyed during generation. It tracks progress of RoomSequence and RoomTiler generation so that that data is not stored in BoardGenerator, making resetting cleaner and easier.
- Added RoomTiler. RoomTiler is like RoomSequence but instead of spreading in one direction spreads in all available directions marked by exits for a number of iterations. Grows buildings with connected paths branching off from a center.
- Added TunnelBrancher: This is like WanderTunnel but has a percent chance to spawn new WanderTunnels every step. Useful for generating branching tunnel systems.
- Added turnNoiseValue parameter to WanderTunnel, this flips the generation back and forth between preferring to tunnel horizontally first or vertically first based on a random percentage roll, this makes for more irregular, squiggly tunnels. Keep at 0 for clean 90 degree turns in tunnels. Also implemented in TunnelBrancher.
- Moved some source comments into Tooltips, not all yet.
- Fixed a path bug when setting up profile for first time
- Added simple example scenes for TunnelBrancher, RoomTiler and RoomSequence to MiniRogue example.
- Added Experimental CubeWorld 3D Example Scene: This demonstrates using Strata to spawn non-Tilemap tile data, in this case a world made of cubes. Note that all editing must still be done on 2D tilemaps, 3D editing is not supported.
Hmm so even calling ClearLevel the state is not reset? That's weird. There may be some parameter I'm failing to reset. For additional clarity, are you doing this in Play mode at Runtime or in Edit mode or both? Thanks for your patience, I'll take a look at your repro case and get back to you.
Honestly I probably should just move the state-ful stuff out of the BoardGenerator and into a function like almost everything else. Gonna have a think about it.
best,
Matt
Quick update, I think the issue was that for some reason I failed to call ClearLevel() during the loop in BuildLevel(), leading to old data on subsequent loops. I think this was an attempt to optimize gone wrong. Could you please try adding a call to ClearLevel() to the beginning of the for loop in BuildLevel (around line 203 of BoardGenerator) and let me know if that solves this issue for you? It looks good on my end, if it works for you I'll ship the fix.
Thanks again and sorry I missed the earlier response. I'm new to using Itch for this purpose.
Best,
Matt
hey there,
Extremely sorry I didn't see this, somehow I didn't get an email notification on it from Itch. Please email support@mirrorfishmedia.com next time if you don't hear from me and I'll get right back to you.
Thanks very much for pointing these issues out and the thorough bug report. I'll look into them.
The switch to using Coroutines actually came about later in development since I did a prototype which combines it with Aron Granberg's A* asset and it was useful to be able to wait for generation to be complete before generating the NavMesh, so I figured others might want to do the same.
Honestly the looping/discarding in the RoomChain generation is still not totally satisfying to me, it was created to guarantee chains of a certain length, since sometimes it's would just throw up very short chains. Might need a deeper rethink for that. The PlatformerRoomChain at least guarantees reasonably longer chains without this approach.
Best,
Matt











