Ask for Opinion & Answer

Started by
8 comments, last by Bacterius 10 years, 1 month ago

after im follow day by day on gamedev.net and train my self from example and experiment on my own

i found some question for my self and a bit for my programming problem im sorry if i ask to much on this post but i want to know sure what i missing.

.:: Question

1. What is exactly 2.5D is what the different from 3D and 2D? is likely you use your character 2D and the background is 3D..

2. I want move some object not just forward backward ("x") and up down ("y") but can move corresponding oblique angle desired (algorithm)

.:: Opinion

1. what made you want to become a game developer? it just for provit, hobby, or something?

2. Why we game developers must hide your game script for public?

Advertisement

1. 2.5D is a term normally applied to games that are actually 2D but fake 3D effects somehow, for example isometric views.

2. You need a little bit of maths for this. In simplest terms possible:

sin(angle) is the amount to move along the X to move a distance of 1

cos(angle) is the amount to move along the Y to move a distance of 1

So if you are at x, y and want to move n units by angle a:

x += sin(a) * n

y += cos(a) * n

This requires you store your position as real (float) numbers and convert to integers (whole numbers) when you translate to screen positions. There are better, more stable approaches to this using 2D vector algebra which are well worth looking into if you plan to learn game development.

1. Hobby

2. To stop other people stealing it and re-using it for profit. This is better handled with legal protection as it is not always possible to securely hide your code.


sin(angle) is the amount to move along the X to move a distance of 1
cos(angle) is the amount to move along the Y to move a distance of 1

So if you are at x, y and want to move n units by angle a:

x += sin(a) * n
y += cos(a) * n

Wrong way around (conventionally the zero angle points along the x-axis). But yes, and as you said using linear algebra with normalized velocities you get this stuff "for free" without having to really mess around with angles, which have nasty discontinuities and are generally a pain to work with.

“If I understand the standard right it is legal and safe to do this but the resulting value could be anything.”


1. what made you want to become a game developer? it just for provit, hobby, or something?

profit....laugh.pnglaugh.pnglaugh.pnglaugh.png ...really.. if you want to get rich, play lottery (same chance as to get a profitable game hit). If you want to earn money, then learn a profession and get a job (even as game developer, but at the end of the day it is just a job).

Being a game developer is more about being an idealist and less about profit. tongue.png


2. Why we game developers must hide your game script for public?

You sometimes need to install a (ineffective) way to protect you scripts for legal issues, even if it do not prevent someone from getting access to it.


sin(angle) is the amount to move along the X to move a distance of 1
cos(angle) is the amount to move along the Y to move a distance of 1

So if you are at x, y and want to move n units by angle a:

x += sin(a) * n
y += cos(a) * n

Wrong way around (conventionally the zero angle points along the x-axis). But yes, and as you said using linear algebra with normalized velocities you get this stuff "for free" without having to really mess around with angles, which have nasty discontinuities and are generally a pain to work with.

Oops, yes, of course. And its also worth noting if you are writing 2D games using screen coordinates, you have to invert the Y as math traditionally considers upwards on the Y axis to be positive and down negative, whereas screenspace is the opposite way around.

Thanks for the clarification, had a funny feeling something was wrong as I typed that :)

2. Why we game developers must hide your game script for public?


We don't always. Plenty of games have left their scripts open, either because they didn't care or to let modders use them.

Really, it depends on the game. Some games compile the scripts in some way for speed purposes, so any "obfuscation" is really just a by-product of technical choices. Some games put a lot of gameplay-sensitive data in scripts that would allow you to cheat achievements or something they are obfuscated in some way to make the game more fair. Some games are written by paranoid people who don't want their IP reused by other people. Some developers do it because that's how the last engine/game they worked on did it and they don't have the time or incentive to rethink if it's actually necessary. Some games want to protect the user against mods or downloaded user content that can exploit the engine's security flaws and developers sometimes (foolishly) think that obfuscation of scripts is a useful way to do that (most game developers are pretty focused in their skillset and have little to no understanding of broader CS industry topics like security, in my experience).

On the other hand, some games go out of their way to keep the script code open. Some even put in the effort to document the scripts for modders, or even provide entire modding tool suites.

Sean Middleditch – Game Systems Engineer – Join my team!

2. Why we game developers must hide your game script for public?


Do you mean "script" specifically, or any source code?

To me, 2.5D games could also mean games that are traditionally done with sprites, but is done with 3D graphics instead.

For example, I consider Mega Man X8 to be 2.5D, because it is a 2D platformer (move left and right, jump up) with 3D graphics. Sometimes the camera rotates on the vertical axis when mega man walks into a hallway with a turn, but you are still moving left or right, relative to the screen.

But it gets fuzzy when the 3D graphics isn't very apparent or everywhere.

For example, I consider Castlevania: Symphony of the Night to be 2D, even though it uses 3D graphics (save point coffin and the ghost swordsman Azaghal are some obvious 3D objects). I think it's because the camera is moved in strictly 2 dimensions.


To me, 2.5D games could also mean games that are traditionally done with sprites, but is done with 3D graphics instead.



For example, I consider Mega Man X8 to be 2.5D, because it is a 2D platformer (move left and right, jump up) with 3D graphics. Sometimes the camera rotates on the vertical axis when mega man walks into a hallway with a turn, but you are still moving left or right, relative to the screen.

Yeah, another example would be duke nukem 3d, where the world was 3d but the enemy where 2d sprites. Ha the good ol times...

"Come get some!" laugh.png

To me a 2.5D game means a game with strictly 2D (or very nearly 2D) gameplay embedded in a 3D (or pseudo-3D) environment. But I imagine there is no "true" definition of 2.5D and everyone has its own which falls somewhere between "not 2D" and "not 3D" wink.png

“If I understand the standard right it is legal and safe to do this but the resulting value could be anything.”

This topic is closed to new replies.

Advertisement