Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411490 Posts in 69371 Topics- by 58428 Members - Latest Member: shelton786

April 25, 2024, 02:33:05 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsDashing Juno! (new name) [GIF HEAVY]
Pages: [1] 2 3
Print
Author Topic: Dashing Juno! (new name) [GIF HEAVY]  (Read 4670 times)
jg.camarasa
Level 1
*


View Profile
« on: March 06, 2017, 03:39:13 AM »

Dashing Juno!


About the game
Dashing Juno is a 2D top-down arcade shooter with some light RPG components.

Our goal is to make a no-brainer game with a fun core gameplay, but with progression elements with the ultimate goal of making the player feel baddass.

Who is making it?
Me and my buddy César, both programmers, working on it during whatever free time we have. Sometime along the way we'll look for an artist for sure.

How are we making it?
From scratch, mostly C (and some C++) and DirectX11.

Latest gifs/images







Also, you can follow our past, present and future progress on Twitter: https://twitter.com/tchgamedev
« Last Edit: November 17, 2017, 02:10:35 AM by jg.camarasa » Logged

jg.camarasa
Level 1
*


View Profile
« Reply #1 on: March 06, 2017, 05:30:22 AM »

A little insight on the procedural generation of the level:



The current rules are:
  • Starting point is always in the southern row
  • Player has to go north to proceed to the next level
  • There is always a valid path from start to end (green rooms)
  • There will be some secondary paths (gray rooms) that might lead to rooms with special loot (purple rooms)

The rationale behind these rules is that the player can choose between going straight to the next level (low risk, low reward) or exploring (increased risk, high reward).

A problem we are currently having is that backtracking lots of rooms can be tedious, so we will probably put some teleport system in place, not unlike Enter The Gungeon.
Logged

InterGalactic
Level 0
***


Indigo Game Dev


View Profile WWW
« Reply #2 on: March 06, 2017, 12:14:48 PM »

Wow, that looks great for using no engine and just from scratch, you guys should be proud of that.

I also like the premise of the game, the scope seems pretty big, but I guess you guys can handle it.

The only thing for me is the procedural generation looking a bit bland. I recently saw this article on procedural level gen, which amazed me. Worth a share to a fellow dev https://github.com/adonaac/blog/issues/7
Logged

jg.camarasa
Level 1
*


View Profile
« Reply #3 on: March 06, 2017, 01:26:23 PM »

Hey, thanks! Much appreciated, we are both tech-y guys with experiencie in the industry so it was natural for us to develop our own tech.

100% agree on the procedural generation needing more work. Funnily enough César implemented the method you linked to! Didn't work though, although there are some ideas we can pick from it. You will definitely see some more work from us on the level generation department!
Logged

jg.camarasa
Level 1
*


View Profile
« Reply #4 on: March 07, 2017, 05:27:14 AM »

Stats

The game features some light RPG elements, like some basic weapon stats. The idea is to give the player a sense of progression, but without worrying about dozens of stats. That's why we have reduced all variables to 5:

  • Damage: Damage (in hit points) caused on impact.



  • Critical Chance: Probability of the shot hit a vital point and cause 2x damage.



  • Fire Rate: Shots per second the weapon is able to output.



  • Accuracy: Variability on the direction of the shot. 100% accuracy means all the shots will follow the cursor perfectly.



  • Projectile Velocity: Velocity at which the bullet travels



[/list]

As you can see, overall some pretty basic stuff in order to keep things interesting.
Also in the near future we will likely add two more variables to the weapons:
  • Altered stats: Shots may be able to apply burn, poison, freeze, etc.
  • Special effects: Some rare weapon parts may provide some special bonuses, like lifesteal, stamina recovery when doing a crit...

Logged

jg.camarasa
Level 1
*


View Profile
« Reply #5 on: March 11, 2017, 12:16:01 PM »

First of the 4 altered states:



Burn: Deals a % of health per second. Each hit increases effect duration.
Logged

jg.camarasa
Level 1
*


View Profile
« Reply #6 on: March 12, 2017, 10:36:02 AM »

Another altered state:



Freeze: Slows movement and reduces fire rate.
Logged

