Nameless 1st Anniversary quick post

I’m kind of ashamed to even talk about Nameless. I don’t want to delve too much into my thoughts on it because honestly there’s not really much to say that’s positive. Please understand that I rushed development because it wasn’t worth investing more time into it because people were not interested at all in it. I know it’s disappointing to anyone who was eager to play an incredible game, as was I. But I just lost all morale when it became clear that people were not interested when I tried to crowdfund it in the past (it didn’t reach it’s goal).

I will still try and put it on sale when appropriate and just hope that people understand that it is inherently risky for them to play a game like it as I don’t think many will really enjoy it. You might think that I should just “fix” the game and all of the problems will go away. But to “fix” the game would basically involve throwing out 2 years of work and redoing everything.

I feel that in today’s day and age of highly polished, high expectation software development, a lot of those highly awarded games start to become a bit “artificial” and “factory made”. I say this in how you can compare a real painting to a digital painting. One is very real and tangible and has mistakes, while the other is robotic and cleaned up. I say this because, Nameless is like a real painting, it was not made to be perfect and is a very “human” game.

I just want to say I’m sorry to the people that were eager to play this game, hoping that it would have been the next best crowdfunded game but were disappointed by the final result. I feel that development was extremely mentally draining and morale was pretty low (albeit similar though a bit worse than Frog Hop’s development).

I feel that Nameless truly suffered from comparing itself too much and didn’t really have a clear identity (which is funny because the main character kind of represents this). It simply tried too hard to be like Earthbound, Undertale, Hotline Miami, but in actuality achieved a result that did not represent any of those. In some ways, Nameless resulted in a reflection of myself (More so by the feelings that are felt in the game were what I was experiencing). I wish I didn’t try to outshine those games. Undertale was obsessed with itself to the point where it knew it had a huge following coming and would hide secrets knowing people would find them. In Nameless I worked hard to try and implement easter eggs and all sorts of endings to try and match it. But frankly it ended up being pointless because there wasn’t really anyone there to play it and explore it all. But, uh…I’m not gonna talk much more about that.

A sequel would be incredibly unlikely, so unlikely that it will never happen ever. But because it’s fun to come up with game ideas, if it ever did make a sequel, I probably would make it:

  • Drastically more focused on being consistently light hearted and funny, no more edgy, weird sensitive topics.
  • Removal of moral decisions (because frankly killing and sparing was not interesting at all, period).
  • Just make a shooter with deeper mechanics and abilities, maybe upgrades.
  • Remove gimmicks like the mini-games, money system and store.
  • No more 4th wall breaking gimmick nonsense, that stuff gets old fast and wasn’t at all interesting.
  • Would probably be shorter, arcadier, bite sized fun game without all the pointless dialogue (but would keep the funny dialogue).
  • Much less story focused, but still have some kind of simplified narrative.

Thank you for reading through this, I know it was a bit heavy and depressing. I sometimes feel anxious with my current game Ato , but at the same time I feel I’ve learned a lot from the past to make my current project Ato at least a little bit better than last time.

I know I’m not one of those people in the web articles where I’m a legendary 5 year old game developer who makes his 1st game that looks like ori and the blind forest that sells millions of copies and gets all sorts of awards. Nameless is not perfect, please understand that it is very much like a real painting, presented as it is in its flawed and real state by a human being who is still learning to get better at creating games…

…Just know that Ato would never have existed if Nameless never got fully completed.

I am not going to promise anything with Ato, I can’t even guarantee anything until it’s done. Just know that when it reaches beta, I will need all the help I can get.

Thanks for reading,

-Brandon

 

Why I like Goldeneye (and the veil of nostalgia)

Hello gang, today I’d like to talk about my experience with goldeneye and why it’s one of my favorite games of all time.

Goldeneye is an old and outright janky shooter that when played on the n64 controls weird and gets really laggy. However…I found out a way to play it with mouse and keyboard at 60 fps and it’s such an incredible experience. In fact, it was so incredible that I almost felt like I was playing a mod of half-life.

goldeneye’s source material is based off of a well known movie and book franchise – call of duty.

But why DO I like goldeneye? What is it that makes this golden boy game so good to me? As a whole with nostalgia aside it’s pretty mediocre, there aren’t really any new mechanics or engaging gameplay features that are added to keep it interesting. The enemies are pretty much the same and the guns are honestly pretty stale in variety. With that out of the way, I will say that the funnest aspect for me would have to be the level design and the enemy AI.

