Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics

Dust: Battle Beneath - Roguelike Shooting Platformer (Some nice developments)

A topic by Gunroar created Aug 10, 2021 Views: 534 Replies: 14
Viewing posts 1 to 15
(6 edits)
Game at a later stage

Hello all! I'm here to share the development process on my game, "Dust: Battle Beneath".  A roguelike shooter. Like spelunky (not really) but with bullets (spelunk has guns and bullets actually but...) ,yeah! I've already started on it a little but I'll still post screenshots on how it was in the beginning.

Player's joining a local game


Dust: Battle Beneath is a 2D sidescroller shooter roguelike . It had local multiplayer over wifi, a bad tutorial and offline training with bots. In Dust you have to change your bullets and build to win. It's planned to have online multiplayer through p2p and the main game is going to be a roguelite. 

So far it has some roguelike levels to decend and traps and enemies and fun! Yeah! Let's party!  game is designed for android and PC. The game can be tested here. Any suggestions or opinions are welcome.

Features at time of writing:
--a little buggy bots
--bots with "personality"/physical traits and special names
--desktop support
--touch support
--key configuration
--different bullets and blocks, like flying bullet and iron blocks
--character customization
--half baked tutorial
--local multiplayer over wifi

In the beginning there was only dust until one star appeared and started to lay foundation for the entire underground.

This isn't the actual story by the way :P . The game started with me testing around movement and all I had that time was a star and a messed up underground. Borrowed art(anything I found in my file explorer) was used at this stage before the dust was shaped.

Star moveth around with buggy world

Oh star, how you moveth in the dark void

The dust was molded into caverns and dungeons. Empty places for battle to begin in its simplest form and thus we have...

Testing-testing-123 . Checking spawning crates and messaging, and there is a gopher. The first of his kind.

As you may see, blocks can now be gotten from crates. And the map is just a sqaure. Soon we will see how I come to...


Stay tuned and see you soon!

(2 edits)

I'm back with another segment, and I'm still at how it was in the beginning

At this point I was testing explosions at 11fps -_- . We can see that the map has tunnels and the like. If you look over to the darker walls you can see that the world had not evolved to its own assets ...for that is the dirt image from minecraft. But it has not been in vain! The star of creation did not come here to lead this new found world into a place of nonchalant ground! No!

This picture actually comes after all this

I've made my own chibi assets at this time(my own quick and dirty assets, I use chibi to convey my feelings). Here there is now a bullet and block UI, and the gopher looks like a dirty dwarf. It has to much darkness in its heart!. Actually what happened is that I changed the colour to red when the origional was brown to test whether colour can be changed easily but no...

current gopher(?) sprite

...and guns!

At that time I fixed the wall graphics(light brown ones) some more. Then I purified the gopher sprite (made it white) so that it can have colours easily. I also added experimental hats. I don't have all the images for this because at that time I didn't think to take images but I do have:


Yikes. Anyway this is what it more or less looked like:

we're getting there!

The star of creation has seen it unfit for lower beings to know all that happens in the world so it has implemented FOV! Cool...I guess πŸ˜’. FOV is optional. That arrow points to a block crate that spawned.