gantt
Level 0
**


View Profile WWW
« Reply #7 on: March 12, 2017, 06:08:14 PM »

I like your SFX! what does WNG stands for I wonder?
Logged

Founder & Chief @Bluword<br />Read the stories of game developers at Bluword
jg.camarasa
Level 1
*


View Profile
« Reply #8 on: March 14, 2017, 03:45:25 AM »

Hey gantt! WNG stands for Weird Node Game. Originally we had a different idea for weapon customization where you could put modules in a graph to craft your weapon:

https://gfycat.com/CalculatingMilkyAmethystsunbird

Sadly it wasn't really fun so the idea was scrapped, but the initials remained Smiley
Logged

jg.camarasa
Level 1
*


View Profile
« Reply #9 on: March 16, 2017, 02:13:21 AM »

Third altered state:



Smoke: Lowers the accuracy by a fixed %.
Logged

jg.camarasa
Level 1
*


View Profile
« Reply #10 on: April 07, 2017, 09:12:16 AM »

I decided to get a bit more of control over the level look and design. Levels are still going to be proceduraly generated, but I decided the rooms to be handcrafted.

For this purpose I started to develop a Room Editor. I'm now a couple days in and I start to have something useful, check ot out:
https://www.youtube.com/watch?v=LhkqZNjMCuA&feature=youtu.be

« Last Edit: April 07, 2017, 09:40:00 AM by jg.camarasa » Logged

jg.camarasa
Level 1
*


View Profile
« Reply #11 on: April 08, 2017, 11:33:30 AM »

New footage of the editor, now gif version for your convenience!





Logged

-Ross
Level 1
*


View Profile WWW
« Reply #12 on: April 12, 2017, 08:01:39 AM »

This looks pretty cool. Like a more open Robokill without the stupid falling-off-edges business. Some nice "feel" stuff here, even without sound. Do you have any plans regarding enemy AI?

[Edit] Regarding procedural level generation - have you tried the "floor walker" method? http://rami-ismail.squarespace.com/blog/2013/04/02/random-level-generation-in-wasteland-kings It looks like you know what you're doing, but maybe you can take some ideas from it or want some levels to be generated differently. You never have to worry about inaccessible rooms with it, and it's very adaptable to different styles of dungeon—from traditional roguelike dungeons, to natural caverns, to various things in-between. You could incorporate pre-designed pieces into it too.
« Last Edit: April 12, 2017, 11:05:58 AM by -Ross » Logged

jg.camarasa
Level 1
*


View Profile
« Reply #13 on: April 12, 2017, 11:57:36 AM »

Hey Ross,

Didn't know Robokill, awesome reference! Will definitely take a deeper look into it to see if it sparks some ideas Smiley But yeah, no falling-off-edges here.

Right now I'm knee-deep into room editor / level generation at the moment so your link comes really handy! WNG is more room-based than Nuclear Throne but I see some interesting ideas there, much appreciated.

At the moment there is only one enemy which pathfinds towards you. Once I finish redoing the level generation structure I will start creating more content in form of new enemies (only a few, step by step!). Won't be doing anything fancy regarding AI, just creating varied behaviours that force the player to react differently, like having a melee enemy that charges, while others snipe from the back, while other are small and attack in swarms... It is one of the big areas that I haven't explored yet and, honestly, I'm really looking forward to it!
Logged

-Ross
Level 1
*


View Profile WWW
« Reply #14 on: April 12, 2017, 05:53:17 PM »

Cool, sounds good. I've played too many top-down shooters with decent mechanics that were totally boring because they only had enemies that walked straight toward you. I'm glad that won't be the case here. I'm pretty impressed with how fun Nuclear Throne's enemies are to fight, even though their AI seems to be very simple and quite random.

Anyway, I look forward to seeing WNG develop. Hand Thumbs Up Left
Logged

jg.camarasa
Level 1
*


View Profile
« Reply #15 on: April 14, 2017, 07:38:35 AM »

First steps toward redoing level generation. I've decided to prototype the algorithm in python first for quick iteration.







