NightFox's Lib has been updated to version 20110906.
What is Nightfox's Lib?
A small lib to help you to code games & applications for your Nintendo DS console. You can find functions to manage backgrounds, sprites, colision maps, text, sound effects, etc. Requires lastest Libnds to work (part of devkitPro).
New version of NFlib with following news and changes:
- Added NF_GetLanguage(); function, that gets the language code of user. Example of use added also. - FAT/NitroFS init errors now are bilingual (English/Spanish), based on user language setting. - Mixed BG mode added (Tiled BG + Bitmap 8 bits). - NF_InitMixedBgSys(); function added. - Some changes on examples and makefile.
LibNDS is "closer to the hardware", allows more "control" over the hardware and what the acctual code does, but at the same time it's more tedious and complicated. NightFox, much like PaLib and equivalents, does alot "for you".
This post has been edited by Foxi4, Thu, September 8th, 2011 at 01:21
Signature
Quoting: Comment on: NightFox’s Lib Version 20110906
LibNDS is "closer to the hardware", allows more "control" over the hardware and what the acctual code does, but at the same time it's more tedious and complicated. NightFox, much like PaLib and equivalents, does alot "for you".
So to put it crudely, using no LibNDS would be like writing in ASM (probably technically not true, but it's just an analogy to make things clear), using LibNDS is like using C++ and NightFox is like using Allegro or SDL or such?
...not quite. I'd say that it's more like "cooking chicken".
You can buy fresh chicken, bread it yourself and then cook it. You can also buy it frozen - with all the spices and breading already on and cook it. You end up with breaded chicken nuggets, it's just a matter of how much you can interfere with the recepie to affect the final product.
Signature
Quoting: Comment on: NightFox’s Lib Version 20110906
So to put it crudely, using no LibNDS would be like writing in ASM (probably technically not true, but it's just an analogy to make things clear), using LibNDS is like using C++ and NightFox is like using Allegro or SDL or such?
You can't write directly in ASM unless you have an Assembler/Compiler. Any programmer can write in ASM (Even for the DS) using gcc compiler, but can't without a compiler.
It is too hard for a human to write in assembly (Or even C++) without a library (Libnds in this case) that controls the hardware and provides functions to control the hardware.
And yes, using libnds (Not only C++) and NightFox is like using SDL or SFML for the Computer.
The commercial games you see in stores are not hardly programmed, since they use an Engine to make it easier for them to program the game. Very few commercial game programmers can program a game using raw OpenGL. I use the semi-OpenGL included in Libnds to program 3D for the DS. I hate commercial game programmers that use Engines to make it easier for them to program, and then they sell the games with an expensive price (It is a good thing that I download free pirated commercial games), even graphic designers work harder than commercial game programmers!!
So to put it crudely, using no LibNDS would be like writing in ASM (probably technically not true, but it's just an analogy to make things clear), using LibNDS is like using C++ and NightFox is like using Allegro or SDL or such?
You can't write directly in ASM unless you have an Assembler/Compiler. Any programmer can write in ASM (Even for the DS) using gcc compiler, but can't without a compiler.
It is too hard for a human to write in assembly (Or even C++) without a library (Libnds in this case) that controls the hardware and provides functions to control the hardware.
And yes, using libnds (Not only C++) and NightFox is like using SDL or SFML for the Computer.
The commercial games you see in stores are not hardly programmed, since they use an Engine to make it easier for them to program the game. Very few commercial game programmers can program a game using raw OpenGL. I use the semi-OpenGL included in Libnds to program 3D for the DS. I hate commercial game programmers that use Engines to make it easier for them to program, and then they sell the games with an expensive price (It is a good thing that I download free pirated commercial games), even graphic designers work harder than commercial game programmers!!
Every single game in existence works ontop of an engine. I'm not sure what you're trying to say, but I think you may be reffering to "re-using" engines in several installments of a series, which isn't all that bad as long as the engine is being improved.
As far as writting in ASM is concerned, it's not *that* horrible, and it's far from an "inhuman" feat. C++ is even easier, seeing that it's been standarized over and over again and it's well-documented. At the end of the day, libraries are shortcuts. A true development studio, when creating an engine, creates their own libraries which they do not share with anyone and they carry on improving them, with an exception for graphics card related libraries, which are supplied to them in form of DirectX, S3Metal(legacy) and OpenGL by outside companies.
Signature
Quoting: Comment on: NightFox’s Lib Version 20110906
You can't write directly in ASM unless you have an Assembler/Compiler. Any programmer can write in ASM (Even for the DS) using gcc compiler, but can't without a compiler.
You're mistaking writing the program code and compiling it. The first you can do with any text editor - even Notepad. It's compiling that code into an executable that you need the compiler for (duh).
Quote
It is too hard for a human to write in assembly (Or even C++) without a library (Libnds in this case) that controls the hardware and provides functions to control the hardware.
Not quite. It's perfectly possible to code in assembly without using any third party libraries, all it means is you have to code all functions you need on your own (and gain more in-depth familiarity with the platform; not a bad thing, except for your sanity). Far as C and C++ go, you still can write your own using inline assembly - otherwise you have no choice but to use third-party libraries and/or header files to supply you with the functionality you need.
Quote
The commercial games you see in stores are not hardly programmed, since they use an Engine to make it easier for them to program the game.
A pre-made engine doesn't provide you with everything you need - more often than not it's just a shortcut to get some of the functionality you need without having to code that part from scratch and thus allowing you to focus on the next step of the development... which is not unlike what Allegro or NFlib do. And it still doesn't mean that a third-party game engine won't be customized to fit the developers' plans for the game.
Quote
Very few commercial game programmers can program a game using raw OpenGL.
Because often they don't need to. The time of commercial games being produced by a single person pretty much went away with early 90's if not earlier. When there is an entire team working on a game, it's only logical to divide the tasks according to their competence - and then you end up with different areas of specialization. To give a general example, there's no point to demand your AI programmer to be able to do something that you will never assign him to doing.
Quote
I hate commercial game programmers that use Engines to make it easier for them to program,
It's like saying that you hate programmers who use IDEs to make it easier for them to program. It's not hardcore enough for you, but it's a practical choice for the industry. Fact: Unless you've manually coded the behavior of every single object in the game (which I'm sure everyone here will agree is an utterly insane idea), you are using an engine even if you refuse to admit it. Otherwise, you'd find it near impossible to produce anything beyond a Pong or Breakout clone... and the latter is pushing it.
This post has been edited by fifth_horseman, Sat, September 10th, 2011 at 12:22
Signature
Quoting: Comment on: NightFox’s Lib Version 20110906