Crossfire's Posts
Nairaland Forum › Crossfire's Profile › Crossfire's Posts
1 2 3 4 5 6 7 8 ... 65 66 67 68 69 70 71 72 73 (of 73 pages)
ok |
ghostofsparta: Well said, but how are game engines like Crytek's CryEngine(s) made? Also do game programming simply means developing an engine that efficiently control and governs all the constituents of an intended game?I am not a game programmer, neither do i develop GUI for any gaming software company, so my response to your question is only an educated guess based on my experience in other less tedious areas of programming. Game programming has to comprise of at least 2 core areas namely: the engine and the GUI. The engine, just as the kernel in an OS is that aspect of the software that handles the core logic.Programming the engine is not easy, but neither is it nearly as difficult as brain surgery.Let me give an overly simplistic explanation of how the logic might be expressed. Lets say we're programming a soccer game, how do i score a goal? The soccer pitch might be expressed as an array of scalars that is mapped into by a function that takes in the co ordinates of the field as inputs. let's call this function "F". So the middle of the field might be represented as F(0,0), the left goal line F(-99,-99) and the right goal line (F99,99). F returns a scalar that represents the exact spot that a player, or the ball is at any given time. Now the reason we need this mapping function is simply to be able to do comparisms in an if statement. So how do i express to the user that a goal has been scored? The ball is a vector,( just as each player is a vector) now once this vector is greater than(or less than, as the case may be) the scalar that is represented by the functions F(99,99) or F(-99,-99) this means that the ball has crossed the goal line, flash a neon sign that screams "GOAL!!!" That's the engine. The engine also handles things like the color of jeysey, and statistics like bookings (red card, yellow card, warnings), it stores this in a database and refers to them as needed. Programming the engine is not rocket science. The spectre of complexity begins to rear it's head when you start dabbling with the GUI, the reason is simple : you have to manipulate the graphics card. In my opinion a GUI designer for a gaming software like soccer has to have a firm graps of mathematical concepts like topological spaces, vector spaces, group theory, ODEs and PDEs. I have taken a shot at the ball, how does it move? What's the angle of elevation? What's the speed? what was the speed of the player before the ball was hit? If there was a deflection, what's the angle? What's the distance of the ball to the goal post? You have to take all these things into consideration before explaining how the ball will move to the graphics card (fair lady). Now you have to do this in such a way that it looks pleasing and perfect to the user punching his game pad and trying to score a goal. In short the effect has to be natural. (Have u noticed any real difference between a soccer game on PS 3 and any live game between arsenal and chelsea?). Now you have to explain these programatically through the "professor" sorry processor. You don't speak directly to the fair lady, God forbid. But it often happens that the professor communicates to the lady things you never intended. "c" is unforgiving like satan and will dis own you when that happens and when the lady gets angry, they simply team up and come back for your life! Now despite it's sinister reputation "c" is the language of choice for such masochistic programming endeavor for the simple reason that it's very difficult to explain difficult mathematical concepts to the "professor" with a language like c++ or c# or even java. Try explaining everything i wrote above to your grand mother in your native vernacular, my guess is you can't. |
Don't get discouraged by the nay Sayers, there are some no gooders here that will simply call you a fool for even daring to think that you can design an OS. In my experience such people never achieve anything worthwhile. I don't know you so i cant estimate your cerebral capability, but designing an OS is daunting to say the least. My philosophy in life is that nothing is impossible. I designed a world class cyber cafe inventory and billing software from scratch. Even though it took me four years, at the end i was very happy that i did it. When i thought of designing this software to tell you the truth i knew nothing about a lot of the concepts i later implemented in the design. So what am i saying : motivation is a key ingredient in any endeavor. You can do it! But to be fair to you, you have to understand the underlying hardware very well(ie processor, graphics card, interrupts, memory etc). Are you writing an OS for Intel processors or for the mac or even for BlackBerry? Next you have to have a commanding grasp of "c". because this is the "Latin" that you'll be expressing your thoughts in. Next you have to understand a host of data structures like leafs, trees, arrays,lists, linked lists, and compound structures that combine the simpler ones. Next you have to be a master of assembly language (this is another crazy aspect of OS programming.There are some statements that even "c" can't explain to the understanding of the hardware )Next you have to be a masochist programmer (OS programming requires thousands of hours of testing and debugging) Next you have to have a will of steel.(because there will be a lot of opportunities for discouragement) Next you have to be as patient as the word "patience" Next you have to study other people's code because a lot of the concepts you'll implement in yours will be burrowed and modified. Next you have to be a die hard googler (these days codes and ideas are shared online freely as long as you know where to go). But trust me, if you think you can do it you can. TOP SECRET: Linus Torvalds didn't write LINUX from scratch! |
ghostofsparta: Kindly provide a response to my response on your beautiful reply ^^^ here:https://www.nairaland.com/1203855/developing-operating-system-what-prerequisites#14441934 TnxI am not a game programmer, neither do i develop GUI for any gaming software company, so my response to your question is only an educated guess based on my experience in other less tedious areas of programming. Game programming has to comprise of at least 2 core areas namely: the engine and the GUI. The engine, just as the kernel in an OS is that aspect of the software that handles the core logic.Programming the engine is not easy, but neither is it nearly as difficult as brain surgery.Let me give an overly simplistic explanation of how the logic might be expressed. Lets say we're programming a soccer game, how do i score a goal? The soccer pitch might be expressed as an array of scalars that is mapped into by a function that takes in the co ordinates of the field as inputs. let's call this function "F". So the middle of the field might be represented as F(0,0), the left goal line F(-99,-99) and the right goal line (F99,99). F returns a scalar that represents the exact spot that a player, or the ball is at any given time. Now the reason we need this mapping function is simply to be able to do comparisms in an if statement. So how do i express to the user that a goal has been scored? The ball is a vector,( just as each player is a vector) now once this vector is greater than(or less than, as the case may be) the scalar that is represented by the functions F(99,99) or F(-99,-99) i flash a neon sign that screams "GOAL!!!" That's the engine. The engine also handles things like the color of jeysey, and statistics like bookings (red card, yellow card, warnings), it stores this in a database and refers to them as needed. Programming the engine is not rocket science. The spectre of complexity begins to rear it's head when you start dabbling with the GUI, the reason is simple : you have to manipulate the graphics card. In my opinion a GUI designer for a gaming software like soccer has to have a firm graps of mathematical concepts like topological spaces, vector spaces, group theory, ODEs and PDEs. I have taken a shot at the ball, how does it move? What's the angle of elevation? What's the speed? what was the speed of the player before the ball was hit? If there was a deflection, what's the angle? What's the distance of the ball to the goal post? You have to take all these things into consideration before explaining how the ball will move to the graphics card (fair lady). Now you have to do this in such a way that it looks pleasing and perfect to the user punching his game pad and trying to score a goal. In short the effect has to be natural. (Have u noticed any real difference between a soccer game on PS 3 and any live game between arsenal and chelsea?). Now you have to explain these programatically through the "professor" sorry processor. You don't speak directly to the fair lady, God forbid. But it often happens that the professor communicates to the lady things you never intended. "c" is unforgiving like satan and will dis own you when that happens and when the lady gets angry, they simply team up and come back for your life! Now despite it's sinister reputation "c" is the language of choice for such masochistic programming endeavor for the simple reason that it's very difficult to explain difficult mathematical concepts to the "professor" with a language like c++ or c# or even java. Try explaining everything i wrote above to your grand mother in your native vernacular, my guess is you can't. |
update |
update |
update |
update |
Game programming is simply out of this world, look at the minimax algol. Try developing a simple chess program. Or simply look at the source of "stockfish". (Stockfish is an open source chess program).I've looked at an early version of LINUX called MINIX ( i'm talking of hundreds of thousands of lines of code) and my little lazy brain could wrap around some of the concepts and data structures (I'm a software developer, and a chess enthusiast), but anytime i look at the internals of "stockfish" i feel like a child playing with sand. It looks like this program was written by aliens .Now stockfish is a console app that runs through an already developed UI like "arena" so it doesn't touch on graphics. You need an advanced level understanding of maths and physics before you can develop game apps that manipulate the graphics card masterly like as soccer or even car racing games do. Desktop apps are developed with C++, C# java, python, but games are predominantly created with c. Now unrestricted c is simply mind bending and very unforgiving. I always tell my students that c is the latin of programming languages ![]() Lets not over flog this : game programming != computer programming. |
update 20/02/13 |
update 20/02/13 |
update 20/02/13 |
update 20/02/13 |
update 20/02/13 |
Lincoln Consulting is a brokerage consultancy firm established to access petroleum products from Refineries and real Sellers to fill the orders, large and small, of genuine and honest Buyers. Mission We broker, facilitate and expedite trade sorely in AGO diesel. We subscribe to the core values of honesty, credibility and reliability. Services We source petroleum products from Refineries and genuine Sellers and seek favourable trade terms for the Buyer. We also provide solutions to successful transactions for the mutual benefit of all parties. Our Business Culture We value profit and trust. We also believe in personal integrity and in a good name. As mandate, agent and representative, we ensure that all parties involved in a transaction are verifiable genuine. Product We broker, facilitate and expedite trade in AGO diesel. We currently deliver to any location within Rivers State. Emayak Tommy etommy401@gmail.com 07030634626 N/B : Please only serious and genuine clients will be entertained! |
![]() |
![]() |
![]() |
![]() |
update 19/02/13 |
update 19/02/13 |
update 19/02/13 |
update 19/02/13 |
Features Leather seats Hand rest Automatic Transmission Alloy wheels Factory fitted Ac Reverse camera Navigation Location : Port Harcourt Price : N1,350,000 Only Call :07030634626, 08037761082
|
update 18/02/13 |
update 18/02/13 |
update 18/02/13 |
update 18/02/13 |
update |
![]() |
![]() |
thanks Tinyemeka, i've corrected it. ![]() |
1 2 3 4 5 6 7 8 ... 65 66 67 68 69 70 71 72 73 (of 73 pages)
)
.