The use of software to make games

The Partridge Family were neither partridges nor a family. Discuss.
User avatar
angelicous
Posts: 73
Joined: February 23rd, 2014, 9:37 pm

The use of software to make games

Post by angelicous » February 25th, 2014, 10:52 pm

Hi there guys,

First of all, thanks to Chili for all the great tutorials. You teach better that some of my college(?)(we call it university around here) teachers. Not kidding.

So i'm kinda new to C++. I've had some C classes 3 year ago, that gave me the "feels" to it. Nothing really "2d visual". This year i have to take C classes from scratch at school and, to not be quiet, i decided to learn something new, and i began researching on how to develop games.

So, many languages, bla bla bla, and i decided to learn C++. I don't know why, but for me, since i was young, i've always heard of C++ as the mighty language for doing games. That's when i first find Chili's tutorials, and stick to them. I am in beginers lesson 13, and i must say that for me, that know the concepts, it's kind of boring, but i watch them anyway since it's C++.

But my question as nothing to do with this story xD

Ok, so. Now a days, much of the developers use softwares right? Unreal Engine, Crytec or Unity...

My questions are...

1- Do these softwares "hold" developers potential at all, or are they just tools to do a job an easier way? I mean, could you do a soccer game out of unreal engine for example, or is it made to FPS only?

2- I've never developed a game before, i've never even been to the intermediate level of the tutorials(where i guess i will start learning new stuff), but for 3D games, will chili use one of the softwares i've named above? Or will he like "hard code" games from scratch?

3- If you had to recommend a software for 3d development, which one would it be and why?

Thanks guys ;)

User avatar
LuX
Posts: 1492
Joined: April 22nd, 2012, 12:33 pm
Location: Finland

Re: The use of software to make games

Post by LuX » February 26th, 2014, 1:55 am

Welcome to the forums!

1. Of course depends on the software, but generally game engines are made for a certain kind of purpose and game type. If you want to make a soccer game, use a physics engine capable of doing that. There's always the more flexible software like unity for example.

2. Why would chili show you how to make a game using something like unreal engine when there are plenty of tutorials for it, plus there's not that much new programming to it. That would make the tutorials much narrower, like: this is how you make a game exactly like this. Where as showing how to do all from scratch shows how to make shit happen.

3. Cannot really recommend any. I have used Unity and messed around with some engines coming with games like Cry engine, Unreal and Source. I'd do it all from scratch using DirectX or OpenGL depending on whom it's targeted.
ʕ •ᴥ•ʔ

User avatar
GreatJake
Posts: 169
Joined: January 6th, 2013, 5:13 pm
Location: USA

Re: The use of software to make games

Post by GreatJake » February 26th, 2014, 2:33 am

I like unity, after messin around with it for a week i got a little RTS game with little people walking around attacking each other :) I think unity is considered to be a flexible engine that allows you to create almost any type of game you cant imagine but i don't have anything else to compare to.

User avatar
angelicous
Posts: 73
Joined: February 23rd, 2014, 9:37 pm

Re: The use of software to make games

Post by angelicous » February 26th, 2014, 3:05 am

ok, so mixed up opinions... that's good.

So LuX, a simple question to your 3º answer... I've never seen 3D development yet. Does development from scratch allow you to "drag and drop"? I mean can you just position things or you have to write all the positions up just like chili is doing on the tutorials?

Or am i thinking all wrong and the modeling of maps and caracters takes place on the 3d modeling softwares?

I know that probably there is some easy way of doing an custom "engine" to positions this, if it doesn't come with it already. But i'm curious, so that's why i ask :)
GreatJake wrote:I like unity, after messin around with it for a week i got a little RTS game with little people walking around attacking each other :) I think unity is considered to be a flexible engine that allows you to create almost any type of game you cant imagine but i don't have anything else to compare to.
Yeah i've seen that there are a lot of tutorials for it, and i see much indian and chinese teams developing in freelancer with it. So i guess it's not that hard to use it, but on the other side my concerns are the flexibility i would have with it.

I have an idea to a soccer game, and it's not very usual to see tutorials to unity about soccer. Actually it's not usual to see tutorials about soccer anywhere, and from what i've seen, the all look like crap. I guess that there is much physics involved in the ball.

albinopapa
Posts: 4373
Joined: February 28th, 2013, 3:23 am
Location: Oklahoma, United States

Re: The use of software to make games

Post by albinopapa » February 26th, 2014, 3:38 am

[quote = "angelicious"]
I have an idea to a soccer game, and it's not very usual to see tutorials to unity about soccer. Actually it's not usual to see tutorials about soccer anywhere, and from what i've seen, the all look like crap. I guess that there is much physics involved in the ball.[/quote]

I don't think it's because there is a lot of physics in the ball, most people are probably more into first person shooters, or real time strategies than sports games. That is why there is probably not many sports or soccer related tutorials. As far as using a premade game engine vs writing out the code on your own, the licensed engines help you decrease the amount of time to get a games' assets loaded up and might have some common physics and graphics routines, but for custom stuff you will still have to code that in yourself. If you want "drag-n-drop" in your own program you would have to code that in. You would need to know the Windows API if you plan on creating for/on a windows platform.

