Hey all!

So I don’t know if you caught it but I released Portal Gun for Minecraft 1.10.2 yesterday, but I didn’t get round to writing about what’s new. This is going to be a bit of a long post as I write about what’s new with Portal Guns and what’s planned for the future, and it will get a little technical. A bunch of screenshots I’ll be showing here will be from the development version so you get a little bit of insight on the process as well.

Aesthetics



The image used to announce the release of Portal Gun.

So I’m sure a lot of you have noticed, but you can see through the portals again. This work is a combination of what you guys saw in Doors and what you guys saw in Blocksteps. Code changes in Minecraft 1.8 however, essentially meant I had to rewrite most of the code that was from Doors again anyways.

However, as these see through portals are what you would call a “live render”, your FPS will, effectively, be reduced by ~40-60% as what I am doing is essentially moving the camera and re-rendering the entire scene, with extra bits and pieces to make sure the render looks right. But on the bright side, you can see portals in portals!



Recursive rendering works. But of course, FPS will tank. In-dev GraviPortalGun also seen here.

Portals also now have a new fancy portal border render made by amadornes, who helped make the shader that we’re using and some of the background code in how portals actually work.

To try and accommodate for everyone’s various setups, there are a bunch of configs available for you to tweak. In the future there may be more added as I try and improve the performance or reduce the load on players. You can read the tooltips on the settings themselves to figure out what they do.

Go to: Mods -> iChunUtil or PortalGun -> Config, and an in-game config editor like this should show up.

Next up on the list, say hi to the new portal gun model by RazzleberryFox. You can already see it in the first image, but it also animates (to a degree) when you’re firing portals and grabbing blocks. However, the animation was rushed (the model was literally added and animated a day or two before release), and may be subject to change, but here, have some fancy in-dev shots of me getting the model in-game.



That’s a really weird looking lightsaber… Oh wait a new mod idea! (I’m joking)



I have made a monster. Say hi to the many-clawed portal-gun.



(Also known as the monstrosogun, portal shader in this image was still WIP)



Also to note, the portal gun core and indicator glows in the dark.



Mmm… electrical arches.

Another thing to note is that portals will also render their outlines if they’re obstructed and you’re holding the portal gun of that type.



I totally did not just place that block of grass and chicken just to show off the outlines.

That’s pretty much all I have to say for aesthetics. I do have to add that for all of them to work properly, (getting technical here!) Minecraft has to think that you can use framebuffers, and your graphics card should be able to support stencil buffers and shaders. Unless your computer is incredibly old (or, if you’re using integrated graphics potentially), most of you should be perfectly fine. If not, drop me a message somewhere and I’ll try and troubleshoot it with you.

Gameplay

Okay so for gameplay, the basic essentials hasn’t really changed. Shoot portal here, shoot portal there, speedy thing goes in, speedy thing goes out.



Ignore the round portal. I’ll explain that later

However, there is a new mechanic to portals. Portals now have collision around the portal. Gone are the days where you could touch a ghast (which is 4x4x4) against a 1×2 (width x height) portal and suddenly have it pop out on the other side. Entities have to physically enter the portal to be able to teleport through the portal. The same applies for players but due to an oversight (that I hope to fix in 1.11.2), I have to teleport the player sooner than other entities. It is very, very satisfying to fire portals on the ground now and watch entities drop into it 😉

Yes, your camera WILL roll when you go in through a portal in the ground/ceiling. Just imagine that you’re reorienting yourself after you came out of a portal sideways.



Half in, half out



I quite liked this picture actually. This was pretty much immediately after I finally got the entity renders within a portal working right. See next image.



Entities in the portal had to be special cased to be sure they rendered on the “other side”. If they weren’t, you’d see something like this.

Crafting, at the moment, still uses the same recipes. This is subject to change. There is something new I want to add later that I wasn’t able to put in due to time constraints. I will write about it in a bit. If you look at the tooltip for the portal gun you can kind of gather what I might be planning. Crafting a new portal gun will randomly create a channel for you with random colour allocations. Don’t like the colours? Keep crafting new portal guns. The “Global” portal guns, Chell, Atlas, P-body, can all be found in the creative inventory.



Yay for new textures/models?

That’s actually it for gameplay. It hasn’t really changed as much from the old mod, really. MC’s attack key for shooting left portal, MC’s use item key for shooting right portal, middle mouse to zoom, G for grab, R for reset, hold R and hit LMB/RMB for individual resets. (QWERTY layout).

What’s to come?

This is where it gets interesting. There will be a lot more text here rather than pictures. Trying to adapt a concept as gold as portals and the portalgun for MC survival is going to be hard. I have some ideas that I would like to share with you here first.



1×2 left, 5×5 right

