The VG Resource

Full Version: Gamedev Lounge 0010
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
(02-10-2013, 11:48 AM)Hoeloe Wrote: [ -> ]
(02-10-2013, 11:16 AM)Ailit Wrote: [ -> ]It doesn't make developing any harder than if you were using a language like C#. Like spriters that work in MSpaint can do the same thing I do in Photoshop because we have both gotten good with the tools we use. It would be hard for me to make my quality sprites in MSpaint because that is not my tool, but I use Photoshop which allows me to do sprites but many other things too if I wanted to. Same with programming languages.

Languages have their usage. C and C++ provide a much greater level of direct control in things like memory than languages like C#. I'll discuss C and C# here for comparison. C has the benefit that all of its operations are more or less atomic and consistent. Because of this, you can be sure that a program written in C will execute in a given time, especially if you try hard to make it do so. Because of this, C is used in embedded systems, particularly those that need real-time computation (such as nuclear reactors or aeroplanes), and not just those that run on pseudo-real-time (i.e. video games).
C and C++ are not ideal for such pseudo-real-time systems like games. The reason for this is that in a project like that, stability and quick production are more important than raw control and power. C# is a better choice (and a lot of people are moving towards this. XNA was a flop, but other tools are popping up that do support C#, such as Unity), because it allows for faster and neater code creation, and the extra levels of abstraction mean that time isn't wasted on the part of the programmer ensuring that every piece of memory is secure, and doesn't leak.
There are reasons that C and C++ won't die out, it's true, but video games are not one of them. It's not to do with them being harder to use, it's to do with other tools being better suited to the task.
Couldn't be better said. Also Bombshell93, you should learn OpenGL, much simpler than DirectX for 3d. If you are making a 2d game pick up a lib like SDL or SFML. I'd have to agree with Hoeloe though, if I were to make a 3d game right now, I'd be using Unity, not coding from scratch. It would take too long to see something and by then I'd have lost motivation to make anything at all.
I did move over to unity at one point after learning the ropes I decided to wait for Unity 4 and work on 2D games in the mean time. The reason I tried starting from scratch is I wanted to learn enough about each part of game development to be able to say I could make a game from scratch, but I've got past that,
Having made a Rendering engine with my own implementation of propagating light volumes (I got a bit carried away with the graphics and its lead me to ultimately want to specialize in graphics programming), a 3D collision detection engine and recently a much more flexible 2D collision detection and physics engine, I've also in C++ made my own 2D Game engine, but more recently I've made a C# version of it using XNA, its now a lot more fleshed out with its own physics and level editor, and within the past year or so I decided to make a full game, which is still in progress (and is what produced the C# engine I just mentioned).

EDIT:
I've also done a lot of research into OpenGL and I will be using it should I make the jump to bigger things without Unity, its faster than DirectX and I've heard brilliant things about how easy it is to use, its cross-platform capabilities are also a massive plus as I expect at some point I'll be working on mobile games (which to my knowledge most mobile platforms use OpenGL)
People should think less about where to start and just jump in. For those following the discussion and looking for recommendations, I recommend you pick what ever language has been discussed thus far. All of them are widely supported and have a great number of features and API's. Most of the skills you learn with one will be transferable to the other if ever you desire to learn it as well so all you got to do is start somewhere.
(02-10-2013, 09:00 AM)Bombshell93 Wrote: [ -> ]The reason C++ should not be used is .NET languages / Java
I find the former is lacking official multiplatform support which leaves things in murky water. Like DirectX, it either leaves you stuck with Windows/XBOX only development or using outdated, indirectly reverse engineered runtime libraries. Like WINE, it works but it isn't the best solution.

The latter... jeez I don't know where to begin. I loved it at first but at this point I'd only recommend it if you are learning to program, are developing for Android or are desperate for applet support. If you really need to run a program in a browser, why not use something like HTML5?. Another issue is that Java applets are RIFE with security issues now. It's not reliable, anymore.
I didnt say C++ should not be used because .Net / Java
I said in terms of game development much can be gained from .NET / Java,
I'd mainly just point to what Hoeloe said, its pretty much perfect wording.
So me and my partner in crime (game development) have long talked about making an MMO, we can't for obvious reasons but its fun to speculate what could work, or what we'd like to see / not like to see. This time my friend is playing Tera, new to the game first impressions have betrayed him.

what we're appropriately calling WoW syndrome, no this is not about games recycling the mechanics or GUI, we're specifically concerned with the skills.
What do you think are good systems for skills? me and my friend have come to consensus that they should be limited to 4 available at a time at most, having masses of skills is problematic because any of them could do anything making it hard to remember which does which, and as I have just been reminded, hotkeying everything can take a second to forever, increasing the tedium.