The player is now white, but is coloured brown, so now it can be coloured all sorts of things. Red, green, banana...Hey, don't tell me banana isn't a colour :( .

The pictures resolution has also increased here...looks fine...I hopeπŸ˜€

Moving on boys and girls...Now about these crates. I redid their graphics too(it was just a picture of half a door from minecraft before). I also added a health crate and was in the process of adding turrets. Let's see...

me also testing experimental graphics. The turret looks in good shape😬 No it doesn't...

The health crate is shot at to get health. The more you shoot it the more health you get and the more damaged the crate gets. Innovative, right 😐


Now, the great start noticed a void surrounding the map and to prevent the falling of the entities of the underground the star implemented a wall!!

Cleaner joysticks.The right is for shooting. The arrows by the right joystick are for placing blocks to build! Indestructible grey stone is under the player while it struggles with a lot of dust, and battles to go further beneath. See what I did there 😌

There is also now a camera and pause button. Yay! All those debuggy stuff is gone. Yay! But what's the point? Yaayy...wait a minute! This is training! Test your skills! Build! Jump!... Before sticking it to the man with your gun! ...Yay?

Fine! Fine! You want others? You want bots that sing and dance and clap your cheeks. You want to see where the multiplayer aspect is, huh? Well, next time (and for those reading in the near future they just have to scroll down...cheaters), you'll see...😠.

Next time:

Baby Blue...boy's style!

Stay spooned-I mean tuna-I mean TUNED. Honestly... this keyboardπŸ˜’

(2 edits)

OOKAY, so around now it seems that my past self was trying to do the main menu.

How doth it look?

So that wasn't very popular, I decided to use this as my final menu:

It seems like I just started having fun around this time:

Me playing-I mean testing large maps.

Crates-crates - are everywhere ~~~ But no fps to spare 🎢

I have to many of these blue screens of death

Atleast I accomplished some polish in the menu. The game loads with an opening chibi cutscene!

Now, my past self, for it is the wish of the first star, will be working on bots!

A player and a bot , both called .na. poop, stand in a buggy field... Something must happen!! -Dan dan-

 Well, that's all for today...Don't feel sad, what I just posted was -like- a month's work -_-...for my past self. πŸ˜€

Next time:

the what!?

So, play runedd! Dang it! This peyboard 😬!

By now I had implemented different bullets. The one on the following is a bouncy bullet. But how dry can just shooting get with no effects. Well, I decided to add a short line-trail to the bullets.

There it is...

After that I added a spark to the nozzle of the gun when a shot is fired:

It looks better than that, I assure you 😐
Okay, if you look closely you can see a red streak at the bottom right? What's that about?

Well when anything(except for tiles) get destroyed they emit chunks of debris. Players emit red and the colour of their avatar coloured debris . But now I wanted blood to spraaaay(spray) across the walls when a player dies. Well it wasn't thay easy. First I tried to just copy each debris as it flew , each time step, to a table. It...wasn't very effiecient. That's like thousands of debris each second (30 fps) (or 30 fps x 15 debris dropped x 10 life span of debris per second -> ~4500 new things to draw every second).

Seems like it didn't capture all of states of the debris, even got some unnecessary ones crumbling on the floor...
So then I decided to make the debris not collide with the walls and to draw lines connecting the two states of the debris instead of just dots.


A little bit too much because the debris was moving too... fast?  Well slow it down and only make it appear on walls and we have:...


I decided to reduce the interval in which the lines were drawn giving them more of a curve but taking a little bit more CPU but better...

Let me take this chance to also display...*raw* graphics mode. Tiles without textures. I wonder if it's nice? Anyway, it's an option...

Currently the blood is implemented though doesn't work well in fog of war. (The streaks are stored in non-background tiles and they're longer than the tiles so I made background tiles draw after them to block out the lines, but I can't do that in fog of war for ... some reason). I'm thinking to remove the blood streaks...Is that okay?

I also tried checking whether drawing on background is better than on walls:


Didn't really make sense because the way I implemented the streaks make it go through walls...

Then I tried on both...

Blgghggrh :P 😧

Okay, we're coming to an end. But as a bonus there was also this one time when I tried using the colours other than red, so that the character who died would be known.

Yeah, I guess it kind of looked like bird poop sometimes -_-.

Well that's it for this issue. It seems I'm getting closer to where I currently am in development...

Next time: character customization, errors and a surreal blworld. Dang it! This keyboard is acting pup againt!

Quibly! Betore if disgraces me! 

Stay turned! I pid it! Oh,!!!!!!! >:( 😬😬😬😬

It seems I've been a little bit more busy on the coding the campaign currently

Camping!-I mean campaign!

It seems I have promised errors:


I also promised ... lets see here...memes!

Oh, wait, no. Settings and character customization with hats and different colours! From the colour of your gun to the colour of your tum tum!

Man, that was really hard. Even now the hat to face alignment isn't perfect. πŸ˜₯

Now you can choose whether your mouse clicks shoot when you play and you can change the controls. This was about the time where I was implementing desktop stuff.

(Todo: change "Controls..." to "Key Maps" or "Key Config")

Speaking of key/controls configuration:

There it is!

Wow, from tracing back errors to character customization! That was a lot of work...Really! 

I guess I'm done for today,see you next time on ... EAT .. THAT ... M--oh, sorry, wrong place.

Next time: Whateber the star sees fit. -_- seems that I'm pretty up to date in this devlog, though I've missed a few details like the endless struggle of fixing bots and the triumphant victory of getting multiplayer to work! Almost quit so many times and did other projects. It seems there's always a side project I'm doing at the same time as this but it never lasts and then I just do this again 😯.

So now, I'm actually doing work. Got to revamp the controls and fix the bots. They can now build walls to defend! YAY! 

A while ago I started implementing the roguelike levels aspect and started added special rooms that have turrets at the corners and invincible walls except for one opening, so the player can only go through it on one side. It was okay! πŸ˜ƒ Then I spawned a bot and saw how it did in pathfinding, since it wasn't on the same team as the turrets it went to shoot at them which caused LAG! I could have just left the lag and changed the team so the bot won't look for the turrets again, but that's terrible because it's pazy and then there would be a problem with companion bots you meet along the wayπŸ˜‘... So I had to thinkπŸ€”.  

It turned out that the bot was having trouble finding AN IMPOSSIBLE path becausw the turrets where ontop of indestructable walls, so I removed the indestructable walls behind the turrets. That was dumb of me, but atleast the solution was easy. Imagine if I left it! Yeesh 😰! It would have come back to bite me...hard. 

Here you can see a room like that. It has crates inside. The green colours are the path of bot. Debugging.

So I will continue to improve bot AI and these rooms. See yah!

Next Bime: An emotional segment!😭

Well, heklo there!

Been very busy with this.

It seems that I fixed my menu a long time ago to be more ... clean?

*Cliin* What do you think?

So, something very emotional has happened with this game ... and 😣 it is

Emotions in the sprites! Ain't that great 😭

So, the player sprites change emotion depending on their current situation (low life while being shot at=cry, making a kill=evil smile, barely escaping=uncomfortable smile), but they still need work. I need to add more conditions for the emotions and right now emotions only change when the player/bot gets shot. Maybe I should add emotions to the turrets! πŸ˜€ Nah.



This game can be tested at its "current" (buggy) state here:

Next time: Something in the forgotten ages (It seems my keyboard didn't trouble me this whole post, not from the start! Atleast I hope so...)

Hello, blonkoids! (Blonkoids? WHAT?)

Today I did a lot. NOT LIKE I DON'T DO A LOT OTHER DAYS, I just fix bots and the campaign while doing other things.

Today I have made the bots able to spawn in a level in the "roguelike" campaign. Now enemies spawn near-ish to the player and the spawning is handled by an intensity counter, which counts the current intensity in the level; and if the current intensity is smaller than the total available intensity then an enemy(ies, sometimes more than one, like 3 goons) of a certain difficulty(intensity) that fits total minus current is spawned πŸ˜€.

So the harder a level is the higher it's intensity. All level data is in a "lua table" so it's easy to make, and I might make it moddable though a lot of people might not really care :P .

But what I spent +2 hours of my normal life doing was not this simple, foolish (not foolish-sorry-please don't error or give me an unfixable bug) task! I was redesigning...


...player sprites!

How does it look...? *Sigh* . I personally like it. The reasons I changed it were

1) Needed a replacement: The origional was meant to be a place holder, made quickly and dirtly. It was overstaying its welcome.

2) Different shapes for background and character: One article (gamasutra I think?) about art said meanings of shapes in art, blah, blah. Square is serious(like a knight), triangle is dangerous(like bowsers shape?, that's what they said) and circle is innocence/playfulness(mario, kirby, etc). But that's not why! The article also said that it's good to mix 2 different shapes forbackground and the character to create a...clashing...effect? Well, it made sense. A circle in a triangle world, Frodo in Mordor(which, at time of writing, I haven't even reached. Yes I want to read the books first...kind of. I already finished the hobbit and the first lord of the ring book so...yeah. 2/4 I guess),etc. So now I had a blocky character in a blocky world 😐. CHANGED.

3) Wasted resolution: The origional is*256 pixels. It was scaled up so I could add emotions and hats easily.

4) I'm sure there was a fourth reason...BLGGHGGRH!

