header general

[Submission] Blackhole Imp

  • Yuzoo
  • Yuzoo's Avatar Topic Author
  • Dark Imp
  • Dark Imp
More
5 years 1 month ago - 3 years 11 months ago #1 by Yuzoo
[Submission] Blackhole Imp was created by Yuzoo
Name: Blackhole Imp
Difficulty: Medium
Connection: Imp
Summon: BlackHoleImp
Melee: Yes
Distance: Projectile
Type: Demon, Entity
Brightmaps: No
Actor modification: No
ACS: No

Code: Yuzoo
Sprites: Yuzoo
Sounds: Doom, Stock sounds
Idea Base: Monster concept based on League of Legends Dark Star theme, fused with an imp


A simple imp from hell, corrupted by the dark and infinite space, letting place to
an horrible creature with nothing but obliteration on its mind.
It got rid of its legs, now being able to fly freely to spread the horrors of space.

This monster can manipulate gravity, it shoots mini blackholes, that will attract
anything it meets on the projectile. This thing can also abduct you from distance,
in hope to lacerate you to shreds. And if it wasn't enough, it can also travel via
portals while moving around, to make sure they keep being close. When it dies, it
provoke a huge shockwave, obliterating the monster in the process.

It may be just an imp, but do not underestimate it. They can be a quite a challenge to
take on if you're inside an enclosed space, and even worse if they are in pack.

UPDATED: Added GLDEF back with better lightning.

Download Link: https://www.m*diafire.com/file/gi57c0d5hq515dk/BlackholeImp.wad/file
Attachments:
Last edit: 3 years 11 months ago by Yuzoo.

Please Log in or Create an account to join the conversation.

  • Yuzoo
  • Yuzoo's Avatar Topic Author
  • Dark Imp
  • Dark Imp
More
5 years 1 month ago - 5 years 1 month ago #2 by Yuzoo
Replied by Yuzoo on topic [Submission] Blackhole Imp
Updated monster:

-Reduced number of particles emanated from the fireball attack.
-Removed GLDEFS for better performances.
-Added some sounds and effects to the distance pull attack.
-Reduced melee damage for all melee attacks (the pull is chained with a melee attack that is stronger than usual).
-Slightly increased speed of the monster.
-The pull is now a little bit stronger.
Last edit: 5 years 1 month ago by Yuzoo.

Please Log in or Create an account to join the conversation.

  • rachael
  • rachael's Avatar
  • Zombieman
  • Zombieman
More
4 years 11 months ago #3 by rachael
Replied by rachael on topic [Submission] Blackhole Imp
Can you include the GLDEFS? Most systems should be able to handle it just fine, and it should be up to the resource author whether to include them or not. At any rate, GZDoom has ways to cope with the lag if that's an issue on the user's end, too (simply by turning the lights off).

Please Log in or Create an account to join the conversation.

  • Yuzoo
  • Yuzoo's Avatar Topic Author
  • Dark Imp
  • Dark Imp
More
4 years 10 months ago #4 by Yuzoo
Replied by Yuzoo on topic [Submission] Blackhole Imp
Sorry for the wait, i've been away for some time, but I heard your request and added back GLDEFS with even better lights.

Please Log in or Create an account to join the conversation.

  • Gothic
  • Gothic's Avatar
  • Moderator
  • Moderator
More
4 years 5 months ago #5 by Gothic
Replied by Gothic on topic [Submission] Blackhole Imp
If you're worried about the lag, then don't give GLDEFS to the smaller particles, they really don't need them and reduce them to half.
And again, the sounds don't need to be on stereo unless they play on full volume, the sounds occupy 3/4ths of the size of this wad.

And a recommendation to avoid messy code, stuff like this:
Code:
TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION)

Can be reduced to this:
Code:
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("StarParticle", random(-72, 72), random(-72, 72), random(5, 24), -6, 0, 0, 0, SXF_NOCHECKPOSITION)

You also use NULL states sometimes instead of TNT1, that should be changed.

Please Log in or Create an account to join the conversation.

  • Yuzoo
  • Yuzoo's Avatar Topic Author
  • Dark Imp
  • Dark Imp
More
3 years 11 months ago #6 by Yuzoo
Replied by Yuzoo on topic [Submission] Blackhole Imp
Hi there, sorry for the late answer, and thank you very much for the feedback !

I've made the code less messy, removed the light effect from the particles, and reduced the number of particles in general !

If there's anything else to fix, i'm on it :)

Please Log in or Create an account to join the conversation.

  • Gothic
  • Gothic's Avatar
  • Moderator
  • Moderator
More
3 years 9 months ago - 3 years 9 months ago #7 by Gothic
Replied by Gothic on topic [Submission] Blackhole Imp
The effects look better now, I say it's the right ammount of particles.I see you want to keep the sounds as they are, which is understandable, however I'm still worried about the massive file size of the sounds. I converted your sounds to MP3 and back again to OGG with a converter, and I managed to reduce their size: Download here.

As for the monster sprites, I'm not sure. I don't know what's going on with the head, and personally I'm not a fan of blurry or transparent sprites (even though I submitted the Hologram props, heh). The projectile and effects are ok though. This is just my opinion, and if nobody else cares, then it will be ok to go.
Last edit: 3 years 9 months ago by Gothic.

Please Log in or Create an account to join the conversation.

  • Yuzoo
  • Yuzoo's Avatar Topic Author
  • Dark Imp
  • Dark Imp
More
3 years 9 months ago #8 by Yuzoo
Replied by Yuzoo on topic [Submission] Blackhole Imp
Thank you very much for your comment !

I probably didn't pay attention to the filesize, but I will change that for sure, thank you :)
As for the sprite, sadly I have never done sprite editing in my life before, so this is a first time for me, I guess it's far from perfect but eventually I will change that once I get better !

Please Log in or Create an account to join the conversation.