Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
scifista42

What does it take to create a basic playable thing in a modern game engine?

Recommended Posts

Seeing a thread about Unreal Engine 4 being free, I (as a person who only ever worked with Flash and Doom engine) have started wondering: How would a person (hypothetically) go about making something basic (but playable) from scratch, that means without using embedded example files?

I'm looking for a description of the easiest possible example to do so (again - from scratch, not using templates / examples / prefabs / anything). If you can give me a humanly guide, I'd be glad. For example about Unity3D, UE4 for that matter, or whatever engine you can describe. Preferably in a similar form like I'll present the Doom Engine right now:


Doom Engine

You need an IWAD - buy an official game and get it from there. Then you need a source port and a map editor, which you can download for free. Set them up properly. Open a map editor, start a new MAP01 and set your IWAD as a resource. Create a square sector. Put Player1 start in it. Now make a switch with an exit action somewhere in the room. Save the map. Run the wad with your source port. Now you're a player, you can move around the room, you can use your default weaponry and you can press the exit switch, which will launch a default intermission screen and then send you to a default next level. It's playable, and made from scratch all by yourself!


A description like this one is what I'd like to get (of course, I expect a much longer one). Perhaps I'm naive or completely off, in that case you can tell me. But if it's at least roughly possible to fulfil my demand, please do so, even if it needs a lot of words and a lot of generalizations, that's at least something.

Share this post


Link to post

I assume you can at least create level geomtetry in the dev environment, so that should be all you need. It's entirely possible to create a conceptual piece with no HUD, player models, music or story. Look at games like Pulse Shift.

EDIT:
Here's another great example of an amazing game with almost no assets.



In fact, if your production budget is approximately zero, indie puzzle is the go-to genre for you.

Share this post


Link to post

Creating good 3d levels is an epic pain in the ass ... they would have to pay me to do it, it's not like Doom where it's fun to create something that looks reasonably good and plays great.

Share this post


Link to post

From scratch? overhead dual stick shooter. In fact Zelda clone would be by far the simplest in any programming language. I'd rather develop in Actionscript 2. The problem with Actionscript is its limitations.

From scratch... Flash 8 (which is a decade old now). Open, start coding. Use boxes as characters. I'm not going to go into the detail, because it would be easier to make a game than explain how to make it. Anyway, overhead games have no physics. Physics don't work well with Flash's limitations, thats why you should go with Zelda styles. I remember remaking maybe 1% of Zelda 3.

Why AS2 and not the more powerful and useful AS3? Its a pain, overly complicated and even vague things and variables can work in AS2. Its a lot less lines to do the same thing.

So for an overhead game you need things like onkeydown handlers for up, down, left and right. Then hit detections, health and so on. Its not that hard.

Come to think of it maybe HTML interactive fictions would be the easiest way to make a "game." There's also RPG Maker, that's pretty quick to make something without a template. Of course the RPG itself is a template, you just make maps, items and script commands. You can also program for it, if you want a more intense level.

I remember back when I used to remake old Nintendo games in Flash in a single day. I can't do that with Unreal, everything is complicated, nothing feels streamlined. Their programming language is branches and you really need to know what you're doing to use them instead of just coding.

After a day of designing levels with Unreal 4 its the easiest out of all the 3D level editors I've tried. Not nearly as easy as DoomBuilder. I wish 3D editors could be more like DoomBuilder.

Share this post


Link to post
geo said:

Come to think of it maybe HTML interactive fictions would be the easiest way to make a "game." There's also RPG Maker, that's pretty quick to make something without a template. Of course the RPG itself is a template, you just make maps, items and script commands. You can also program for it, if you want a more intense level.


You're probably better off to use an existing IF engine, that way you don't have to code your own parser and all that shit. Plus that way the end result is playable on many platforms (not just in web browser). Inform games can run on virtually everything, including GBA handheld, Unix shell, or ZX Spectrum (as it should be for a text game...) There's also stuff like the Magnetic Scrolls and Level 9 games that support graphics but also allow playing in pure text mode. And there's more modern stuff like newer versions of inform, and TADS. Writing your own engine from the ground up is only worthwhile if you're doing it as a programming exercise.

Share this post


Link to post

A distinction should be made between "functional" and "playable". E.g. ZOG's Nightmare is definitively functional. As for playable...

Share this post


Link to post
Bucket said:

I assume you can at least create level geomtetry in the dev environment, so that should be all you need.

No, it isn't all. It's analogous to randomly putting vertices and linedefs (perhaps even sectors) into the void in Doom Builder, not even knowing how to test it ingame.

It's entirely possible to create a conceptual piece with no HUD, player models, music or story.

