UltraPortal banner

UltraPortal

14 devlogs
90h 9m 27s

ULTRAKILL’s FRAUD layer has introduced us to portals, so why not make a portal gun?

Demo Repository

Loading README...

averytoad65

Well, I did more work on ULTRAPORTAL. Since 0.2.0 released I wanted to include some updates to include my new mod “AUU” and a patcher to avoid ULTRAPORTAL getting flagged as malicious everytime. I also had to fix the mod for ULTRAKILL’s Update 17c, because it broke the mod completely. Thanks, Hakita.
In any case, here’s the changelog from the past two versions:

ULTRAPORTAL 0.2.2

Changes

Backend

  • Changed PortalTransform property of DynamicPortalExit.cs to NativePortalTransform to adopt changes made by the ULTRAKILL developers in Patch 17c.
  • PortalAwareCollider now gets disabled on player when passing through a portal, fixing ground portal issues introduced in Patch 17c.

Bugfixes

  • Portals can now be travelled through in ULTRAKILL Patch 17c.

Changes

Config

  • Increased default value of Gameplay/Portals/Experimental/Portal Sphere Check Radius.

Backend

Bugfixes

  • Fix bug where secondary fire cooldown was linked to primary fire cooldown

Known Bugs

  • It is possible to trigger a portal from behind, which causes things like wall and floor collisions to disable when they shouldn’t.
    • Bug can only occur with floor/ceiling portals as of 0.2.1.
  • You cannot save a sandbox level if it contains portals.
  • Enemies may phase through the floor sometimes if teleported after surpassing a certain velocity.
Attachment
Attachment
0
averytoad65

ULTRAPORTAL 0.2.0 has been shipped, yippee! Now I’ll wait for the lovely shipwrights to approve it. I hope you all have a lovely day and have a good time coding.

Also, the image is from the section about hte Twist Gun on the (currently offline) Thunderstore page of ULTRAPORTAL 0.2.0

Attachment
0
averytoad65

Shipped this project!

(copied from GitHub)

ULTRAPORTAL 0.2.0

Please keep in mind that this mod is being maintained by a single person.

How To Install

Manually

  1. Ensure you have BepInEx installed in your ULTRAKILL directory. (see Installing BepInEx for more info)
  2. Ensure you have booted up ULTRAKILL with BepInEx at least once.
  3. Ensure you have Configgy installed.
  4. Extract contents of attached ZIP into <ULTRAKILL>/BepInEx/plugins/UltraPortal.
  5. Load any level, press 7 and use your primary/alternative fire to use the portal guns.
  6. Have fun! :D

Thunderstore

Ensure you have r2modman installed. Then navigate to the UltraPortal Thunderstore Page and press on the “Install with Mod Manager” button.

Changes

Bugfixes

  • Fixed mirror portal projectile from teleporting enemies if portal was despawned.
  • Ground portals now detect the proper colliders in the cybergrind. (see issue)
  • Portals now reset colliders when they’re destroyed.
  • Increased size of portal gun projectile to decrease collision errors at higher projectile speeds.
  • +SAFETY HAZARD now gets shown reliably.
  • Fixed portal duplication with frozen sandbox objects.
  • Fixed leaderboard submission not being handled properly.

Gameplay

  • Added the Twist Gun.
  • Changed +SAFETY HAZARD from 500 points to 100 points.
  • Added new style bonus +DISPLACEMENT.
  • Added alternative fire for mirror gun.
  • +USED PORTAL GUN in the level end screen is only enabled when a portal gun was actually fired.
  • Buffed damage of portal projectile.
  • Portal projectiles only teleport light enemies now.
  • Portal guns can now be configured to instantly shoot portals instead of using projectiles. (see issue)
  • Custom portals can now be modified in sandbox.

Audio

  • Added sound effects for portal guns.
    • Portal Open
    • Portal Close
  • Added ambiance sound effect for (custom) portals.

