Sign in to follow this  

[WIP] DARKSHIT 2040 - Laser Hell Anti-Shmup

This topic is 786 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts



Brian Amadori presents


qrFGhxi.png?2



Weird action game about surviving the dangers of space while eating sandwiches obsessively,
strapped to your child by an umbilical cord in solo and co-op conquest campaigns. An epic war drama.


(Coming in a not too distant future for PC/OSX/Linux)




3o85xDRc5MbqqpGP0Q.gifl41lJR7OWVGOCAO9a.gif


Actually i’ve been working on this around two months by now.
But i’ll try and post logs over the work already done to catch up, so this’d look more like a day 0 devlog.

(Sorry about the gifs quality, i'm working on improving that)

Going to post more animated gifs and update this thread once or twice a week.
Logs will be about art, technical stuff and my thought process as well. So expect wall of texts every once in a while.

I'm hoping you enjoy watching the progress of this thing!

Cheers!
 

Share this post


Link to post
Share on other sites

Neeext update!

 

Some console text animations i'll be using for HUD/UI

 

26BkMQBUEXMInOg3C.gif

 

 

You will be advancing horizontally across this “map”, that dotted line is supposed to be the limit you can travel. That big ship on the top is the alien overlords flagship you will be leading upon getting better sandwich-eating records, and will be always behind that line.

 

xTiTni1fO6Wh0kwLjG.gif

(html5 link for this gif)

So, for now the progress is supposed to be like this:

  • You play levels, trying to achieve the best score
  • All the levels score will be added together, the result is where the dotted line will be
  • So, If you can’t progress further and the last level is too dificult, you can go back earlier levels and get better scores (sort of mario 64-ish progression)
     

I'm still figuring out how to make this added scores stuff clear enough for the player.

Edited by BrianAmadori

Share this post


Link to post
Share on other sites

Update #3 - Building the earth background

 

I’m using this movie as visual reference

Here’s what i came with:

3oEdv4Ansr4XbeqyBi.gif

Things i did:

  • Created a custom shader to make a glowy transparent effect for the sun and earth’s atmosphere. This glow is actually another slightly bigger sphere in the same place, but with a z-buffer offset cranked up to be far away. I wanted to use Unity’s RenderQueue for this in Background+1, but when you are in deferred mode all the transparent stuff get rendered after everything regardless anything you do... very annoying.
     
  • Again, created another custom rim lighting shader to make the earth borders match with the glow.
     
  • All the background is rendered in a separate layer from the gameplay to a render target. This allows me the possibility to cheapen the post-processing effects and make the game friendlier to lower specs.
     
  • The earth globe is actually composed of 4 separate layers. Terrain, Night lights, and 2 clouds layers (one with overlay blending, and a transparent one on top). I used SpaceScape to make the space background. Its enough for now, but i’m planning to improve the space skybox in the future.
     
  • For the sun, i added a dummy flare, this is a 0 range light with a custom flare set up. When you do that the flare will show up and the light will cost nothing. Kind of a hack but works like a charm.
     
  • Still planning to make the earth night lights shader output HDR values, but for now the glowing lights are baked.

     

Step by step rendering using unity’s nifty frame debugger
xTiTniM5bRZLjo3Zw4.gif


That’s all for now, next week i’m going to get into some wormhole transition FX and post the process here.

Maintaining a devlog is quite a task by itself, so if you reached here try to drop some feedback, i will appreciate that a LOT, and if you got some negative constructive advice it’s actually better because i get to improve on this and learn in the process.

Also, if some of you aren’t familiar with some of the terminology i may use, just ask and i will answer any questions/provide resources as possible.

Thanks for reading!

Edited by BrianAmadori

Share this post


Link to post
Share on other sites

What are you using for your screen captures? Might I suggest LICECap?

 

I'm already using LICECap for simpler gifs with static background and it works great smile.png... but in the cases when your background has too many colors the LICECap palette generation isn't nice enough... I spent like a full day trying different encoding configurations with ffmpeg using this source (the first gifs of the devlog came from that tests).

 

The thing is i wasn't very happy with the results, then figured out the best quality comes out from making a mp4 video capture of a few seconds, then upload the mp4 directly to giphy ... I don't know what sorcery do they use for the palette, but they look the best of everything i tried.

 

So my full process for high color gifs would be... capture a longish video of a few minutes, select the best bits, make trimmed video clips of these bits using ffmpeg, then upload them to giphy. That many steps man... gif is great, but really sucks.

Edited by BrianAmadori

Share this post


Link to post
Share on other sites

Update #4 - co-op and umbilical cord
 
I'm trying to make the umbilical cord joining the players in co-op mode physics based.
 
So i got my hands dirty and started experimenting with the JointSpring2D component.
 
3oEduEd2sbMqpmxM6k.gif
 
Note the gap in the middle. That is because i'm attaching 2 joints in the middle of the rope, attached to the neighbor nodes, but only 1 joint in every other note attached to a node outwards.
 
Rough shitty diagram:


P1   *   *   *   *   *   *   *   *   *   P2
.   <-  <-  <-  <-  <->  ->  ->  ->  ->

 
I tried to improve this and...
 
3oEduK597NhhOfHoHu.gif
 
Much better, now i'm attaching 2 joints only in even nodes, pointing outwards.
 
So it looks like this (hope it makes some sense):
 

P1   *   *   *   *   *   *   *   *   *    P2
.   <->     <->     <->     <->     <->

 
 
I tried then to use LineRenderer to render the cord...
 
3oEduViEf0pZFcZr4A.gif
 
Not a fan of this... look how the cord breaks when the nodes are to close to each other...
 
To improve it i tried to use the particles way... Just using Graphics.DrawMesh to draw a bunch of quads between the nodes.
 
3oEduRfH815qYsujGU.gif
 
A lot smoother.

Share this post


Link to post
Share on other sites

@OP - I'm sure you have access to the developer journal. You really should be utilizing it.

Awesome work by the way.

 

My bad... somehow i didn't see that section. I think i'm going to deprecate this thread and start posting there instead. Thanks!.

Share this post


Link to post
Share on other sites

Update #5 - Design space, inner/outer conflict

Disclaimer: Long winded theorizing wall of text ahead

I’m going to rant a bit about some design problems i’m still tackling.


Single Player Vs CO-OP Gameplay
This game started as hot-seat co-op multiplayer. As such, the design in that frame resulted to be incredibly simple, and just worked. The thing is, i think releasing a local co-op only game is not enough to hold up to the value standard that games have nowadays, that reign reserved to competitive games.

So, I started prototyping single player after the two players mode. By removing the second player, I learned how the co-op mode added complexity to the system. This game has so few rules that the players arguing about communication strategies, blaming each other for failures, and struggling to sync movements was a relatively big thing (thinking in terms of brain space).


Inner-Outer Conflict
With action games, i tend to visualize the design with a mental model of a inner/outer conflict that fills our brain. Outer conflict would be the level, enemies and hazards. Inner conflict the complexity of controls, the system and cognitive noise the player have to deal with to deal with the outer.

A extreme inner-conflict game would be QWOP or Envirobear-2000. Outer conflict games are games like super-hexagon and danmaku shooters.

I find the difficulty in any action game is a result of the balance of these two conflicts.

Removing co-op mode removed a big deal of inner conflict to the game. With single player, this has to be compensated somehow.

3oEdvcbu9gvwxIKlck.gif


Design Space Nightmare
So, this is a hardcore avoiding game, the design space of this type of games is inmense, there are hundreds of decisions i could take to restore the difficulty. For starters, I could chose to even inner and outer conflict types in similar proportion to the co-op mode. This is -- have some amount of inner conflict (i.e. more than a shmup). and add a lot of outer (harder levels) still i have the same amount of difficulty.

The thing is, you start to write down ideas and realize the possibilities are endless. There are a lot of ideas and there are some that look just about right even after implemented. How are you supposed to filter them?

So, in the next posts i’m going to show you some stuff i already tried/trying and see where this ends.

Any of you have these kind of issues when figuring out how your game is going to work?

Share this post


Link to post
Share on other sites

xTiTnBvIhOO1EicjMk.gif

The game flow is like this:

- You enter a level
- When you lose, you can restart instantly or come back to the map
- Upon coming back, if its the first time you played the level, you see this:

(Click the images for a lightweight video version)

3oEduQD6CnChKNlmnK.gif

Now, let's say you go into the second level, score 4... then come back, do dome other stuff... then
try again the second level and score 9... this is what you'll see:

l41m2F0eQRYOxsDJe.gif

What do you make of this? Is this clear enough, or i need more feedback?
Seriously i feel this scoring mechanic is very hard to explain...

Share this post


Link to post
Share on other sites

l41lWRENZPWLWPYEU.gif

HEALTH BAR

I added this health bar. It depletes with time and you charge it eating the sandwiches.

xTiTnd30BxbtLWTJqU.gif

This is supposed to give urgency to the game, so you don’t just stall avoiding stuff but are also desperate trying to not die of hunger.

FETUS ATTACHED TO SINGLE PLAYER

3o85xJMqPNQTuyJd8A.gif

Now, in SOLO mode, you have a fetus attached to you.

I made this change because i thought the solo mode was not being faithful to the “being strapped to another thing” theme of the game. And also it helps to adding back the inner conflict i found to be lacking in this mode.


YOU HAVE TO OPEN MOUTH TO EAT

All the game sprites are placeholder, so i added a ugly text feedback to show it.

You have to open it and then close it when over the sandwich.

3o85xBJGH5t0K98WoU.gif

I had a problem with CO-OP mode. It was too easy for me to control both characters myself. The game has to have enough complexity to make this too difficult to be fun, so… I added this.

Also, if you close your mouth and go to a direction, you will dash too, so opening mouth and then closing + dashing to eat is a viable technique. (more inner conflict)



Well, that’s is for now. I’m going to post the wormhole transition stuff later so this update doesn’t get too big. Hope you enjoyed reading it.

for the record, remember i opened a twitter handle @darkshit2040, if the project is interesting to you follow it for announcements, etc!.

Cheers! ph34r.png

Share this post


Link to post
Share on other sites

3oEduJA7y0p4U8wyPu.gif

TRANSITION WORMHOLE
TRANSITION WORMHOLE
TRANSITION WORMHOLE

l41lVJHmux0ro02qc.gif

I never learn that effects like this are the ones that are made very late in development... But WHATEVER, couldn’t help myself.

How i made it:

  • The wormhole is rendered to a RenderTarget.
     
  • I’m using 3 cameras. One renders the wormhole to a RenderTarget, the second one is pointing to a quad that shows the RenderTarget over the scene with a depth of 1 to be over everything. The third one is a dummy that renders nothing, and has all the postprocessing effects attached.
     
  • There are animated material changes and stuff like activating the particle systems, etc. That are controlled via an animator.
     
  • Made a custom shader with a transparent masking texture, that renders in polar coordinates UVs. Then used it to mask the quad containing the RenderTarget over the current scene. Polar coordinates are the ones that use angle, distance instead x, y. This is awesome for circle related effects!
     
  • The particles are... duh... particles. But i use like three different particle systems, one for the burst at the start and two more for 2 speed sets of velocity with different radius.
     
  • I load the new scene asynchronously only when you are inside the wormhole, and apply a small glitch effect to deal with loading stutter if there’s any, so the game appears to be glitched when loading.  (I’m using one from Colorful shaders pack i bought from the asset store, but maybe I’ll make my own later)
     
  • I don’t use additive scene loading, i just apply DontDestroyOnLoad() to the transition prefab. The transition is encapsulated in that prefab, so i can use it between any scenes.
     
  • I want to improve the colors, and add more details like nebulae/stars/planets going fast.

Well that’s all for now...! I’m going to add more gameplay stuff and play with some HDR effects later on. (yep, I never learn).

Cheers!

Share this post


Link to post
Share on other sites

Needs Fries and Soda -- everyone knows  - thats where the profit is...

 

 

Faster moving targets which are harder to reach/elusive  or as opportunity (to add split second decisions to game)

 

You mean like powerups or special things you have to grab quickly? I'd have to figure out how to make them appear without colliding with the beam emitters, but the "add split decisions to the game" is definitely an interesting thing to consider.

Share this post


Link to post
Share on other sites

This topic is 786 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this