Good to know - so how to start?

Share this post


Link to post

What I see in this thread is a whole lot of people sharing irrelevant "first game" ideas and nobody really getting to the core of the question which is:

"How do I build game"

Which is a loaded question in and of itself. I mean, what kind of game do you actually have in mind??? Speak honestly, and don't be afraid that what you're thinking is too lofty to achieve, because with some time and patience it probably isn't. (and you don't have to limit yourself to "puzzle adventure" or "top-down stick shooter" to make what you do interesting. Because the people who said that may or may not know what they're talking about (hint: they don't know what they're talking about))

EDIT: Also, why do you even care about using Unreal to make your thing? And what can you tell me about what you DO know, aside from how to make a map for doom (which is a much, MUCH simpler question to answer than "how do I make a game" if only because there are a million times more ways to approach game development than there are to make doom maps)

Share this post


Link to post

I barely recognized the music in that video without it being blared out of my weight training teacher's stereo with the balance of the bass and treble all out of whack leading to the song being a mush of noise with the bass drum kicks being louder than the fucking lead guitar.

Share this post


Link to post
sheridan said:

What I see in this thread is a whole lot of people sharing irrelevant "first game" ideas and nobody really getting to the core of the question

Yes.

which is:

"How do I build game"

No. The actual question is "What's the very most basic way to take a given modern engine and create the dumbest simplistic (but interactive!) thing entirely from scratch?" That's all I wish to know for now. And I'm not even talking about UE4 in particular, or about an actual game plan.

Share this post


Link to post

If you're going for a UT (Even a UT4 level afaik), level, you just need some BSP (The "sectors" in 3d engines) and maybe a skydome. Then add the player starts and weapons spawns. Save it as DM-YourNamehere and the DM- suffix automatically makes it a deathmatch level.

Edit: The main difference is that in Unreal Engine 3 and above afaik, you primarily use an Additive environment versus the Subtractive environment Doom uses. Earlier Unreal Engines had Subtractive as either an option or a requirement.

Edit: UDK (Unreal Engine 3)Reference explaining the above regarding making an additive room.

Share this post


Link to post

Thanks, except that this is (once again) an answer to something very different than what I asked.

Share this post


Link to post

I thought you wanted a basic room where a player one spawn shows up with pickups they can interact with.

Edit: In reference to.

scifista42 said:

Seeing a thread about


Doom Engine

You need an IWAD - buy an official game and get it from there. Then you need a source port and a map editor, which you can download for free. Set them up properly. Open a map editor, start a new MAP01 and set your IWAD as a resource. Create a square sector. Put Player1 start in it. Now make a switch with an exit action somewhere in the room. Save the map. Run the wad with your source port. Now you're a player, you can move around the room, you can use your default weaponry and you can press the exit switch, which will launch a default intermission screen and then send you to a default next level. It's playable, and made from scratch all by yourself!

Share this post


Link to post

Okay guys you all seem to be having some trouble with Scifista's question. I'm also curious about this topic so I'm going to dumb down this question as much as I possibly can.

This is how you make a basic beatable game in Doom
Step 1 Own Doom
Step 2 Get a Map Editor
Step 3 Open Map Editor
Step 4 Set Doom as a resource in Editor
Step 5 Open a new map 1 in the editor
Step 6 Draw 3 lines to form a sector
Step 7 Set one line as an S1-Exit
Step 8 Place a Player Start in Sector
Step 9 Save the map & close the editor
Step 10 Open the New map in Doom
Step 11 You're now in a triangle shaped sector with textured walls & ceiling & you are contained withing that sector, while in that sector you can now do all sorts of things, you can move forward & backward, turn left & right, strafe left or right, run, shoot a gun, swing your fist, open an automap, & exit the map

Now the Question is How would you make a basic beatable game in a modern engine

Step 1 Own Unreal Engine 4
Step 2 ?
Step 3 ?
Step 4 ?
.
.
.
.
Step ? You're now in a triangle shaped sector with textured walls & ceiling & you are contained withing that sector, while in that sector you can now do all sorts of things, you can move forward & backward, turn left & right, strafe left or right, run, shoot a gun, swing your fist, open an automap, & exit the map

Share this post


Link to post

BlackFish, it seems that you assume that I wanted to be modding Unreal Tournament The Game, but I didn't. I'm asking what to do with an engine without a main game, or whatever is the principle, because I don't know the principle.

Share this post


Link to post

I used UT as a base since you used Doom as a base in your example (at least the post suggests that from what I read, sorry if I misinterpreted). In UDK and UE4, you can use their UT base game as a starting point (it comes prepackaged, at least in UDK) for making a mod/game until you have resources of your own.