Level design

Most of the level design in golden guy is really good, like it starts of linear, but opens up *just* enough to let you at least explore a bit and shoot stuff and find equipment. (Although I would say some other shooters like half life or doom do it better because there are more actual pickup types to obtain)

Enemy AI

Now the enemy AI, is a fine example of good shooter AI. Unlike most shooters of today, they actually animate a startup and recover animation to their attacks. basically, the enemy will see you and bring his gun up, THEN start the random hit scan shooting, THEN they start to put their gun down.

(“Hit Scan” is a special type of “bullet” in video games where they instantly reach the point of contact when shot, meaning there’s no travel time. Usually this is balanced out in games with bullet scatter randomness and other features.)

tldr:

  1. Start Aiming their gun at you
  2. Shoot
  3. Put the weapon down to then repeat the process.

or rather the better version is

  1. start aiming their gun at you
  2. ???
  3. Profit

This is SO good, because you have time to react and it’s completely fair if you get shot since they are telegraphing their movements. As derpy as the enemies can be in golden boy, this design is honestly something I wish more shooters would go back to and stop doing the cheap instant shooting RNG hitscan nonsense.

(Of course goldeneye enemies sometimes also do cheap/questionable things though like that one animation where they’re walking and shooting their gun towards you and somehow have an absurdly large ammo clip during that attack.)

Another thing to point out is that frankly the enemies in goldeneye are pretty stale, in terms of depth and variety. I think what barely keeps this game going is the fact that there are so many different animations for when enemies get hit that it’s compelling enough.

Basically…if you’re in development crunch time, just have one basic enemy with a lot of different animations and uh…I suppose it’s enough?

Random thing to point out, in my opinion death animations of shooters like modern warfare 2 feel better to me because they have a quicker “pop” to them and instantly respond to your shot vs goldeneye having to startup it’s animation. (not really a problem but I find the pop feels better in games like mw2)

The weapons

The guns, the guns are okay, though there is a weird delay for some guns and honestly, the pistols of modern shooters like Cod4 feel so much better than goldeneye. But that aside, the hit impact sound and fx feel good enough and work well for making the gunshots feel responsive in goldeneye.

Objectives

Probably the aspect that is least interesting to me are the objectives, especially the ones related to escorting/protecting AI or having to trial and error my way to get the goldengun, etc.. I think objectives in games are a tricky aspect to keep compelling, the best example I’ve seen for objectives would have to be Starcraft 2’s campaign levels. they do an excellent job of providing a base line goal to complete, but also provide side challenges that motivate you to accomplish more to get better rewards. I feel that if I played goldeneye now the objectives probably would have frustrated me and I wouldn’t have felt as compelled by them vs when I was younger and was way more graceful/patient with games.

The only reason I might sometimes have the bias to say “oh yeah the objectives feature in goldeneye were awesome” is because I already know how to do them.

Conclusion/Final Verdict/Final Destination

Now it is one of my favorite games of all time yes, but the veil of nostalgia only lasts for so long with this golden guy.

I feel the fun starts to drop off though once bunker 2 ends. For me statue and the latter start to lose momentum and there are no new mechanics, no new things to do, and it mostly relies on showing a new gun that shoots just slightly different in hopes that it still feels fresh (or some objective, but as you could probably tell the objectives didn’t really compel me that much). Most of the levels in the later half feel redundant and lack that brilliant flow that some of the earlier levels have. Of course to each their own, I do still enjoy some later levels like depot, archives and caverns, it’s just that some missions like streets/statue just feel kind of repetitive and don’t have as much of a clever layout to them IMO.

The length that the game is feels appropriate. I honestly can’t imagine it going for longer than what is already there. Most guns that are introduced aren’t really that special, like the ZMG, really it’s just a Klobb, but it shoots faster?…and does more damage…ehhh….

I feel that if shooters of today are going to make guns, please make them different instead of just “gun x” shoots faster but does less damage that “gun y”. There’s a reason I feel why arena shooters like doom and quake have much more compelling variety to them.

All in all, I still like goldeneye, it’s still one of my all time favorite video games, and I’m still willing to criticize it. I know there’s the argument of “well at the time it was revolutionary/ground breaking”, But I still can’t help but compare how some mechanics/features are funner and worse in old games compared to modern ones.

