I Made the Same Game in 9 Engines

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
as I travel the Universe on my quest to learn game development I've decided to try some more game engines that I've never used before and what better way to get a feel for them than to use them all to make the same simple game so today we're going to build a space themed Shoot Em Up in a bunch of well-known game engines then compare their results it's going to be a bumpy ride but I think the journey will be worth it so let's get started [Music] the first engine we're going to explore today is Click Team Fusion I'd heard of the engine back in the day but never seriously considered using it surprisingly click team and its predecessors are behind some very well known games it's touted as a powerful script-free engine that allows even beginners to quickly make video games so let's Jump On In the first thing we're going to do is get our player moving around this is actually really easy all you have to do is create a game object then in its properties check a little box that gives it eight directional movement next we'll use the built-in image editor to replace the default Diamond Sprite with the drawing of a ship I'm going to challenge myself and only use each engine's built-in tools to make all the game assets and now we have a ship moving around our game next I'm going to make a bullet and give the ship the ability to shoot it to do that click team has a simple but powerful event system all we have to do is put an event on the ship that will shoot the bullet when the space bar is pressed oops let's change its origin Point that's better demo work on the enemy I'll just use a couple events to move it diagonally for a certain distance than reverse Direction this will make it zigzag across the screen then we'll add an event that checks to see if the player's bullet is within a small distance of the enemy if so the enemy will get deleted likewise if the enemy gets too close to the player the ship will be removed now to update the enemy Sprite and give it a shooting event that fires every few seconds it looks like it's shooting every frame so let's slow it down there we go then we can make a second enemy except this one can shoot diagonally now we can add an event that spawns each enemy every few seconds and lastly we'll poke some Stars into the background duplicate it then use events to endlessly scroll the background behind the player so it looks like we're flying through the depths of space and that does it we've got our little Shoot Em Up game running overall I really liked using click Team Fusion it's simple enough that it's not too intimidating to start a project but it's powerful enough to make larger more complex gameplay and of all the Event Systems I've tried I like this one the best [Music] the next game engine I'm gonna try is by far the one most requested by viewers it's Roblox Studio a 3D online multiplayer game engine I actually wasn't that familiar with Roblox other than its reputation for being a kid's platform but after looking around a little I'm seeing where there's a bunch of really cool games and talented developers in the Roblox universe so I was excited to try it out but as it turns out Roblox is a little more difficult to use than I thought basically Roblox is set up to where it's pretty simple to make a game if the game is similar to one of the provided templates but if you want to make a completely custom or even a very simple game from scratch it's much harder because you have to deconstruct some built-in functionality in ways that aren't immediately obvious but luckily a Roblox developer from my Discord offered a helping hand good old Taco food was nice enough to walk me through how the editor is set up and gave me some resources that would explain how I could approach our project so the first thing we need to do for our space shooter is change the default player model I'll just use a basic block for now then I watched a tutorial that explained how to make a fireball projectile what you do is make a here and add a trail object to it then you make a script for the sphere that spawns it in front of the player and adds Force to it when a specified key is pressed next we'll make some placeholder enemies and put a script in them to where they'll get deleted if they collide with the bullets we can also use roblox's built-in scoreboard to give the player a point when this happens now we can build a little ship out of the default shapes to replace the player block and now our ship can slide around and shoot then we'll make a target for the player to shoot at while they're zooming around and to make it look like we're flying we can delete the floor texture and change the time of day in the workspace to midnight now we can fly around and shoot our enemy targets to rack up points nice I think I'll leave it here for this game overall Roblox is a super powerful and capable engine and the fact that anyone can make a multiplayer game that could be played by thousands of players is incredible but if you want to make a small and simple game from scratch that isn't multiplayer there are probably easier options foreign and now we're going to make the next version of the game with buildbox a somewhat newer game engine that comes in both 2D and 3D flavors these are some of the games that have been highlighted on their website from what I can tell buildbox is mostly used to make mobile games and it's advertised as the world's first software that truly allows anyone to create amazing games regardless of technical skill so let's take it first bit first we're going to start with our player Q then we'll change the scaling of the cube to flatten it out and we'll throw on some wings next we'll add some movement to the player's ship to do this we'll use buildbox's built-in visual scripting system first we go into the ship's mind map which is where you create the visual scripts then we'll find a movement node for the list of pre-made nodes next we'll hook it up to the start node that's already on the ship and change the movement node settings so that the shift will move in the Z Direction every frame and just like that our ship is moving forward then we'll add nodes that check if the player is pressing left or right and make the ship move accordingly while it flies ahead dimple put a movement note on the camera so that it will move forward at the same speed as the ship next we'll fashion together an enemy for our player to shoot then we'll add a Collision node that checks as the player collides with the Enemy and another node to make the player explode when that happens now we'll make a long thin cylinder to act as a player's laser and just like before we'll use visual scripting to spawn the laser in front of the player and have it Zoom forward oops let me fix that there we go and we'll give the enemy the ability to shoot pellets then we'll make an enemy spawner to continuously spawn opponents at random positions in front of the player in this version of the game we'll also spawn coins that the player can collect for points next I want to make the game look a little more Spacey so I'll change the ground texture and darken the sky box and that does it we've got a working space shooter game to sum up my experience with buildbox I'd have to say I really liked it the visual scripting is easy to understand and you can also write traditional code with JavaScript if you want as a newer engine without a ton of commercial games under its belt I'm not sure how capable it is for making large and complex games but for making mobile games or beginner projects it seems like a great tool now we're going to switch things up a bit and make the next iteration of our game with rinpai for those who don't know rinpai is a very popular and open source game engine used to make visual novels in fact it's the fifth most used engine in terms of games released on steam coming in just below game maker and RPG Maker rinpai is considered very accessible and simple even for first-time developers so let's fire it up and create a shoot em up visual novel first we'll make some art the game is only going to need a couple backgrounds because most of the story will take place on the bridge of a Starship so let's spend some time working on the perspective and trying to make it look Spacey then we can trace over some photos I took of Gunther and plop him into the scene next we'll add some color to bring it all to life we also need a couple other backgrounds for the opening and ending of the story next we'll work on the gameplay to be honest calling her Empire full featured game engine is probably a bit of a stretch because it's more like a coding template basically what you do is write out your story using a particular scripting format that rimpai can understand and display as a visual novel for example this line right here in our script will display the title screen image this line will make an image of Gunther pop up on top of the background and this command will display a line of Gunther's dialogue so we'll just use this format to create our dramatic space encounter excellent without further Ado I give you shmup the visual novel thank you Commander our sensors have detected an unidentified vessel in the vicinity the preliminary threat assessment is uncertain what would you like to do [Music] but Commander we could run a more comprehensive assessment there may be innocent life forms on board As You Wish Commander cannons firing so yeah rinpai is awesome [Music] our next destination is a game engine called cryengine cryengine is an all-in-one platform that gives you the power to create stunning and memorable experiences it's a technology underlying some very well-known AAA franchises and continues to be a Cutting Edge platform in the game development space so I'm excited to try it out well I thought I'd be excited because to be honest of all the game engines I've tested I had the most trouble using cryengine when you start off with the project cryengine comes with a bunch of built-in functionality that's geared towards making first person shooters which I guess makes sense this means for a space shooter like ours we need to undo some of that functionality but to do that you have to alter some of the underlying code and logic in ways that aren't at all obvious after trying and failing a bunch I eventually realized that cryengine does have a top-down third person template that would be useful for starting our game but it was still really hard to make changes to it for instance it took me forever to find the place in the player's code that specifies the size of the bullets the player shoots and how far they'll go then I was able to model a rudimentary ship using the built-in designer tool which is actually a really cool tool because it allows you to make complex meshes but once I did make the ship I couldn't figure out how to swap out the player's default model with our new ship model I spent forever researching it but I kept running into dead ends I also couldn't figure out how to make adjustments to the camera or player controller and I had a lot of difficulty using the built-in visual scripting system to create additional functionality for the game so after a few painstaking days of trying and failing I decided to cut my losses and leave the project where it was overall cryengine is a very powerful engine as evidenced by the amazing games that have been made with it it has tons and tons of features that seem really awesome but unfortunately it's difficult to figure out how to use them when you're just starting out and there's not much information or tutorials available to beginners to help you learn maybe one day I'll revisit it and try again but for now it's time to move on after my experience with cryengine I think my confidence has been shaken a bit so for some reassurance I'm gonna revisit my old friend Unity to make the next rendition of the game unity is probably the go-to game engine for most Indie developers and it's the one that I'm most familiar with it's a well-tested and Powerful engine that can make pretty much any type of game so the first thing on the agenda is of course to make a player block then we'll throw a script on it to make it move forward and check for left and right input from the player then we'll make a laser out of a thin cylinder and to shoot we'll make the player block instantiate a copy of the laser when the player pushes the space bar next we'll make an enemy that looks like a germ out of some default shapes I'm using more spheres and capsules rather than blocks in this version of the game demo write a script that makes the enemy shoot at the player every few seconds next we'll make an enemy spawner and we'll check for collisions between the lasers bullet player and enemies and handle those collisions then we'll get creative with our spheres and try to make our background look like we're flying through space lastly we'll update the model of the ship to be a bit more interesting I think I'm liking that and that does it we've gotten our shooter game off the ground and running in unity overall I have to say I really like developing with unity I just like knowing that no matter what kind of project I want to make Unity can get it done and anytime I've run into issues or gotten stuck there's a wealth of information and resources available to help me get through [Music] the next game engine we're going to use on our journey is called Pi game now Pi game isn't technically a game engine it's more of a development toolkit with libraries that help you make games it's actually a bit difficult to find examples of commercial games made with pi game but there are a few and there's a growing community of developers using pygame because python its scripting language is quite popular so let's jump into developing the game first off because pygame doesn't have a graphical user interface we'll have to build our game entirely in code so the first thing we'll do is set up a rendering window to display the visuals then we'll make a game Loop a game Loop is basically all the code that runs during each frame of the game I'm using a basic while loop that will keep executing until the player exits the program next we'll create a ship Sprite for the player I'm using a Sprite by any Imaging program will do then within the game Loop let's use pygame's event system to check for player input now if the player hits left the ship will move left and if they hit right the ship will move right then we'll create an enemy Sprite that looks pretty good demo code a simple movement script for it next let's make a bullet that when activated will start at the position of the ship and move upward across the screen cool now the player can shoot next we need to figure out some kind of collision system to determine if the bullet has hit an enemy the easiest way to do this is to check if the bullet is within a certain distance of them if so the enemy is reset to a position back at the top of the screen and once again we have our cute little space shooter game going all in all I think pygame is a great tool to make video games especially if you're looking for something that lets you code in Python I do think using a traditional game engine is overall more convenient because it comes standard with so many useful features but if you want to build your game from the ground up Pi game could be a great way to go [Music] now we come to picoa another game engine that's not quite a game engine Pico 8 calls itself a fantasy console think of it like a virtual emulator for a gaming console that never existed it's designed to purposely restrict developers into making 8-bit style games with limited graphics and scope but even with these limitations or maybe because of them some really cool projects have come out of pico8 so let's give it a whirl first we'll go over the very simple interface this screen is where you write Lua code this screen is where you draw your Sprites this your screen is like a tile map editor for placing Sprites in the game and these two screens are used for making music and sound effects to start making our game we'll draw an 8-bit ship using the built-in pixel editor then we'll code some movement for it [Music] next we'll draw and code a little Fireball for the ship to shoot then we'll make a starry background using the tile map editor we can use the same technique as before to make it scroll endlessly next let's draw an alien Invader to use as an enemy and we'll write some code that kills the player if they get too close to it next we'll script some movement for the Invader that makes it zigzag down the screen then we'll make a second enemy type and code some diagonal movement for it we'll also check for collisions between the player's bullet and enemies and lastly because we're having fun we'll make a third enemy type to make the game more challenging so that's pretty much it our Pico 8 Shoot Em Up is whizzing along nicely to sum up my experience using Pico a I'd say it's really fun and refreshing to use a tool that's so simple and self-contained even though there's not a lot of built-in functionality I don't mind because it's so charming and it feels like such a win every time you get basic mechanics to work [Music] the last stop on our trip is a game engine called copper Cube I'd actually never heard of copper Cube until I started researching this video but it's advertised as an easy no code 3D game engine for developers of all skill levels supposedly you can get a game up and running in no time so I'll put that to the test the first thing we'll do is get our default Cube moving around the scene this is actually really simple all you have to do is click on the cube and select the third person movement Behavior awesome we can move the player around and the camera Trails behind then to make the cube shoot we'll just add another behavior that performs a shooting action when the player presses the space key next we'll make some placeholder enemies and add an AI Behavior to them that makes them Patrol a small area then we can add a behavior that checks for collisions between the bullet and enemy and an action that deletes the enemy when struck next we'll update the enemy model to look a little better and just like with the player we'll give the enemy a shooting Behavior last we'll craft a better looking ship using some basic default shapes and just like that we have yet another version of our game working overall I have to say I'm pleasantly surprised by copper Cube it's really easy to understand how to use it and you can quickly make a small game without writing a single line of code though it's not the most flashy or popular game engine I really hope it gets more attention and love because it has a whole lot of potential so that's how you make the same Shoot Em Up game in nine different game engines even though this project was a challenge at times I had a lot of fun with it and I hope you enjoyed following along if you'd like to chat about making games with me in my growing Community head on over to my Discord and say hello I'll see everyone in the next one
Info
Channel: Emeral
Views: 271,256
Rating: undefined out of 5
Keywords:
Id: y_dLIehdslc
Channel Id: undefined
Length: 16min 11sec (971 seconds)
Published: Sat Jul 08 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.