This is just the foundation, about a day of work. After this soon will come a bit more interconnectivity between rooms, and marking rooms with special properties (start room, end room, secret passages).

When I have something that looks good on paper I'll then port the algorithm to the C code and use real rooms made with the editor. Really excited!
Logged

jg.camarasa
Level 1
*


View Profile
« Reply #16 on: April 18, 2017, 08:33:54 AM »

Next iteration of the level generation algorithm. Now all rooms are properly closed, and implemented different room types. Now there is a Start room (green), an End room (yellow), Loot rooms (pink) and regular rooms (white).

Also been testing different level sizes, check it out:





Logged

jg.camarasa
Level 1
*


View Profile
« Reply #17 on: April 19, 2017, 06:03:54 AM »

Final post about level generation before testing it in-game. I added a special area in the level which is more difficult but has increased rewards. Also, a gif of the algorithm in action:


Logged

jg.camarasa
Level 1
*


View Profile
« Reply #18 on: April 19, 2017, 08:11:14 AM »

Level Generation

After some tinkering I think I have a decent enough algorithm, and I'll try to explain the thought process behind it.

As I explained some posts ago, I want the individual rooms to be handcrafted. This means that the algorithm has the only task of placing and connecting a combination of these rooms. In my opinion this is the perfect blend of well-thought design and replayability! Inspiration for this idea comes from games like Spelunky and Enter the Gungeon.

Another goal I'm aiming for is to have secret or special zones in the level, where exploration and risk-taking are rewarded. This means that the level has to have some optional paths that hide some delicious loot! In the end the player could just look for the end of the level and rush to it, but he would be definitely be missing some great stuff Smiley

The algorithm starts by placing an starting room (green) and connecting 4 rooms, one for each exits. This way we ensure the player doesn't encounter a dead-end too soon.



Then we start expanding the level by connecting new rooms to previous ones. In order to make the level more balanced, the closest a room is to the starting one, the higher the chance it has of spawning a new room. This will avoid large corridors of rooms, and instead we'll generate a tree-like layout.



Bear in mind that we don't add arbitrary rooms! Each new room is selected from a list of hand-crafted templates. This means that we might add a room with an open exit that is too close to another one. We'll fix this in later steps Smiley For now we continue to expand the level. Remember the special areas I talked to you about? Time to randomly start them! When we reach a determined number of spawned rooms we'll spawn a special one (red).



Every room that we expand from this one will be part of that special path. The other will be just regular ones. We'll just keep adding rooms until we reach the number of rooms we want.



Cool! We have finished our level, let's pack things up and go home... WAIT! We can't leave this mess, there are a lot of rooms with open exits that lead nowhere. Hell, we don't even have a goal in the level! Time to close the open exits then. First we'll find a place for the goal/end room (yellow).



This seems like a cool place to put the goal! Now we'll proceed to close the rest of the paths with some juicy loot rooms (purple). This way, even if the player reaches a dead end, he might encounter some interesting stuff in there Smiley



Neat-o! This looks more like it! However we still have the problem we mentioned earlier, there are some rooms that can't possibly be closed without overlaping Sad Well... since we can't close them by connecting a room to them, we'll just have to replace them with a different room with the number of exits we want Smiley



And with this last step, we already have our magnificent level complete with loot rooms, special dangerous paths and, most importantly, a goal!



This is all for today. Now time to port this to C and test it with real, handcrafted rooms which we can play through!
Logged

Schrompf
Level 9
****

C++ professional, game dev sparetime


View Profile WWW
« Reply #19 on: April 20, 2017, 12:23:12 AM »

Hm. From my perspective as a player I only see a lot of backtracking and no way to tell whether a direction is worth pursuing or not. So I walk down one randomly chosen path and see what it has for me, and the level's over if I accidentally walked into the boss room.

Some other games come to mind which also generate levels like this... maybe I'm simply not a rougelike player. I'd still prefer a more linear approach, and visual hints to allow me to "complete" side paths before advancing the main path.
Logged

Snake World, multiplayer worm eats stuff and grows DevLog
Pages: [1] 2 3
Print
Jump to:  

Theme orange-lt created by panic