I was dreaming about making one of those deep simulators, like a cooking one. Maybe could be a fun idea!
forloopcowboy
Creator of
Recent community posts
Hey, I'm interested in "trading tests"! I need people to test my Recolonizer as well... And though I don't need recordings, I'd appreciate it if you also recorded it, as it's indeed interesting to watch how others play! I'll try to find sometime to test and give feedback this week/end.
Cheers! And good luck with your project.
What is it with the McLeod's and their generosity with free music?
Jokes aside, I am on an open beta stage with my game Recolonizer, which is set to release in a few months (aiming for mid-2025).
While I have some placeholder sounds and music, I would love to have a proper soundtrack that gives the game a bit of identity as I get to the final stages of polish, maybe even make this soundtrack change with the level state, depending on how much time / budget we can allocate. But I'd go with a simple loop in the meantime to reduce the workload.
For now, I definitely need:
- Theme song for main menu
- Pause song
- UI element sound effects
- 3-5 Level soundtracks (Thematic, so I can repeat them in levels with a similar vibe)
- In the game you defend against invading empires, so I think each empire should have its own soundtrack
The game is currently not funded, but I can pay you depending on what you want to negotiate.
Plus the graphics are a bit low-poly stylized, so I hope they align with your preference somewhat.
If you're interested in collaborating, hit me up contact@forloopcowboy.com
Hey there Zakkujo! I'm currently working on my tower defense game, Recolonizer.
Does this game interest you? I've got some audio placeholders but I'll need to do a full audio pass to:
- Add original music
- Improve sound effects and add missing sound effects
- Potentially add a dynamic soundtrack that switches sections based on the number of enemies on the screen
Let me know if the project interests you, and if so I'll contact you to get an estimate of how much it would cost.
In any case, wish you the best.
Played in-browser and worked well. As a fellow browser-game-developer, I feel your pain. There's always unforeseen caveats with porting to WebGL. But also, similar to you, I just upgraded my project to a newer version of Unity and it fixed some weird bugs with the browser version of my game, Recolonizer.
In any case, good luck with your development, your game is really solid, you'll go far!
Nice work with the character sketch! And great choice with Unity. I've tried Unreal too and it felt a bit overwhelming, both in terms of performance drain and in terms of learning curve.
Also regarding the ranged system, you might be able to solve the issue by manually aiming at the target in front of you (if one is found), and otherwise just throwing it straight forward. You can detect targets in front of you regardless of elevation.
You can do this by parenting a BoxCollider (or any other collider of choide) to your character, making it a trigger, excluding all layers except the one where your targets exist. Also, make it really tall to deal with the elevation issues. Make it as long as the range the character has.
Add a new script to track targets, let's say, TargetManager to the character. This script has a OnTriggerEnter and OnTriggerExit callbacks which add valid targets to a list. On Update() you can pick the target from the list based on some criteria (closest, unobstructed, etc), save it to some variable, let's say GameObject target. Careful how you write this one, because it might have some performance concerns. Make it run on a less-frequent Coroutine if it does cause performance issues.
Then, on your object throw script, you check if you targetManager.target != null and then use this handy phisics calculation to tell exactly what force you need to apply to the throwable to make it land exactly on your target position:
using System; using UnityEngine; namespace Game.ProjectileSystem { public enum BallisticTrajectory { // Highest arc to hit from above Max, // Most direct arc to hit straight on Min, // Somewhere in between LowEnergy } public class Ballistics { public static Vector3 CalculateVelocityToLaunchToCameraDirection( GameObject camera, Transform source, float speed, LayerMask layerMask, float raycastRange = 15f )`{ // aim from camera infinitely far a our target var ray = new Ray(camera.transform.position, camera.transform.forward); if (Physics.Raycast(ray, out var hit, raycastRange, layerMask, QueryTriggerInteraction.Ignore)) { return CalculateVelocity(source, hit.point, speed).normalized * speed; } else return CalculateVelocity( source, (ray.origin + ray.direction * raycastRange), speed ).normalized * speed; } /// <summary> /// Returns the velocity needed to hit a target from a certain position with a certain speed. This 3d vector can also /// be used as the look direction for a projectile by using Quaternion.LookRotation(). /// </summary> /// <returns>The 3D velocity.</returns> public static Vector3 CalculateVelocity(Transform source, Vector3 target, float speed, BallisticTrajectory trajectoryType = BallisticTrajectory.Min) { speed = Mathf.Clamp(speed, 0, speed); Vector3 toTarget = target - source.position; // Set up the terms we need to solve the quadratic equations. float gSquared = Physics.gravity.sqrMagnitude; float b = speed * speed + UnityEngine.Vector3.Dot(toTarget, Physics.gravity); float discriminant = b * b - gSquared * toTarget.sqrMagnitude; // Check whether the target is reachable at max speed or less. if (discriminant < 0) { // Target is too far away to hit at this speed. // Abort, or fire at max speed in its general direction? return toTarget.normalized * speed; } float discRoot = Mathf.Sqrt(discriminant); // Highest shot with the given max speed: float T_max = Mathf.Sqrt((b + discRoot) * 2f / gSquared); // Most direct shot with the given max speed: float T_min = Mathf.Sqrt((b - discRoot) * 2f / gSquared); // Lowest-speed arc available: float T_lowEnergy = Mathf.Sqrt(Mathf.Sqrt(toTarget.sqrMagnitude * 4f / gSquared)); float T; switch (trajectoryType) { case BallisticTrajectory.Max: T = T_max; break; case BallisticTrajectory.Min: T = T_min; break; case BallisticTrajectory.LowEnergy: T = T_lowEnergy; break; default: throw new ArgumentOutOfRangeException(nameof(trajectoryType), trajectoryType, null); } // Convert from time-to-hit to a launch velocity: return toTarget / T - Physics.gravity * T / 2f; } } }
If you're curious where I got this function, the answer is a mix of physics knowledge and some experimentation plus some ChatGPT for translating said knowledge to C#.
If you're curious where I use this function, you can check out my game Recolonizer, which is out now as a browser game on open beta! I plan on fully releasing it to Steam and iOS in mid-2025! It is what drives the direction of the cannonballs, as they are all physics projectiles.
In any case, good luck on your project! Hope this helped a bit :)
My attempt to reinvent the classic strategy genre
Last year I found myself desperately uninspired and looking for a new challenge. So I decided to try to make a full, complete, and solid game, which I intend to release on Steam for cheap (5 bucks?) and on Mobile for free, hopefully soon. But until then, the game is on open beta and playable in your browser for free!
PLAY NOW ON BROWSER
I've always been a fan of TDs, and played way too much Bloons when I was younger. Knowing the rules of the genre quite well, I felt comfortable building something inspired on the classics, but with my own flavour of pirate-inspired thematic, set on a parallel universe's era of the great navigations.
Desperate defense
Defending an island in Recolonizer is no easy feat. You have limited money, and motivated enemies who want to take your land by all means necessary. Worst of all, you don't know where they will come from, and must strategize to defend all approach angles. This game is not for the weak, and will test your strategic capabilities!
But worry not, young pirate. As you fight through the levels, you will unlock...
The short cannon

A cheap, solid weapon, capable of taking on most threats. The lackluster damage is made up by its great mobility.
The standard cannon

A slow, heavy cannon, capable of decent range and good damage. Its weight makes it harder to move, making it difficult to track fast moving ships!
The grapeshooter

A relatively lightweight cannon with decent range, that shoots multiple pellets. Great for close range, but a bit of a gamble!
The rocket launcher
Set sail!
In Recolonizer, you can also build harbors and use ships to form a mobile defensive unit. Once you unlock the Harbor, be sure to come back to earlier levels to try different defensive strategies with boats!
The game is pretty much complete, missing only some content, in the form of new levels and towers... And I intend on releasing it Summer 2025!
If you have any feedback, leave a comment or fill out a feedback form!
Thanks for trying Recolonizer <3
Welcome to Itch! It's full of all kinds of games of all levels of polish, genres, etc. so you're bound to find something you like.
But, since your preferences aren't exactly aligned with mine, I can't give you anything that's that up your alley. But, as others are sharing their own games, perhaps you'd enjoy strategizing and putting together the most optimal defenses to survive an onslaught of pirates in my game Recolonizer (https://forloopcowboy.itch.io/recolonizer). It's quite the opposite of experimental, and not exactly a puzzle game, but it will definitely make you think about how you go about defending your island.
As a developer, I enjoy selecting the same tags as my own game, and going on the Most Recent tab and seeing what other people are making. It's fun to engage with other people's creations, and see at what stages of development they are. I will warn you to avoid downloading executables. Unless I'm feeling adventurous, if the game is not browser playable, I avoid it.
Looks like a great start! Might want to include a nice tutorial, I was a bit confused as to how to move around the menus. The camera also feels like it's rolling on the ground, hitting the rocks. Feels a bit weird lol
Audio-wise. Nice little sound loop too, very sims-like, I enjoyed.
Keep it up, great progress!