Config

  • Changed categorization of config values
    • Renamed Advanced sub-categories to Experimental to indicate that tweaking the values may cause significant bugs.
    • Moved portal color properties to Visuals/Portals.
  • Added individual colors for all portals.
    • Found under: Visuals/Portal Gun, Visuals/Mirror Gun and Visuals/Twist Gun
  • Added setting to disable portal borders.
    • Found at: Visuals/Portals/Can See Portal Borders
  • Added setting to change max recursions of portals.
    • Found at: Visuals/Portals/Maximum Portal Recursions and Visuals/Portals/Infinite Portal Recursions
  • Added setting to scale portals.
    • Found at: Gameplay/Portals/Portal Scale Modifier
  • Added setting to shoot portals instantaneously. (see issue)
    • Found at: Gameplay/Projectiles/Use Beam For Projectiles
  • Added Debug category to configuration.
  • Added Audio category to configuration.

Visuals

Known Bugs

  • It is possible to trigger a portal from behind, which causes things like wall and floor collisions to disable when they shouldn’t.
    • Chance of bug occuring has been reduced with 0.2.0, although it is not impossible.
  • You cannot save a sandbox level if it contains portals.
  • Enemies may phase through the floor sometimes if teleported after surpassing a certain velocity.
averytoad65

Been a while. Honestly, these past two weeks I’ve been taking more and more breaks. Working on this project has proven to be unhealthy and that I should take some time to myself so I remain mentally stable.

To be fully transparent: this is just a quick checkin before I can hopefully publish 0.2.0. I won’t be working on the update much longer since it’s in a state where I believe it is stable enough to publish. So, let’s go.

I’ve added a small bit of sandbox compatibility to portals! Now they can be moved around and modified with the sandbox arms. You can now move them, rotate them using the alter arm and freeze them! This makes it easier to temporarily add them into sandbox maps.

I also fixed a bug with the Twist Gun, where it wouldn’t rotate the player sometimes, and changed a feature on it where only one portal could teleport you.

And you can now fire the portal gun with a raycast, yay!

Thanks for reading and happy coding.

Attachment
Attachment
Attachment
0
averytoad65

So, another 8 hours, huh? Well, I suppose it’s best to get into it.
First off, I’d like to talk a bit about some backend changes I’ve made to ULTRAPORTAL. The mod now has a new DLL known as UltraPortal.Shared, which allows me to make scripts that I can add onto Unity objects, making mod development easier in the future. I’ve also reorganized the scripts in the main project, just so it’s easier to understand where the essential scripts are.

In other news, we’ve got new portal animations and a lot of bugfixes that I honestly… forgot qwq.
But, hey, as I said: portal animations! Yay! Also portals can produce audio now, sick!

The main other thing I can think of right now is that I did a lot of configuration changes, so, you can view those in the screenshots (I’m honestly too tired to explain them, sorry…)

Oh, right! Large enemies can no longer be teleported through portals, since trying to fix it seems like a huge pain I just decided to make it.. not do that!

I probably did a lot more that I’m honestly just forgetting (I should really write this stuff down), because of exams and other stuff going on in real life. I hope you find this devlog satisfying enough, though.

Release date update thingy!!!! I think I’ll be good to ship ULTRAPORTAL sometime this week, probably on Wednesday or Thursday, who knows! From now on I will be sending friends builds so they can toy around and catch some bugs early, I might also implement one or two features, but, that’s about it. Hopefully the next time we see each other will be with a “I shipped ULTRAPORTAL, yayayaya!!!” devlog.

Thank you for reading!

Attachment
Attachment
Attachment
Attachment
Attachment
0
averytoad65

Most of my time was spent fixing bugs related to portals, like passing through them being extremely unstable. Luckily, portals seem to function pretty darn well now, which I’m really happy about.

The other big feature that I implemented was portal resizing! Now you can scale portals up and down however you please and make some…. cursed creations.