NOW I NEED TO DO AAAAALLLLLL MY HATS ALL OVER AGAIN. But that's not that much. I'll see how it all goes down.

Anyway this is how it looks in gameplay:


Yikes! Well that was me tweaking the size. This is what I actually first got:

Still needs improvements. Maybe lower the gun and redo the hands? I hope it looks fine.

I also checked up on a "comic" style I implemented a while ago but decided to not do, well now I think I'll use it. Maybe the reason I didn't want to use it was because it made the game run slower on mobile but now I mean to release it for PC.

How you like that? Well it was a liiiiitle too thick, especially in comaprison to the player so...

Veola! (Viola? Voila? Wala...?) Success!

That was a lot, don't you think? Well it's time to get jiggy!


That means leave...


I'm back.

YES!! I've been getting the campaign up and running more and more. I added a more roguelike "fog of war" for the campaign.

And I also added trap blocks that look like normal blocks but when shot at they reveal themselves to be ... traps!

Traps can do different effects but the one I worked on today was Gas. Gas spews out and can heal or damage you or whatever.

Who farted
I was also experimenting with a bunch of different graphic styles.

Black(gray) and white?

Those are all the different styles I added. You should already be familiar with raw graphics mode...I hope. I plan to use these for different levels(bosses maybe, special floors) and status effects (crazy for hallucinations, the colors of the tiles change like every 1/10 of a second). I still have to fix the sprites for gophers though πŸ˜₯ . Any way that's about it for today folks.