I personally am in favour of a mixing skills into the combat itself rather than have them be an add-on to it, extending combos, adding in conditional attacks, things that happen automatically, it may remove the tactics but it also takes the brain melt with it, simplifying and speeding up the flow of gameplay while still adding a layer of depth to the way you grow as you level up.

There is on the other hand limiting skills to preset actions to different degrees, making them easy to identify (only getting a heal, buff, damage and debuff ability and as you level up they become more effective, you only ever need to make 1 association with these abilities as opposed the the tens or even hundreds you may need to forget and relearn in a system with varying skills, its less flexible but the tactics are still there and the majority of brain melt is gone, but I always feel this is a waste, if your going to add in skills like this why not add the number of skills to choose from but this goes full circle, one thing leads to another and then we're back to the problem of too many to remember or read.

I'd be interested in knowing what anyone else might have to say on skills games with or built around RPG elements (the MMO part I suppose isn't as relevant, but MMO's tend to appeal to a different genre of player so it could be something to take into account)
I honeslty feel that there really shouldn't be "classes" but a skill tree that you can use skill points to select skills if you meet the base requirements(meaning not every skill would require a lower skill). Which means there really wouldn't be classes but more of what they player wants their charactor to act like.

My opinion is that Alot of MMOROG's tend to remove the strategy process and pretty much have you spam healing objects or just don't really make combat seem like skills are necisarry. I honestly would rather play an mmorpg that requires you to play out combat strategies and such.
I would like to see an MMORPG that has combat like the M&L RPGs, where the battle almost completely relies on reflexes. Skills would still be a factor of course, but timing would decide whether you dodge/block or get hit, and whether you get critical hits or not (and maybe where the attack connects, too). The only issue with this is that internet lag could be fatal, but that's the case most of the time anyway.
Nowadays, to my knowledge, most MMORPG combat either 1) is automated and dictated by chance, 2) depends on how quickly you can press certain buttons in a certain order, or 3) consists of mashing shortcut keys.

I'm not saying the above three methods suck, they can be fun, but it would be a nice change to have an MMORPG that actually depends on players' skill rather than their level/items/spells/money. This is one of the reasons I love TF2, no matter which items you have you can still play just as well as anyone else. All weapons are perfectly balanced and while different weapons have different strategies, you can always beat anybody with any loadout if you're personally skilled enough (and in some cases, if you work as a team). You still need experience to be decent, but that means actual experience and practice as a player, refining your gameplay skills, not XP points that makes your character more powerful.

I know it's not really related to your situation, but that's just my two cents on MMORPG combat in general. It's not bad how it is, but I'd like to see something else. Note I don't really play many MMOs currently so there could be something that does exactly what I'm talking about.
I think the problem is most MMORPG's in order to keep running cheaply (and by extension, to keep running in general) keep the game updating in large intervals, intervals impractical for action combat, 24 / 12 are common intervals, 24 being the minimum refresh rate of an animation before it starts looking like a slideshow (typically the game updates and interprets what happens in between this so the game still appears to be running 60 fps)

So what you typically want is something resembling a turn based RPG, the problem with this is every MMO tried to disguise it as action combat, which is kind of an insult to the player.
This is relevant to my situation because the skills are directly linked to the combat and typically the way the combat works will shape the way skills work.

I think a good approach to this would be something along the lines of Final Fantasy, almost turn based but turns are asynchronous and their quantity are determined by recovery times. funnily enough this is almost how WoW and runescape work, but the betrayal is still there, its still being disguised as something else.

Maybe this could be expanded to include movement (potentially dodging attacks, gaining distance for AOE attacks, etc.) There is a lot of mechanics that can be tweaked and added from simply having "miss"es and criticals depend on movement / location it removes the 1 thing most horrible for strategic combat, chance (chance can work, but not when its a primary mechanic, only when its a condition)
nrgh... made a first attempt of a practice game...
used the WIP waluigi land sprites I started but never finished and turned an overworld-ish sprite example into something that somewhat looks like a platformer

[Image: screenshot1.PNG] [Image: screenshot2.PNG]

I have jumping, buggy sprites, a mostly empty screen, an icon menu that doesn't work, walking and 2 lousy pictures, but I'm not even close to becoming a game developer yet...
I bet you every game developer (amateur, indie, and professional) in the world made something equal to or worse than that when they started. I know I did.
well, I used gamemaker before this, but this is my first time using c/c++ Blank
yeah, the transition from gamemaker to c++ is a little messy(Especially since you have to program nearly everything from scratch), you'll eventually get the hang of it.
the tip is to suck the most as you can

the more you suck, the better

after all, sucking at something is the first step to become good at it .o/
well, that and I should also stop relying on the computer to make the games for me.
It may also be a good idea to write my own codes rather than using pre built functions and templates(no matter how much I change them, it still wouldn't be my code/game)

I've been doing lots of reading, studying and I have a slight understanding of the logic, but I still have a long way to go yet Smile



edit: finally got a c programming book Big Grin
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28