Also, my friend made some updates to the portal graphics that are absolutely incredible. Please, if you read this, give it up for Rose Warbug. He’s an absolutely incredible artist!

0
averytoad65

Oh, wow, 2.5 hours, jesus christ. And I barely remember what I worked on! Oh, right, it was bugfixes that kept adding more bugs, how fun.

But anyways, time to change the topic. We got new portal gun textures! Yippee! Thanks to my awesome friend Rose Warbug we finally have upgraded textures for the portal gun. Heck yeah!

Ok it’s like 12:30AM and I’m super tired so I’m gonna go now, gn!

Attachment
0
averytoad65

Wow, ok, 15.5 hours.. Uh, well as always I don’t really know how time passed by so fast, so let me just recap the most important changes since last time…

There’s a new portal gun type! The Twist Gun is a brand new type of portal gun that spawns at first unassuming portals, until you decide to traverse through them and notice that gravity suddenly changes. Yeah, I built a motion sickness gun. Next feature, lol.

The mirror gun now also has a fun alternative fire! It’s similar to the twist gun, except it’s like 10x easier to wrap your head around. The Flipped Mirror lets you shoot a mirror that turns the world upside down when you pass through it.

There’s also lots of new stuff to configure, like individual portal colors for each portal gun! As I added the Twist Gun, I noticed that differentiating between portals became extremely difficult, which was only backed up by my friends who playtested the mod. So, now you can customize each portal individually, yay!

You can also now fully disable portal borders, a long requested feature I constantly forgot about until now!

And, yeah, I guess that’s all I can remember right now. Well, ok, I am also working on SFX right now but that’s a different topic for a different day. For now, I’m going to go, because it’s 1AM my time. Cheers!

Attachment
Attachment
Attachment
Attachment
0
averytoad65

What’s one more week to ya?
Ok, so, jesus christ I logged four and a quarter hours. How? Well, I did tons of work on 0.2.0, and also just lots and lots of testing… So, anyways!

Lots of work was done in the process of creating 0.2.0, which is still ongoing mind you.
First of all, portals now no longer require a weird hack that disables entire colliders in a scene to let players pass through a ground/ceiling portal, now it just works by disabling specific components on the player and re-enabling them when the traveling is done. Oh, and enemy traversals work too, now, I just toggle the property “detectCollisions” on the Rigidbody of an EnemyIdentifier and then we’re all good to go.

But some other fixes have also been made, such as increasing the size of the portal gun projectile to stop certain bugs from happening, fixing portals in the cybergrind, and fixing a bug where a mirror projectile teleported enemies even if no mirror was spawned.

Now I have some bugs on my internal bugtracker, and on the GitHub isuses page, that I need to work on. Most important is a portal duplicating bug that one of my friends found. And making a raycast variant of the portal guns. Anyhow, that’s all for now, see you soon though with 0.2.0. :)

0
averytoad65

ULTRAPORTAL 0.1.5 is out! I am honestly so glad to finally be done with this update, because 0.1.6 will mainly just be sound effects and possibly a few bugfixes, and afterwards I will take a break for a bit. Also, change of plans, 0.1.6 will probably be the release I end up shipping, I don’t think I’ll get a response in time if I wait any longer than that.

Attachment
0
averytoad65

Small update on 0.1.5: Rooms will now be forced to stay active if a portal is inside the room! With the addition of this feature it should now be way harder to accidentall clip out of bounds, given that portals will (hopefully) never lead you into an out of bounds area. Hooray!

Attachment
0
averytoad65

Okay, so, I’ve been doing lots of work on making a new update for the mod, 0.1.5 (also known as Alpha 1.5) and, oh boy, it’s been quite a ride so far.

I started developing the patch when I saw an issue on the GitHub repository reporting that holding the portal gun in the middle weapon position didn’t render it correctly, and I managed to fix that bug pretty quickly. Alongside it came some weird bugs when changing the gun position in the settings, but those were also resolved quickly.

