Streak Club is a place for hosting and participating in creative streaks.
Made the brush disappear when outside of the grid. Also added draggable UI boxes.
I started an XML template of how I'm going to store level data, but I need a lot of work to have the UI generate itself based on the available tilesets. Lots of i/o in my future!
Hey streakers, this is my last post for a while. I have a few side projects in the works, and some of them are not games, so I can't post about them here.
Additionally, I started streak.club because I was 100% burnt out at my job, and I needed some projects to look forward to after working 12h days. I quit that dead-end job 6 weeks ago, and I am much happier as a result. My new gig gives me time and motivation for side projects. I don't feel like I need this website to hold me accountable, because I want to keep progressing, and I have the creative energy for it.
Thanks for the support, and keep being inspiring :)
I added a bunch of sound effects to the game.
Ironed out a stupid bug that made me think the AI dumber than it actually is. That's how it start, kids, and then Skynet happens.
Anyway, my first AI moves units around as it should, and tomorrow I'll start working on making these robots attack the other team.
Fixed a bunch of bugs with my AI. It's still hella dumb, but it won't make units walk over each other anymore.
Still stuck in AI land. I might have to resort to drinking. Or maybe the other way around, idk.
Also, I've been playing way too many hours of TerraTech.
Not as much progress as I'd want, but I'm taking it easy this weekend. I'm exhausted from the week so I'm taking it easy, and I'm also doing research for a potential new project.
I worked on AI some more, ironing out the system. Integrating an abstract system into a practical game loop never works the first time, so I'm taking the iterative approach with it. Visible progress = happy programmer.
Lots of progress on the AI system, but still nothing to show.
Started implementing a very dumb AI, called Alpha. I was hoping I could get it to work tonight, but I didn't have enough time to write the AI wrapper.
I envision a system where I iterate upon the AI's 'intelligence' through abstraction. In other words, using generic methods that I override on a per-AI-subclass basis:
class AIBase extends MonoBehavior { protected List<Unit> GetUnitsWeCanAttack() { // return the list of units } protected List<Tile> GetTilesWeCanMoveTo() { // return the list of tiles } // methods that children will override protected virtual Unit ChooseUnitToAttack() {} protected virtual Tile ChooseTileToMoveTo() {} } class AlphaAI extends AIBase { override protected Unit ChooseUnitToAttack() { // return the closest unit } override protected Tile ChooseTileToMoveTo() { // return a random tile within range } }
Added panning and zooming to the controls. Not very exciting, but very essential for gameplay. I also fixed the pivot of the new spritesheets.
I implemented the "non-walkable" tiles, which makes the map feel like an actual battlefield, and the ability for the map loader to spawn different unit prefabs.
The gif below shows two new enemies: one that can shoot very far but moves very slowly, and one that does the opposite of that. It's simple and overdone, but it makes the game feel more strategic. At least until I added some real mechanics.
Sidenote: I haven't added the 'anti-friendly-fire' code yet, so any unit can shoot any other unit. I don't think I want to leave that in, but I surely want some AoE weapons, so friendly fire could come into play.
Well, I was hoping to wrap up the collidable/non-walkable tiles tonight, but we had dinner plans and I only had a short while to work on the game. Additionally, I hunted down a handful of bugs that I introduced with the map generation. They were mostly caused by the fact that I was using the Start() method on the units, which was getting called before the map had finished loading, and thus they never registered. Fun stuff.
More gifs soon!
I'm back from visiting my family, so I spent some time implementing map loading. I'm satisfied with the simplicity of the system (for now, at least). I have yet to implement "unwalkable" tiles, but I don't expect much resistance from the Unity gods on that one.
Still away from home, still doing research into TBS games AI. Influence maps are super interesting, and so is this article.
Been thinking about implementing AI lately. I'm away from home for the weekend, so I'm doing research until I can get back to my repo.
This blog contains crazy good iterative information about creating turn-based AI systems, and I'm really excited to give it a shot myself.
So this is far from pretty for now, but I started writing up a map importer. A month or so ago, I worked on xml templates for maps, so I'm going off of those templates and parsing the elements into the game.
Added a couple of UI elements and fixed some more bugs in my engine. UI isn't very exciting, but having a gameloop is important for my motivation. Don't hate.
Added a few effects to the game. Stuff can now die, which means I finally have a real videogame on my hands!
Tonight I mocked up some healthbars (they're just sprites, nothing dynamic yet) and added them into the game. Units can now get damaged, but are still unaware of the whole 'death' thing. I fixed a few bugs with the turn-based engine as well, so that's pretty solid for now.
daily from
Draggable UI boxes are a small thing, but add a huge amount of user friendliness to the whole process, This is looking nice!