If you're thinking pure square one, the most knowledge I have of UE is that you can make some additive BSP geometry and have a skydome surround it to prevent HOM. Add a player pawn and you can run around with nothing in BSP land. You'll have to learn UnrealScript (or whatever it's called now for UE4 [edit:US got nixed in UE4 so I'm not quite sure what you need to do]) to define new actors.

Materials are what makes up the textures (Add a diffuse map being a flat square and a bump map to make the square look shiny, etc). From the mapping experience I had in UE3, you can start with BSP and later on replace it with the 3D actors once you have them. The 3d actors can have custom collisions that can be defined in the editor. Most maps in UE are static 3d objects clipped on to each other.

Share this post


Link to post

For some street cred, I will make a tutorial in UE4 for you with images without using templates. Chances are the templates are infinitely better. I kinda want to do it for myself since I feel like much more of a programmer than modeler, or level designer. It all might still be over my head though, but it will be a learning experience.

Its all the same commands that I'm familiar with just in blueprints so its even more cumbersome for real programmers, but foolproof for lesser first timers.

edit: I got far enough to start making the character and thought eh fuck it maybe later :-)

Share this post


Link to post

Despite id Tech 4's reputation for being difficult to mod for (and it is if you want to do anything professional looking), creating the most basic map possible literally just consists of placing 5 or 6 brushes minimum to make a triangular prism or rectangle area, put a player spawn in it, and then at least one light source so that there are colors on screen other than RGB(0,0,0).

Share this post


Link to post

Its very easy to map for. It doesn't beat doombuilder but I didn't think you were looking to make just a map.

Share this post


Link to post
Quasar said:

Despite id Tech 4's reputation for being difficult to mod for (and it is if you want to do anything professional looking), creating the most basic map possible literally just consists of placing 5 or 6 brushes minimum to make a triangular prism or rectangle area, put a player spawn in it, and then at least one light source so that there are colors on screen other than RGB(0,0,0).


Easier than that, you can create a solid square block and then use the Hollow tool to make it into a hollow room-like space.

Honestly if you're talking about 3D level design go and find a basic tutorial for Half-Life or Quake map editing. Those tutorials were amazing because they had to teach the entire concept of 3d editing because it was so new. The tuts that came with WorldCraft 2.0 were really really good.

Obviously "a playable thing" covers a lot more than just 3d FPS levels though, but those various other things will require more effort/knowledge to set up rather than using an engine already set up for first person gameplay like UE or Idtech.

Share this post


Link to post
sheridan said:

Which is a loaded question in and of itself. I mean, what kind of game do you actually have in mind??? Speak honestly, and don't be afraid that what you're thinking is too lofty to achieve, because with some time and patience it probably isn't. (and you don't have to limit yourself to "puzzle adventure" or "top-down stick shooter" to make what you do interesting.

Disagree. A project is doomed from the start without reasonable expectations. Without clear boundaries by considering what you yourself are capable of, you'll end up dreaming about your finished product rather than realizing it.

Share this post


Link to post
Quasar said:

creating the most basic map possible literally just consists of placing 5 or 6 brushes minimum to make a triangular prism or rectangle area, put a player spawn in it, and then at least one light source so that there are colors on screen other than RGB(0,0,0). [/B]

others said:
[B]*similar 3D editing tips and guidelines*

Okay, thanks all - but I still have one very important conceptual question, which I really don't understand in principle (=I'm completely lost), but a relatively simple yet clear answer would solve it for me:

Assuming that I'm not mapping / modding for an existing game with its assets, how does launching the game even work? What are default values? How would the editor even know that something like a player start exists? How would the engine (in its rawest form) know what is a player and how to handle camera or physics? Please, explain me the principle.

Share this post


Link to post
scifista42 said:

Assuming that I'm not mapping / modding for an existing game with its assets, how does launching the game even work? What are default values? How would the editor even know that something like a player start exists? How would the engine (in its rawest form) know what is a player and how to handle camera or physics? Please, explain me the principle.

I think you are now literally talking about the editor's/engine's coding. The engine has to interpret what you build with the editor so the editor is built with the tools you need to make a playable map. Literally the engine/editor knows a player spawn is there because it is a specific piece of code that they both recognize as "Player Start". Determining how the engine interprets anything at all boils down to how it is coded.

Share this post


Link to post
Bucket said:

Disagree. A project is doomed from the start without reasonable expectations. Without clear boundaries by considering what you yourself are capable of, you'll end up dreaming about your finished product rather than realizing it.

This is an aside, but have you actually made any games before?

scifista42 said:

No. The actual question is "What's the very most basic way to take a given modern engine and create the dumbest simplistic (but interactive!) thing entirely from scratch?"