Maybe I should compare this to perfect dark one day, after all perfect dark is the spiritual successor, but why didn’t it click for me?…hmmm maybe next week I’ll write on that.

Thanks for reading,

-Brandon

p.s. Enjoy watching this clip of bond never running out of bullets

Looking at…Xenogunner by HappyFrogGames

Howdy gang, let’s take a look at another one of them videogames.

XENO GUNNER

Xenogunner is a game jam game that features boss rush elements with mouse aiming shooting mechanics. It’s has vibes reminiscent of genesis games like Gunstar heroes and Alien Soldier. …and call of duty.

You can get the game jam game here at itch.io

The game apparently is being developed further to feature more levels and fleshed out artwork. which is great because the game is pretty fun and it’s great to see fun games be developed.

Thanks for reading!

-Brandon

 

 

 

 

 

 

 

 

 

 

Xenogunner apparently is still in development, I’m not really sure what the status is on the whole project but you can see some improvements that get tweeted by Pedrovin, the main artist for the game. Happy Frog Games seems to still be developing it while also cranking out smaller games on the side. I hope one day we will see this boy come to life and “xeno gun” all the baddies one day…one day.

The video below shows more of the game, it seems like they’ve been really trying to make the levels have more obstacles to them so you can’t just blitz through it all unless you know what you’re doing. Also that announcer voice…sounds so ExCiTe

I think my greatest concern is whether the shooting itself won’t be super repetitive, especially when there’s little reason to not hold the shoot button (unless there are enemies in the game that counter that or there’s some sort of other incentive). Though I will say from my own experience when I designed Drone Strike, I questioned the aspect of a fire button in shoot-em-ups so I just made it auto-fire and whenever you hold the “Shoot” button it instead is a charge attack.

In Dronestrike, the shoot button is replaced with a charge attack button and you always autofire.

Regardless, I think Happy Green Frog will do a good job with handling that and also provide new weapons to use to help with balancing and keeping the game interesting.

Thanks for reading!

-Brandon

p.s. And take a look at this, who knew games had to start from scratch in order to become what they are now!

 

p.s.s.

Happy Green Frog responded with some answers to some of my questions, huzzah:

1. The status of the upgraded version of the game is that it is nearing completion. Release date is still uncertain, but it’s been playtested a decent amount, it has cutscenes fully implemented, most if not all of the graphics are done or near-done, there’s one boss battle I want to refactor a bit but it’s not strictly necessary, and from there it’s up to my publisher.

2. To answer the question of whether there’s ever a reason to let go of fire, one of the more powerful weapons has a really low fire-rate, and, without spoiling anything, some bosses move in ways in which it is ideal to wait until you’re sure you have a shot lined up before you fire. Suffice to say, manually pressing for a bit to fire a volley of it, then letting go for a bit to wait for the next good chance to strike, is, in a few boss fights, a good idea. I’m not 100% sure that it’s a sufficient way to keep the shooting from getting repetitive, honestly, but it’s something at least.

3. The old levels have indeed been updated to have more obstacles, first level aside. Additionally though, there’s a large supply of new levels, expanding the game well beyond what the GameJam version featured. If memory serves correctly there’s a fair bit more than 15 all new bosses to fight. (I think the total number of bosses, including the old ones from the GameJam version, is around 25?)

4. Some fun trivia: The voice announcer was actually me! I recorded that voice clip myself.

5. “Xenogunner” actually refers to the main villain of the game, which does make one of the lines in your article a tiny bit odd (but still kind of works overall), mainly the “xeno gun” but.

Ato Progress Report September 2019

Hi ho gang, just want to give an end of the month update on what has been done.

Launch Animations Code

Added more variations to launch animations, nothing huge, but took the extra time to have a bit more variety when they get hit by certain attacks.

And while I’m still cranking away at the last area for endgame content, I might as well show this environment art off

(not related to endgame)…

(also not related to avengers endgame)…

(also not related to ender’s game)…

I spent a bit of time adding more frames to the run animation, perhaps if I have extra time (which I generally don’t) I’ll see if there’s any other animations that can be smoothed out.

and who knows what else i’ve been working on…