For starters, portal guns are meant to be upgraded and their portals meant to be highly customizable. The rewrite was done with this in mind so most of the underlying structure is already there… There’s just no way to modify it yet. Firstly, portals will come in various shapes and sizes. I’m planning for the basic portal gun to start off as a simple 1×2 portal, upgradable in width and height individually up to 5×5.

Next up, if you didn’t catch it when I mentioned “Global” portal guns, portal guns are meant to be a personal object now. When you make a portal gun it will be assigned to you and you can apply/create a channel and choose your own colours. A portal gun made and configured by a specific person will only provide access to that specific channel. Global portal guns are essentially a set of channels that aren’t locked to any particular player and is meant to be shared between one another on servers. For now, when you craft a portal gun, you are allocated a random channel with a random colour and a paired colour on the opposite end of the colour hue spectrum. You should be able to change these in the future.

Speaking of crafting, I’m also targeting to make portal guns a mid-game item (because it can be upgraded over time), meaning the recipe will be changed to adjust for mid-game. Midgame here meaning vanilla of course, mod pack makers are welcome to change this recipe as they wish in the future and adjust the balance of it all. Feel free to drop me a message when the time comes on how you would like to discuss balance.

Grab strength is also going to be an upgradable feature. For now I’ve gone and given you the strongest grab capabilities of the portal gun, close to combating the gravity gun in functionality, actually.

In terms of the upgradable system. Portal guns and portals are likely to require fuel, and eventually upgradable to not require it. Though I understand some of you (myself included) might not like this change (you could say it’s not true to Portal lore), like I said, it is hard to try and adapt something like this for MC survival and to keep it somewhat balanced. A lot of the factors will be part of an upgradable system, fuel requirement, portal firing distance, portal upkeep/use, grab use, size, etc. I am, of course looking for feedback on this in the reddit post I’ll link below.

I’m also thinking of changing the animation of the portal gun and the portal projectile renders. Those were rushed to meet yesterday’s release.

That’s pretty much it for portal guns. Over time more elements of Portal and Portal 2 will be making a return as well, when I can get round to it. In fact, right now the mod uses Portal 2’s sounds rather than Portal 1’s (yes, there actually is a difference).

Soo… besides that, you might have seen mention of something called “World Portals” in the config screenshot earlier. What is that? It is a part of iChunUtil, and essentially, is what powers the portals in the mod. It does the rendering of another perspective, the teleportation, those sort of things. It basically permits illusions like this, this, and if tweaked properly, could be as powerful as this (note that this mod is discontinued). Devs, you can find the source code here. Temp branch, soon to be pushed to master.

Eventually, I will write a mod that will allow people to take full control of World Portals. I could see this really being a very interesting and powerful concept to play around with in the future but that’s for a different time.

Known issues

Anything reported here.

Crashing on dedicated servers.

Incompatibility with foamfix, codechickenlib.

You can’t use portals or see through them over long distances. (I think)

Lag when you pair a set of portals.

The shader renders have bad z-fighting (#BlameAma)

Parts of the world will not render if there is camera roll involvement.

You can’t grab entities through portals and there’s no interaction with Gravity Gun yet.

You can’t shoot portals through iron grills.

We’re lacking a lot of aesthetics and config options as well.

Dispensers do not fire portals when triggered.

Fancy Portals config does not work.

Final note

This mod took an excruciating amount of time to rewrite. Part of it was already done last year, as some of you may remember. Unfortunately, I got burnt out working on it and shelved it. About a month ago I took it out and blew the dust off it and the result of continuing that work is what you see out now. Personally, I feel like I spent more time on it over the last month than I did last year.

Both World Portals and Portal Gun are not easy mods to write. As I stated yesterday, I felt that this release was not up to my usual standard of mod releases. I sought the help of several developers on stuff I had trouble on and not many could help me solve those issues proper. I will have to admit, that I am pooped out once again and will have to take a bit of a break to focus on life and recuperate.

I will be spending the next few days trying to fix issues with the mod reported, with the main issue tracker being here. I won’t be able to get the server crash fix out today, it’s a little more complicated than I expected but I’ll try and tackle it tomorrow instead. After that, development will slow, but hopefully be steady.

I have a few people to thank as well. Firstly, Direwolf20 for testing and for collaborating on getting this video released around the time the mod was released:

amadornes for working on the code and the shaders. RazzleberryFox for the portal gun model. Gigabit101 for testing. heldplayer for trying, and for listening to all my rants. euclideanspace.com for massively helping me figure out quaternions. The various others who knew I was working on this but kept it a secret. Apologies for those who I’ve left out though, and to Darkosto for dealing with my teasing.

That’s all for now. Gonna take a breather. I generally don’t respond to comments on this site, so discussion will be over here on Reddit.

Cheers!

– iChun