That is exactly what I said, just with different words.

Reading your other posts though I do get the idea you're more interested in the process from a bystander's point of view than someone who necessarily wants to get into it though.

If you like I can do my best to explain to you at length how I make games from scratch, without even using a pre-existing engine. It might help you better understand the distinction between "game" "tool" and "engine", how they interact, how they come to be, etc.

Share this post


Link to post

I only wanted to understand basics about RUNNING an engine like Unity with something made from scratch, from a practical standpoint (=after reading your answer, I would sit down and make it happen and then RUN). I still haven't understood it.

Share this post


Link to post

Well, the key thing to realize is that every engine is made to be interfaced with completely differently from others, so its hard to draw many (if any) parallels from a practical point of view. Historically what you'd generally do to "use" an engine is download its SDK, start a new software project, use the tools with the SDK to generate game data (ie maps, models) and make the appropriate calls to the engine DLLs in your game code to instantiate your game world, define new kinds of objects, move stuff around, etc. This is generally how things would've been done in the era of Half-Life and Quake II.

NOWADAYS, it's simpler to make use of game engines (ESPECIALLY ones like Unity) because they are for the most part a self-contained development environment. All you have to do is download the engine and open the tools, and those tools will have everything you need to build a level, make new objects, write game code, and make an .EXE with your name on it (yippee!). All this, yes, "from scratch."

But again, every single engine is different and I can't tell you very descriptively how they all work from a practical point of view. If you're curious about how one in particular works, the best thing to do is to DOWNLOAD IT, READ the manual, GOOGLE tutorials, and just start building stuff. There is a LOT of stuff out there which explains in detail how to get things moving around in Unity for example from a base install of the thing, and you can only go upwards from there. But I'm not going to tell you how it works because frankly I've never used Unity and I don't have the slightest idea how it works.

Share this post


Link to post

I think people are confused by the question because you essentially start with a basic playable thing in those engines (Unity, Unreal, CryEngine, Torque3D, probably a whole lot of others too). When you create a new project, with no setup required beyond installing the program, opening it and clicking "create new project", you're presented with an interface similar to Doom Builder in 3D mode, with the perspective view showing your player controller object in an endless sky, perhaps with preplaced camera object and floor object. At this point, without any other input from yourself you can hit "Play" and try your game in the editor, which I think by default will give you a first person view with which you will be able to look around, move, jump, crouch and maybe sprint. You could also compile your game if you want to end up with a standalone executable.

(The following is probably wrong on a bunch of stuff, I know very little about all this.)

Your default area is called a scene. A scene is generally a level. It can also be an intermission screen, a menu screen, a cinematic.

Everything in a scene is an object. This includes architecture, which you can make in the editor with BSP brushes (in Unreal) or by importing models. You can move around, rotate and scale objects. When you select objects you may also get specific options related to their class to modify in the sidebar. For example you could tweak your player (controller)'s movement speed, jump ability or health.

Adding weapons without templates would require you to add the object then define some behavior. Like making a new game in ZDoom using DECORATE from scratch without using inheritance with Doom stuff; all the logic is already coded for you to use, but you have to know which variables and functions to call and you have to call them yourself. In Unreal you can do that right in the editor by using their "Blueprints" visual node system, or you could set up Unreal/Unity so they're linked to your IDE of choice so you can code in C++/C# (respectively).

For an exit switch leading to an intermission screen and then a level, you could make a new scene which the game would transition to when the switch is interacted with. Then stick your first scene in a "level" group, and make the intermission screen direct to whatever scene is next in the "level" group, which would loop back to your first scene in the absence of anything else.

There are plenty of good tutorials around for either engine. The official Unreal stuff is pretty solid, and surprisingly underused. For Unity you have to dig around a bit more, but there's years of material to keep you occupied.

Share this post


Link to post
scifista42 said:

I only wanted to understand basics about RUNNING an engine like Unity with something made from scratch, from a practical standpoint (=after reading your answer, I would sit down and make it happen and then RUN). I still haven't understood it.

Put simply, the game is compile-able without any changes made on your part. You can make some simple room and some entities and run it right away. From there, you perform the delicate dance of changing the behavior of the game, one line of code at a time, then tracing back through your changes to figure out why your computer just exploded.

sheridan said:

This is an aside, but have you actually made any games before?

Yes. Now, back on topic.

Share this post


Link to post
scifista42 said:

I only wanted to understand basics about RUNNING an engine like Unity with something made from scratch, from a practical standpoint (=after reading your answer, I would sit down and make it happen and then RUN). I still haven't understood it.


Its been days and I'm still not clear on what you're asking.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×