(TLDR) Comphrehensive list of things completed:

  • 3 environment art assets made (just need to actually MAKE the levels and then decorate with these assets)
  • Encounter added
  • 1 Area completed (1 more left)
  • 20 Rooms added
  • Decorated area 4 with new assets (not related to the assets mentioned earlier)
  • Footstep sounds bass levels reduced
  • Cuttable bamboo
  • More launch code animation work
  • Cornucopia of bugs fixed (and plenty more to come)

I still have 1 more main area to complete, after that, I’ll spend some time adding side encounters (including that backer boss), fixing endless amounts of bugs and important features like menus, map system, extra decoration work…and plenty more…man the work just never stops piling on does it?

Thanks for reading!

-Brandon

Old Game Maker’s Apprentice Games – Pyramid Panic

Hi gang, sorry for not posting last friday (though honestly there wasn’t really much to talk about other than that Ato is still coming along…zzz)

Although it’s not like anyone really reads these because I don’t have 1,000,000+ followers and 50 million likes on my ebaumsworld and I don’t make enough money and I don’t-…yadayadayadayada-…

Pyramid Panic!

Escape the evil tomb of Rah! Collect treasures, like magical gold scarabs and the legendary sword of Rah. Avoid the enemies and score big big big cha-ching…????…????…………………????…

Download (windows exe)

It does not contain viruses, it was made in Game Maker 8.1. (click Start to play)

Controls

Arrow Keys – Move

Z – Use Scarab, scares mummies and makes them killable

X – Activate Sword

There is only One Level. I think there’s a time limit too

Insight

GMA taught me about making something cool…

This game can essentially be considered the final culmination of everything that has been learned from The Game Maker’s Apprentice book.

The biggest thing with this game was learning to take all of the different design elements, like pickups, enemy types, special abilities and combine it all to create a more fuller game experience (even though the experience may be short).

Movement system

Some of the biggest aspects that I remember the tutorial emphasizing was the grid-based movement system, much like old school RPGs where you’re locked into a grid even though there is movement. Essentially this is achieved (at least in the tutorial way) by initiating a variable, let’s say “canmove=true”. if we’re in a part of our grid that when rounded down makes it a whole number, canmove is set to true, however when it is not, then it is false.

if x mod 32 == 0
{
___canmove = true
}

The first if statement makes sure we are in a 32 rounded position, so every 32, 64, 96, etc spot on our grid will always work no matter how big our room is. (modulo essentially is just divide, but instead gives us a remainder value (super useful!))

When canmove is true, we can then have it check for an input, which in our case is one of the directionals.

if canmove == true //(we are still and awaiting to press a movement key)
{
___speed=0

___if keyboard_check_pressed(vk_up)
___{
______canmove=false; direction=90;
___}

}
else //(we are moving and cannot press a button until we hit a grid spot)
{
___canmove=false
___speed=1;

___if x mod 32 == 0
___{
___canmove = true
___}
}

This code might look complex, (though honestly this is a really tu-toriel (I’m sorry) way of doing this) but basically, whenever we are moving, we prevent any inputs from being read and still keep applying speed. However when we are in a rounded position, i’ll take the same code as before and make us then stop moving, allowing us ot read our next input. Obvious I cut the input section short (keyboard_check_pressed) and didn’t wright inputs for left,right and down but I think you get the idea…

I won’t go too much in depth, but there were other mechanics like the lighting system, scarab power, sword ability and (to me the most intriguing one) the mummy AI.

Lighting system

I think the lighting system was using a sprite of a circle, and we ran some fancy code to mask out a hollowed out circle, so essentially we made a cookie cutter template and instead the dough covers our screen and we made a round hole in the center. A pretty decent way to get cartoon platforming transition effects as well.

Scarab and sword power

Not gonna go super in depth here, the scarab when touched, adds +1 to a scarab counter for the global variable.

global.scarabcount += 1;

and if we use one we check to make sure we have one and just remove it from our inventory.

if keyboard_check_pressed(ord(‘z’)) && global.scarabcount > 0
{
___global.scarabcount-=1;
___alarm(0)=300; //activate our scarab ability timer!
}

The sword is actually very similar, except it tracks gold and is based on a held input state. The only different is I think it swapped a larger circle sprite for the light mask.

MUMMY AI

Hoo boy, I can’t really remember too well how the mummy AI worked, but I can still give my own insight as to how I think it was coded…

