[WIP] RADIANT - Sci fi Team Based FPS - (gameplay video!)

What is RADIANT?

RADIANT is a team based, fast paced multiplayer FPS. Need some cover taking that control point? No problem, Protector’s can place Drop-Shields to aid their teamates in the most desperate of times. Need to get rid of a room of enemies? No problem, throw a SmartGel grenade around that corner. Need to hold enemies off for a period of time? No problem, Tank has got your back cover with his Shock-Molotov.

What separates RADIANT from other multiplayer FPSs?

I plan to have multiple ‘worlds’ in RADIANT. Getting bored of playing on Earth? Go join a lobby in another time and/or universe with new weapons, new characters, new maps, and possibly new game modes.

What price? $60?

No! That’s the best part about RADIANT - it’s all free. You heard me, 100% free! If you want you can donate $5 to the developer(me) and get some cool features, though, new HUD color, colored name, special ‘membership’ only battle icon, and access to ‘membership’ rooms(with more features to come!). I’d also like to address that I would never sell this game for above $10, as it the graphical quality doesn’t reach anywhere above that.

Wow! All for free? What else is there??

Along with it all being 100% free, RADIANT can run on almost any computer. This means you can enjoy gameplay with getting very low framerate and/or stuttering.

Here’s the current progress in a gameplay video:

3 Likes

Update 1: Teams, Grenades, Crouching, and more

Hello, everyone! Welcome to the first update. I got quite a bit done today, most notable are in the title.

I have all the teams planned out: (and 2 implemented, Team Morphos and Team Foxtrot)

(oldschool notepad ftw!)

And here’s Morphos and Foxtrot’s icons, these will be changed in the final product:

(left Foxtrot, right Morphos)

And finally, them in the game:

Which brings me to the next feature, teams! :smile:

Teams were a tricky thing to add, of course I could’ve used Photon’s default script for this but I want to make everything on my own in this project. Firstly I have the 2 team buttons, when either one is pressed it calls a function in the networking manager which creates the player, but with the team id you give it. If id = 0, team Morphos, 1, Foxtrot, etc.


team example, where the player is aiming at the enemy “Henry”. The player is on the red team, where as Henry is on the blue team, therefore an enemy.

There’s a nasty bug I need to squash tomorrow where it doesn’t add up score when it’s told to(I’m using an RPC). I think there’s also a bug where grenades don’y sync properly, all this will be fixed tomorrow.

Also, crouching! This is networked, both animations and colliders.


Player on Team Foxtrot crouching behind cover.

Crouching is all executed by this code:

Pretty simple, kinda sloppy in some parts, but hey, it works for now and isn’t 100% necessary to make it super efficient currently.

That’s all I have for today, as for grenades, there’s not much besides this coffee cup spawning when it ‘explodes’:

Be watching out for a gameplay video sometime in the next few days, tomorrow after I fix some bugs I’m going to make a new map that me and some people will play on! (probably a remake and better version of the current map–Arena)

Scoreboard! (and respawning, no longer will your screen freeze!)


Two players on Team Morphos shown on the score-board.

Name, kills, deaths, and score are all networked! I spent half of the time making this fixing the bugs and glitches that it had, glad that’s all over! Team colors also correctly sync over the network again, they were broken before.

Currently it’s messed up on some resolutions, but I will fix that. It randomly chooses an image from a spritesheet for your ‘rank’. Once I get the scoreboard working without issues I’m going to add real ranks, which I’ll need a rank script for. I’ll also draw new icons once that happens. :slight_smile:

I’m probably either going to work on chat or the main menu right now, probably the main menu as it’s more vital (even though it won’t be final).

Chat!

All players receive it across the network, and if there are more than 7 messages it deletes the oldest one. It also fades out after 5 seconds if it’s not being used! I was gonna do the menu–and now I am but it took like 30 mins to implement chat, so nice feature done in little time. :slight_smile: Next step is to make the menu and make it connect to Photon–then allowing the players to join rooms with ease. Seems pretty easy, I just have to make it connect to the lobby and then make the room browser, which hopefully should be pretty easy as well due to PhotonNetwork.GetRoomList(). I’m also going to look into custom room properties, to store the player count, map, gamemode, name, etc.

Main Menu, and room browser!

First when the game starts it checked whether not you’ve opened the game before, if you haven’t it asks for name. Once you load it up again it loads your name and greets you. I’m planning to add daily bonuses in the future to this.