Then it came time to fix a pretty severe bug, in 0.1.4 I had introduced a keybind to destroy portals on the map, but I hadn’t tested it extensively, so there was a bug that caused the player to fall out of bounds if you closed portals as the player travelled through them. I fixed it, and made it show a little error message if a portal couldn’t be closed. This, however, quickly developed into the idea of making the portals explode if there’s something travelling through them on destruction, which lead to me adding a brand new style bonus “+SAFETY HAZARD”. This style bonus gets applied if enemies get exploded by the portal. And of course, all the colors of the explosion and style are configurable.
This is what took up most of my time, to be honest, a lot of the backend wasn’t built to support this and so I had to rewrite some stuff.

Now, I also wanted to fix that portals couldn’t stick to surfaces. This also caused me to have to rewrite parts of the mod, because I now had to account for the fact that portals could change orientation and get destroyed. But now that is all worked out and we’re here.

I’ll be doing some more work on this update before publishing the final build, but I hope this gives a good insight into what I’ve been up to.
Thank you for reading and have a nice day! :)

Attachment
Attachment
0
averytoad65

Welp, in this hour that was logged coding I made two updates for ULTRAPORTAL. I’m gonna try to quickly recap what they are, since I don’t have a lot of time to write this devlog.
So, Alpha 1.3 was up first, and it was essentially a huge bugfix update focused on making portals work better with players and enemies, and I’d like to think that I succeeded in that. Portals function way smoother now and there’s also a nice bit of extra customization. And Alpha 1.4 was basically the same, it was focused on adding more configurations to the mod, this includes more color settings and a new button to despawn portals.

And that’s about it! Happy coding!

Attachment
Attachment
0
averytoad65

Ok, I mainly did some work on the main mod. I have successfully completed patch 0.1.2 (also known as Alpha 1.2). Let me quickly walk you through the changes it makes to the mod.

  • Fixed a bug where dying could softlock you if you had never equipped a portal gun in a level
    This was an issue caused by some objects in the portal/mirror gun not being initialized. If this bug triggered, you would get the regular death screen, but pressing R or any other input didn’t do anything.

  • Fixed portal guns being accessible even if they were disabled through the config menu.
    In the mod there’s a setting to enable/disable the portal guns. It’s there so users can play ULTRAKILL normally, as if the mod was never enabled. Issue is… my first implementation was not tested well at all. So I fixed it! Now the portals even despawn if you disable the portal gun. Cool, isn’t it?

  • Fixed being able to switch to portal guns when game is paused.
    You could previously press the keybind to load the portal gun in your gun holster while the game was paused.

  • Fixed a bug where you could teleport enemies through portals that hadn’t been summoned yet.
    While this bug never happened to me, I noticed it as I was looking through my code again. Decided to quickly fix it before anybody noticed…

  • Tweaked portals to hopefully improve portal transitions.
    This is very technical, and honestly, I don’t feel like elaborating on it. But basically I added a new trigger in the portals that disables certain security checks if you’re inside it.

oh and I also made the README a bit prettier, although I messed it up because I used local file paths instead of links to the githubusercontent stuff. That’s annoying. Will be fixed in the next update though, maybe I’ll make a small patch with more configs or sth tmr. We’ll see.

Thank you for reading. :3

Attachment
Attachment
0
averytoad65

So… I made this Flavortown page a bit late, oops. I kind of got sucked into creating this silly mod for ULTRAKILL which adds a portal gun, and, yeah. Here we are. Now I’m writing in social studies quickly whipping up this devlog before I have to go. For clarity: I will not be discussing development of ULTRAPORTAL 0.1.0 or 0.1.1 here, I will only be documenting updates 0.1.2 / 0.2.0 and further. Once 0.2.0 is done I will ship.

Attachment
0