Basically the mummy object has 4 different states, “wander“, “search“, “chase“, “flee“.

When it is in wander state, it will just randomly choose a direction to move when it’s canmove==true. (see how it comes around again?). if it wanted to move into a direction but runs into a wall, it chooses a different direction. Now if we use a special command called distance_to_object(obj_player), we can grab the range from which the mummy and the player are and use this to change it’s state, which if it’s senses we’re nearby, it enters it’s search state.

When it is searching for us, I think it speeds up it’s movement slightly and will generally favor moving in a direction that could be towards us based on randomness. I believe if it happens to roll the right number when it’s canmove is true, then it’ll choose a move direction that would likely move it towards us. Which I think it also uses a direction check to then decide which way to go since it only moves in 4 directions.

Now for the mummy to enter its chase state, we need to use !collision_line(x,y,obj_player.x,obj_player.y,obj_block,0,0), this simulates vision for the AI. Don’t fret too much if this looks super complicated, all it’s trying to do is check if there’s a wall between itself and the player. obviously it wouldn’t make much sense for it to see us through the walls, so we use this function to check for that. Combine this with a distance check to the player, and if it’s close enough and there’s no wall between us and the mummy, the mummy will chase us! Oh noes!! Now it tries to choose directions that will likely move towards us Aaaah!!

uhhh…okay…

So what about the fabled flee state? how does this happen? How do? What do? How is? Why was? Who could? When should? Who what where when how?

So whenever we activate our sword ability, we run some code to tell all mummies to enter flee state and set their flee alarm to a certain value. From the player’s side this is what it might look like…

if keyboard_check_pressed(ord(‘x’)) && global.goldcount > 0
{
___global.goldcount -=1;
___if instance_exists(obj_mummy)
___{
______with(mummy)
______{
_________RUN LIKE HELL (you get the idea…)
______}
___}
}

This code snippet just simulates what it might look like (again this is just tutorial level coding and not advanced Einstein rocket science elitist code).

Anyways that was definitely super technical and anime, but I hope maybe this gave you some insight as to how some this very last Game Maker’s Apprentice game was made. As you may know, this was only the stepping stone to bigger and more challenging prospects. I hope that by sharing this, you’ll see that I came from a background where I had absolutely no clue how to program, I didn’t understand how to logically code/script games and through carefully studying tutorials and open source code, it eventually got me to where I am today…

…a guy who still makes games and isn’t making any money

A guy who can make teh vidya gabens.

I will likely continue sharing my old works, abandoned projects, test code, game projects I studied that I learned from…you name it!

Hope you enjoyed the read!

-Brandon

www.tinywarriorgames.com

Youtube

Twitter

Discord

Looking at…Gun☆Cat by Team gun cat

Hi folks, this’ll be another one of them there looking at games posts.

GUN CAT

A top down 3D shooter by some indie developers…that was cancelled years ago. But I might as well share it because there is a demo…somewhere.

It’s kind of like Nameless but artius turns into a cat.

 

(I don’t think that music was done by them)

Project Gun Cat has some pretty good modelling work, art and animation.

I mean, look at that…alligator clip enemy!

 

 

The story apparently involves you getting stuck in some shady game show of some sort? I’m not really sure to be honest, but really I would assume most people were intrigued by this project mainly for the characters, art, animation and gameplay. Apparently the main cat can’t actually use magic so they use guns as a substitute for that.

 

 

There’s some charming visual effects they create, I think in this example the flame blobs are hand animated, then spawned in as a plane, what a way to go. From what I’ve glanced on the project, it seems to be inspired by several games like Klonoa (artistically?), Spiral Knights, and ….call of duty…

 

I mean Pikopik was even nice enough to post their top secret complex nuclear launch code math formula to make that sun object squash and stretch…just like my life…it squashes and stretches…(wat)

I went to nostalgia town, cringed a bit. But then found this old pixel art I did of an anime slime waifu character. kawaii no desu?

I went to nostalgia town, cringed a bit. But then found this old pixel art I did of an anime slime waifu character. kawaii no desu?

Notice how that formula can even be used for other games…like a 2d game! imagine…a slime bouncing around and adjusting it so that it’s weight x height = volume. so then…uh….

if i wanted to stretch my spooky slime sideways, id uh…um…

width = 2 (instead of 1)

height = 1/width?