See yah next time!

Yes, you can not get rid of me that easily. MUHUHAHAH.

I've still been working on the campaign but programming progress has been slow due to lack of electricity where I'm at but that doesn't matter! WHY? Because I've been doing PLOT!

Yes, oh, yes, Plot soup. Mmmh. I (used to? Still kind of do) sketch manga like comics with their own story and I've studied through the internet on good plot writing and for different types of plots, story archetypes, character archetypes, etc. 

Ragdoll Man! A comic I drew a while(like 2 years) back that's 100+ pages. My drawing style has improved since then  Big Laff 

I also did a rough sketch of concept art. Haha.

The concept art and my workspace  Corny Laugh, though I don't have a stylus and can't draw well on digital Cry 

This one was short, but I make progress. Though now I need any idea I can think of for bosses, wether theme or attack pattern cause I have a lot of bosses in design now and I have ideas ranging from a guy who uses turrets to a mecha battle (like those really big bosses that can't fit on screen in 2d fighting games, e.g. last boss in marvel vs capcom). I wish someone could give me ideas  No No NO.

That's it for now, see yah next time! Evil

(1 edit)

So it's been  while but I've been really busy ... and stressed out. I'm just going to pretend the whole world is seeing this and give it my best! Yeah! Pokemon! - wait, sorry. 

Now to dive into the technical issues.

I've redesigned alot of graphics, from tiles to guns to hats! And added more stuff so that the campaign is now a little bit fun and is feeling all roguelite-ish.

Some things I've added:

-pressure plates

-locked rooms

-tnt crates

-posion traps

-a radio!


-buttons (as well as pressure plates, they open locked rooms)

-double jump(animated as flip)

-appropriate screeshake on landing

-cracks to damaged tiles

-falling to far causes damage

-a scoring system with a placeholder star

Still to do until I release a new beta:

-levels 1-5?

-boss battle 1

-emotions for the new sprites

-add more bullets (easy peasy, I might do this right now :P )

Some tips I've picked up along the way of developing this dusty battle beneath:

-Keep a game world responsive

Everyone hears "make a game responsive all the time but now I'm saying what some people already know and what some others don't. Make the game WORLD responsive. Try and make game world feel alive. When the player does something they should get feedback from the world that their actions had an effect. It didn't change anything gameplay wise, but it felt much better when I added cracks to tiles as they get damaged. Making the spikes blood soaked when something dies on them, etc. This is similar to make a game immersive, this is more of a "how to make the game immersive kind of tip". One major way of making a game immersive is to add response to the players' actions. As much as I - I mean you - WE - can :)

-Control health

Now this depends what type of game that's being made is. I had a big lifebar of 100. That time it was meant to be a multiplayer 2D shooter, but when I decided to make it more roguelike like (haha, everyone knows (roguelike+like) = roguelite) when playtesting floors it was preeeettttt boring. Then reduced the health ... TO 6. Now every move feels like it needs care. Every jump down a tunnel could end you up on a spike, every unprepared encounter could end your life. Spelunky (funny enough I hadn't even played it (classic) until recently, so I wasn't really basing my game off it, but it's a good goal) has you start with only 4 hearts, you could die (your character..not you) before you even get to the 2nd level. It feels like you're playing a mini strategy game.