Room browser!

When there are no rooms:

When there are rooms: (dont mind the text on the right, that’s broken atm)

It shows the room name, map, max player capacity, and eventually the gamemode.

What the person making the room sees:

Little things like the map image position needs to be changed, as well as the map name. I thought making the room browser would be fairly straight forward, but it took a few turns every now and then. Now off to make a new map and fix all the bugs I’d found last night play testing. Also, no video, sorry about that. :frowning: We found one bug where when you respawn your character messes up, so you have to restart every time you die. Not fun!

Hopefully a video sometime soon, though. Maybe near the weekend.

Feedback is appreciated.

2 Likes

Why Unity? :frowning:

Sad thing is is that the scene is really simple and the baking settings are, too. By the way this is the new level which is baking lighting. In the mean time while it’s baking I have to do something productive, so I remade the shotgun as the original looked terrible:

I’m gonna have to find other stuff that’s going to occupy me though while I’m waiting.

1 Like

Update 2: New Map, 3 New Classes, New Dynamic Team Chooser, New Dynamic Team Colors, and more!

Hello everyone! Welcome to update 2! :smile:

I’ve been working on several of these features for multiple days, and probably spent the most time on the dynamic team chooser/colors. Let’s get into it! We’ll go over my second favorite feature I’ve added, the dynamic team colors and team chooser. Firstly, the room creation has 2 new features added. First being the teams, second being the ability to add maps to the map list without lifting a finger(metaphor):

New team chooser, basically there are 2 team options. Team 1 is the left button, Team 2 is the right button. When the game starts the colors on opposite sides of the map will sync correctly depending on what teams you chose, as well as their names.


Example of the new teams, team 1, Morphos, will be facing team 2, Foxtrot.

And the new map chooser, I made a map script that allows you to define the maps properties, such as map ID/name so the game can load it, allowed gamemodes on that map(not implemented YET–gamemodes will be the next thing I work on), as well as the recommended amount of players. You click on the map icon in the top left to change the map.

The map script:

The logic behind it is that when you create a new map, you create a new map ‘tab’ and assign the map script to it(or duplicate the prexisiting one which is easier, then just change the values). You then add the scene to the build settings, then take it’s ‘id’ shown on the side, and put the mapID to that. Or you can change the mapName to be the name of the scene, I usually do both to be safe but it can load either one.

Then, the button you actually click to select a different map has it’s own map script, which is actually where the info comes from to load the map you selected. Each time you select a new map it changes the buttons map script to those values, including the image, name, id, etc. It then takes the button’s id/name and creates the room with that level.

(note: new map will be shown in a video sooner later)

This is what the team chooser is like in game. Chose Team Naxuum vs Team Talisum? Then you got yourself 2 sides with those colors, yellow and purple.

Chose Team Morphos vs Team Forest? Red vs Green! This is an amazing feature as I literally don’t have to do anything fancy to make it happen. There’s this script which handles it all, I attach this to objects I want to be a certain team color. Then when the room loads the master client sends an RPC to everyone that sets the colors. This is the script for the colors: (btw the team materials are assigned at the start of the room by the manager using custom room properties, basically takes team 1’s “matName” as well as team 2’s and loads them from resources and then puts them in a custom variable so I don’t have to load them each time I want to use them)

Also, here’s the team script:

What’s great about the map and team scripts is all I have to do is assign some variables, add them to the list and boom the game takes care of the rest. Pretty neat and efficient!

A little note, I also redid the spawning entirely. My problem before was that I was connecting to Photon’s servers, and then connecting to the only room directly in the level scene. This posed a huge problem when I made the menu, as all I needed to do now was to connect to the newly made room. This new method is also 100x more efficient and faster than what I was doing originally, which is very good! (the new spawning manager has over 240+ lines of code currently, and will be exceeding 500 soon as I’m going to add more functions).

Next, new classes!

Classes were fairly straight forward, the same thing as the map selector. A made a class script:

Then I have a string that is what the manager uses to create the players, as each different class is a different prefab. I take the “loadName” which is usually MODEL_PLAYER_CLASSNAME. It then loads the prefab with that name from resources.

Here’s the window for choosing a class: (images will be added soon!)

Assault is your generic assault rifle class, Rusher is a slightly more difficult class with a shotgun, Operator is a CQB class which has a super fast gun with little damage and decent amounts of energy consumption, and Protector–we’ll get to him soon. :wink:

On a side note a found a free glow shader that looks BEAUTIFUL, especially since it’s the look I’m going for. Although I found it can lag quite a bit on lower end machines, so for right now there won’t be any glowey stuff. I’ll add an option for it when I add the options menu(and pause menu). Here’s a demo scene from the glow shader: (called MK Glow System)

Now that I think about it maybe the mobile shaders won’t lag on lower end PC’s because well, they’re optimized for mobile.

Lastly, my favorite feature I’ve added in the past few days–the new class, Protector.

Why do I love this class so much? Look at his weapons and his mask in the picture above. He’s a support class, and isn’t very powerful, but when he gets his drop shield he will be an essential asset for capturing and point, or defending a point. I honestly freakin love the gas mask, it just looks so cool. Plus his dual pistols, which also play and animation depending on an int (0 = play left shoot 1 = play right shoot). I’m also planning to add visual laser shots, so that should be cool.

Bit of a teaser for what’s to come…

1 Like

Yay! Finally a gameplay video:

2 Likes

Good progress.
The floors and ceiling needs some color material or a texture.

Thanks, I don’t know how “graphic-ey” this game will get. For a few reasons, first is that I’m not (edit )aiming towards a realistic game and I suck at realistic texturing and modeling, second is because I’m trying to aim for good performance on all if not most PC’s. I have a laptop with 4GB of ram and a dual core w/ intergrated graphics from 2006 and it runs this game fairly well. That’s not to say there won’t be any graphic stuff, just not at the current state.

Also, I played some on a browser game, ROBLOX, named Strobe II and that’s one of the main looks I’m going for. (simple neon lights)

Thanks for the feedback!

This looks pretty sweet, I will like to see how this turns out.

Keep up the good work! :slight_smile:

Looking for a professional touch to your project? I am a skilled PBR 3D artist and texture specialist. PM me if interested!

Thanks! I’ll think about it.

Thank you!

1 Like

New scoreboard! Right now I’m using legacy GUI, but that will be changed in the near future.

I’ve also decided that I will try to make this game look as nice as possible, rather I’m going to try to make it look somewhat realistic. This means higher poly models, kinda low-medium res textures, etc. A great example of a game that does this but runs extremely well is Assault Cube.


(picture courtesy of PlayDeb.net)

Most of the game is 128x128 textures, but the game can run on almost any machine. This will be my motivation to make my game playable no matter what you have. Later today I will be taking some pictures of textures (I heard noon is best time because of no shadows basically, so I’ll try tomorrow to take some around that time). I also have several free texture libraries I’ve found, such as CG-Textures (now known as Textures.com but I still call them that), and a few others. I won’t be using the others much though as they don’t have as many textures to offer as CG.

Other little thing-- I made a loading bar for creating a level. Just adds a little satisfaction for some reason.

1 Like

oops, I forgot to attach the video:

1 Like

Today I took around 54 pictures of objects around my house and around my front and back yard, considering I’m only 14 I don’t really have much money to buy a camera, so I used my parent’s one. Holy crap, this thing takes photos at 4k, lol. I am gonna scale them down to either 512 or 256, or 128 but dang. Eventually I’ll be buying a decent hand held camera to take around with me so I can take photos of everything I see.

This is the start of hopefully, a very large personal texture library!

1 Like

I have just made 6 seamless 256x256 textures, and for my first time doing so I’m very pleased. I took a lot more photos but either they were blurry, or weren’t at the right angle. I’ve learned a lot from this first try–and next time I’ll probably use a tripod. I’m making a video on it so I’ll post that here once it;s done (probably 30-1 hour, editing and stuff).

EDIT: Actually probably longer than an hour. I accidentally recorded the video at full size with FRAPS, and if you’ve used FRAPS you know it records at REALLY high file sizes due to the uncompressed video format. (the file is 8.02 gbs for like a 5-10 minute video :frowning: ) So, probably more like 1 1/2 hours.

Here’s the video on the new textures:

1 Like

I remade the first gun I made in the game, named M7A2 as it’s a “remixed” version of the M4A1. The textures are very subtle in Unity for some reason but here’s the texture map and the picture:

256x256. I’m pretty happy with this one, but I’m probably going to change the colors and maybe a few other things but this won’t be in the final game.

Progress on the new map, ra_acerbus.

Considering this is my first map the textures are funky, but it’s fine for now. Eventually it’ll be replaced!

(also acerbus is Latin)

1 Like