…I’m not even sure that is correct, you can see that even I am not 100% sure how to do maths and yet I still make games. how lame.

…or is it width = 2/height?…wait how do i make this flexible and easy to code so i can adjust these on the fly…wait then i think that’s not right…um….im not sure, maybe i gotta test it out…eh but seems possibly correct…but yeah not sure…because how do i make the maths adjustable…especially when i use different scaling variables for things like facing direction and even damage flinch…uhhhhhh….????

The game oozes charm with a really interesting UI, I’ve always pondered on how to code a rounded circle bar for UI (though honestly I prefer a straight bar for readability).

 

 

 

Oh yeah, this is game development after all…so there probably are posts on bugs they’ve encountered…

 

 

Bugs are a what you will spend 95% of your time fixing when making games, have fun!

unfortunately, I’m not really even sure what exactly stopped Gun Cat Kun’s development. It’s clear that the developers have split, I’ve read that something happened to one of them and then they couldn’t continue without them…but it’s extremely ambiguous to know for sure, that’s the internet for ya.

Anyways, perhaps one day you too can fight forest fires like gun cat. Gun Star Heroes Cat is a great anime. highly recommend.

-Brandon

Old Game Maker’s Apprentice Games – Tic-Tac-Toe

It’s a me a brandon letsa go.

Tic-Tac-Toe

tic tac toe

It’s tic-tac-toe

What else is there to say?

Download (windows exe)

It does not contain viruses, it was made in Game Maker 8.1.

No but really what’s the deal with this? Why would I make such a deep, intricate and complicated game from following the Game Maker’s Apprentice tutorials? If I recall correctly, this segment taught me about using scripts and A.I.

Scripts are useful files you create that can help streamline things like duplicating huge blocks of code for more redundant functions.

Example: In Ato, all enemies share the same “launch” state, which means they all pretty much use the same state script to make them properly have the same rotation and behavior. By using a script I don’t have to copy the same huge chunk of code and possibly risk human error.

Scripts are simply a means of giving you power to organize your code and create your own functions for doing stuff like position checks or A.I. behaviors, etc.

Frog Hop had a gigantic (and terrible) script that checks whenever you collide with an enemy and then goes through a list to find the one you specifically collided with to check for things like their attacks, if they’re protected, special status etc.

Frog Hop gameplay footage.

Frog Hop gameplay footage.

In terms of A.I…

A lot of my games like Frog Hop just have the A.I. utilize timers to change their sprite and attack timings, sometimes they have collision rectangles if you’re in range of an attack. Things like running into a wall also have to be checked for turning around, especially depending on the animation (because if you had an enemy turn around when touching a wall, you’d have to turn it off depending on their animation such as an attack (otherwise they’d flip back and forth while attacking).

The A.I. in Nameless get a bit more complicated with using path-finding from the A* Algorith (A Star). I’d have to check if they have vision of you and if they don’t, they rely solely on the A* pathfinding to navigate to where they last saw you/where they heard a gunshot. I’d say the A.I. in this game was a bit more complicated than Frog Hop. Since there was a lot more to check in terms of going into certain states and exceptions when stunned or hurt. Actually, probably the most difficult part with coding this A.I. was actually their dimensions, since most top down games have characters with even dimensions vs having tall sprites.

nameless AI

Now if you want to marvel at complex A.I., take a look at none-other-than Franchise WarsProgrammer, Austin Huebner did an excellent job on the A.I. when it path finds it’s way through the map and check for things like properly positioning itself to attack. (The example below does not demonstrate it but uh….yeah)

Franchise Wars

I can’t really remember too much about the Tic-Tac-Toe AI other than that depending on certain circumstances it picks a random spot sometimes to at least simulate human error, otherwise if it knows it can score the last point it will go for it. So basically it’s designed to be extremely smart and make the best move, but randomness is also applied and will sometimes make a dumb move (if it’s not a winning/blocking move).

Tic Tac Toe can only go so far with A.I. behavior (which is probably why the tutorial wanted to teach it through this game type). Since really if you wanted to make the A.I. super easy, you’d just make them make really stupid moves that don’t block, don’t line up or give them a chance at score (or just make them purely random). And to do impossible difficulty you just remove the randomness.

enjoy,

-Brandon

www.tinywarriorgames.com

Youtube

Twitter

Discord