-Control the environment

The environment, what is it? It consists of the challenges and rewards in the game. The balance of nature. CONTROL IT!! At first I made my spikes an instant kill, but then I realised it didn't make sense in a game that's a little bit on the fast-paced side. so I made it just take away 2 precious health points. Though a game like spelunky can make spikes an instant kill because it's a game about being careful. Landing on a spike, even for new players, can be easily avoided with ropes, carful movement, etc. Landing on a spike when I gave a friend to test it out was mostly unavoidable and ended up killing him immediately. By making it not an instant death but reduce 2 health the spikes became something to fear, not something to loath :P ... Maybe they're still something to loath. I dunno. Things like reducing accuracy of enemies for a fairer fight instill balance.

The challenges should fit the game. Every challenge should come with a reward. Whether it's gold, new equipment, information, progress or the blood of your enemies, a reward should be waiting around the corner of a challenge. That's why right now I'm battling to do something with empty rooms at a dead end. Even the tiniest reward can help. Get past bats and spiders just for a nugget of gold in Spelunky? Walk through a dark cave full of lava so you could get that cobblestone in Minecraft (you do?) Kill a bunch of ogres to find an ogre shaman that you've never seen before waiting there to wonder you to death in Brogue. Collects stars for a new level/area in a bunch of mario games? Reward! Challenge! Balance! I am ... the Avatar - wait, no.


I gave advice so nice I'll say it twice (wha...?) See you, next time! (He didn't say it twice...)

Hello ... fiends -friends, I meant friends!

Cool < You have no friends here ... )
Beg < Wha...what? )
Wizard < I smite thee )
Tiger < Hmmm... )
Wizard < What is it, tiger? Have you been inflicted...)
Wizard < ... with bad tidings )
Tiger < I say we give him a chance... )
Cool < You have no friends here ... )

Anyways, I just came to post some changes I've made to the game to make it more "immerrrrsive".
Limited resources make each play through worth know. So I limited resources!!! Muhuhahah.