Most everyone here is probably going to be a little bias toward programming something for themselves, mostly because that is why we are here, to learn C++ programming to make our own games. I don't think anyone would be totally against using a licensed engine or more a premade engine or development kit, it's just a good idea to know how the stuff works as well.
If you think paging some data from disk into RAM is slow, try paging it into a simian cerebrum over a pair of optical nerves. - gameprogrammingpatterns.com

User avatar
angelicous
Posts: 73
Joined: February 23rd, 2014, 9:37 pm

Re: The use of software to make games

Post by angelicous » February 26th, 2014, 3:46 am

Hey albinopapa,

what i meant with drag and drop was not like letting the user building a custom level or something like that.

I mean like designing a FPS map for example. Or a car. Or in my case,a football field. Is that done using like a "pixel by pixel loop" strategy with vectors or something? Or you wouldn't recommend "hardcore" modelling at all?

User avatar
chili
Site Admin
Posts: 3948
Joined: December 31st, 2011, 4:53 pm
Location: Japan
Contact:

Re: The use of software to make games

Post by chili » February 26th, 2014, 3:55 am

The multiplatform engines are good for getting something done with less work, but they do have their limitations. I'll give you one example that is near and dear to my heart from the Unity engine.

Two games I enjoy--Kerbal Space Program and Rimworld--are built on the Unity engine. These games can stress a CPU a lot because they have a heavy simulation element. Normally, you could multi-thread the simulator and get maybe 3x performance, but the developers of these games say it's not happening because the Unity engine doesn't support it. Doesn't support GPGPU either (PHYS-X on the GPU etc.). So yeah, that fuckin' pisses me off.
Chili

albinopapa
Posts: 4373
Joined: February 28th, 2013, 3:23 am
Location: Oklahoma, United States

Re: The use of software to make games

Post by albinopapa » February 26th, 2014, 6:52 am

Well, as far as "hardcore" coding not sure what you mean. If you have the skills for 3D then you could create an importer for various 3D object formats like .x, .dae, and obj are three that I know of that are text based so you would know what you are grabbing as opposed to binary which you would have to figure out byte offsets and all. Anyway, creating the models in blender or 3D Max or Maya and having an importer would be the easiest way as opposed to "hard coding" the individual vertices into a file. For something as simple as a flat surface like a soccer/football field, that would be 4 total vertices so that could be done in code.

If however you are not using hardware acceleration, and using the CPU instead, then yes, using a for loop to add pixels information to a "surface" in memory would be what you would have to do.
If you think paging some data from disk into RAM is slow, try paging it into a simian cerebrum over a pair of optical nerves. - gameprogrammingpatterns.com

User avatar
angelicous
Posts: 73
Joined: February 23rd, 2014, 9:37 pm

Re: The use of software to make games

Post by angelicous » February 26th, 2014, 2:30 pm

Hmm, okey, we will model characters and terrains on other platforms and import them then. And how about animations, can that be imported too?

I mean, imagine i have a character walking, animated in cinema 4d(at least that's the one i'm most used too).

Will it be like +- what we are doing in begginers level? If right key is pressed for exemple, we can orient a object on Y, X or/and Z coordinates, and "run" the animation while it's being pressed? Will it be that simple as just import animation and code that way?

I know i'm ahead of myself, but i just what to kind of understand the logic that will be behind of the development ahead.

Btw, how many lessons will the intermediate level have?

User avatar
bshivam2001
Posts: 214
Joined: July 27th, 2013, 6:57 am
Location: India

Re: The use of software to make games

Post by bshivam2001 » February 26th, 2014, 3:47 pm

angelicous wrote:Hmm, okey, we will model characters and terrains on other platforms and import them then. And how about animations, can that be imported too?

I mean, imagine i have a character walking, animated in cinema 4d(at least that's the one i'm most used too).

Will it be like +- what we are doing in begginers level? If right key is pressed for exemple, we can orient a object on Y, X or/and Z coordinates, and "run" the animation while it's being pressed? Will it be that simple as just import animation and code that way?

I know i'm ahead of myself, but i just what to kind of understand the logic that will be behind of the development ahead.

Btw, how many lessons will the intermediate level have?
Well, If you have the animation loading functions, running on up button pressed would be easy. But It is not so easy to import an animated mesh. I tried and failed to do so. If you want to try, check this link out. Since you are a beginner, you would have a hard time understanding it. First you have to implement functions to load simple mesh file and draw it in the framework. I have already developed it. You can check it out here. Remember to download the latest version, currently v1.3!

EDIT: DirectX SDK (June 2010) has a sample based on walking girl on key pressed, just like you want. Its named 'MultiAnimation'. You can go the the directory of DirectX SDK\Samples\Direct3D\MultiAnimation' folder.
'If you can't make it good, at least make it look good'

Post Reply