Though with limiting resources I had to be careful. When I made enemies drop loot the player just got so much blocks to build with they didn't have to manage them, so then I made the loot they dropped *really* minimal and that helped.
But the main thing is the bullets!! Before I added in infinite (1500, meant to be edited to infinite later) amount of bullets that let the player blast their way through rooms, and made bullet drops useless. So I tried to make them limited! Yay! Now the players can run out of bullets and would have to plan how to encounter a room, rely on head stomps more and get stuck in between blocks - wait what?

That last one ... is a problem. So I made it not a problem!

Something I was meaning to implement a long time ago, breaking blocks "by hand". I haven't added the animation yet (moving hand) but when you have no ammo you just break blocks that you're right next to and aim at.

Limited bullets should still allow an all-out raid on a room, catching all the moles unaware before they have time to figure out what the dust just happened, but now it's not always an option. Should I leave this enemy and save my ammo or should I blast the aggressive ball of ... fur? ... hair? Mole skin? ... into smithereens!! ... and waste all my bullets in the process.

It seems to be shaping pretty well so far, but now I'll have to kill you. Oh, sorry. I forgot who I was typing to. Smiley Hopefully soon I'll have the first 3 levels and boss ready to playtest ... hopefully Ill actually have it playtested ... hopefully my game will be recognised by all and I'll rule the Tristate Area!! ... or world ... whichever comes first.

On top of all that I added a bunch of stuff

Life bar, looks weird (cheap) close up

How pressure plates look
Me putting in a mini map so players can find their way! YEESH.
Nappy headed gaurd
I'm also working on adding more variety to the map, Taking it from somthing like

To something like

 Something like that, I'm still working on it okay.

Or do you think the other type is fine? I'm open to any ideas...or pineapples, whichever come first.



Splash screenn!! Still needs a liiiitle work.

It may look a little bit crazy because of all those debugging tiles. :)

I added emotions. Though because of gif nature I don't think it can be seen to well, the player is crying while delivering death blows 😭

Byebye! Hope you don't run away and fly! Unless you're on a plane....landing in Dubai. Okay let me stop, but atleast I tried ;)

You know when you're on a killing spree, just doing as you please,and then when you least expect it BOOM! You're cornered, out of bullets and have low health?

What do you do then?

Been making memes! Yes, sometimes you need a little motivation to get that ... soap ... invasion? I dunno.

Anyway, I redid the OP (first post), go check it out! Unless you're from the future and already did WTF

Demo will (probably) be out soon so keep your eyes 

Keep your eyes banana? Keep your eyes yellow? Keep your eyes fruity? I don't get it?

Heklo again...Yes! HEKLO. No Typo. Just pure genius :)

I think I once said that I'm not doing fire (if I didn't then I sincerely apologize. Fire made the game go slow) but recently I made a new type of fire that uses the bubble-like debris to make an effect. I also did it with smoke, but I might need to change the graphics for that because then everything may look underwater-ish.

Oh, and ... BOOM πŸ€“

Angel mode :P

Not really useful in anyway. That was me checking which tiles the player could see and I thought it looked cool.

So I've also added some story items, better bot AI and ... COMPANIONS which also lead to mini missions, like "Take me to the exit"...Yeah. If everything is structured then it's easy to add things on top. WAIT-What do I mean? 

Well, when I did my AI for a long time I was just basing everything, attacks; running away; defending, off the main player (did I use those semi-colons well. I think...) when originally it was based off teams so AI could easily change sides by changing the team variable. So I had to revert to that ideology and since some of the older parts already had "team this and team that" it was preeeetty easy. Now to change an AI to the player's side all I need to the is make the variable the same as the player's (and call resetTarget() function because then it might still chase the player around) and DONE.

Also, I've added emotions for these new sprites. Don't know if I already said that...but look - A MEME

And the meme template is from my game, so atleast any who don't like memes thrown in their face can appreciate that ... right? 😒

Next time I post A DEMO SHOULD BE AVAILABLE. So look forward to that but until then...