#154393 - Romaap - Tue Apr 15, 2008 5:32 pm
I'm just starting in the DS-dev(I have some C++ experience) but I don't know wether I need to use DevkitPro or PAlib?
Can someone please tell me wich one is better?
#154394 - kusma - Tue Apr 15, 2008 5:35 pm
What is better or not is very much a matter of preference. In my opinion, devkitPro+libnds seems to be more robust and flexible, while PAlib seems easier to use. Many people on this forum seems to have a grudge against PAlib, and that might be well justified.
edit: changed ndslib to libnds - thanks for the correction, silent_code
Last edited by kusma on Tue Apr 15, 2008 7:11 pm; edited 1 time in total
#154395 - silent_code - Tue Apr 15, 2008 5:53 pm
note: don't confuse libnds with ndslib. i guess it was a typo, right? ;^)
#154396 - knight0fdragon - Tue Apr 15, 2008 5:57 pm
palib is a library that depends on libnds and devkitARM, but has lost support and does not work with the newest release last I checked. Your best bet is to just stick with libnds, and perhaps write some of your own simple libraries that you would include depending on your needs, or search around the forums for tips on how to do things
_________________
http://www.myspace.com/knight0fdragonds
MK DS FC: Dragon 330772 075464
AC WW FC: Anthony SamsClub 1933-3433-9458
MPFH: Dragon 0215 4231 1206
#154398 - anomalous_underdog - Tue Apr 15, 2008 5:59 pm
kusma, PAlib uses devkitARM (and libnds).
devkitARM is a collection of tools necessary to build nintendo ds executable rom files (stuff like compiler, assembler, linker)
PAlib is a programming library, its a sort of front-end for libnds, it has its ways of doing things, which may or may not be to your liking.
I think what you want to ask is: should I use plain libnds, or use PAlib? Do what you like. When I started out in ds homebrew dev, I didn't bother with PAlib since I found out it is in C (I wanted to make use of a C++ object oriented library, so I sort of made my own).
If you're working on a project with a tight schedule, you might want to use PAlib since it does most of the setting up for you.
edit: I guess I meant to say devkitARM, not devkitPRO. thanks simonjhall
Last edited by anomalous_underdog on Wed Apr 16, 2008 8:41 am; edited 1 time in total
#154400 - Romaap - Tue Apr 15, 2008 6:29 pm
are there some good tutorials? because all I can find are not completed, out-to date tutorials.
#154401 - SevenString - Tue Apr 15, 2008 6:30 pm
I don't think it has to be an "either/or" situation.
The latest PALib "community" release fixes a lot of issues with compatability, and works just fine with the latest devkitPRO (r21).
Very importantly, unlike previous versions, this latest PALib does nothing to alter your installed devkitPRO.
So, since devkitPRO comes with libnds as part of the devkitARM install anyway, and since installing/using the latest PALib doesn't change anything in devkitARM, there's no reason you can't install PALib and try both approaches to see what works best for you.
_________________
"Artificial Intelligence is no match for natural stupidity."
#154403 - simonjhall - Tue Apr 15, 2008 6:52 pm
Gonna beat him to it, but wintermute's gonna say that devkitpro's the distributor, devkitarm's the toolchain (beat you to it, mate!) so let's get that straight!
Anyway the choice really depends on how fast you want to get up and running with stuff. If you're in a super hurry, I'd look at (but not necessarily choose) PAlib. If you're in DS homebrew for the long haul and you eventually want to do stuff with less restrictions I'd take DKA and libnds in a flash.
If you're not sure what you want, have a look at the samples and documentation for both then see which one you think is more suited to what you want to do.
_________________
Big thanks to everyone who donated for Quake2
#154438 - knight0fdragon - Wed Apr 16, 2008 7:36 am
honestly using PALib is like cheating, sure, you could pass the class with cheating, but you lose out on some valueable knowledge in the process.
_________________
http://www.myspace.com/knight0fdragonds
MK DS FC: Dragon 330772 075464
AC WW FC: Anthony SamsClub 1933-3433-9458
MPFH: Dragon 0215 4231 1206
#154439 - anomalous_underdog - Wed Apr 16, 2008 8:43 am
Romaap wrote: |
are there some good tutorials? because all I can find are not completed, out-to date tutorials. |
For up-to-date "tutorials", your best bet is on the sample source code that comes with the downloads. I have to agree that most of the tutorials on the web are out of date.
But you'll probably want to check out those outdated tutorials too, so you'll have somewhere to start. (Much of what they explain is still relevant, after all) The source code is up-to-date, but they don't have much explanations for starters.
here's one that I know of:
http://osdl.sourceforge.net/main/documentation/misc/nintendo-DS/homebrew-guide/HomebrewForDS.html
its got links to other tutorials so its a good place to start
#154451 - SiW - Wed Apr 16, 2008 3:50 pm
In a situation like this, where I'm already dealing with an unofficial development environment, I'd rather stick as close to the supported path as possible. Using PALib just takes you further away from that, and adds another level of compatibility issues, leaving you dependent on more external forces.
The other reason I chose to forego PAlib is that working at a lower level helps teach me more about the hardware.
#154453 - Lynx - Wed Apr 16, 2008 4:07 pm
knight0fdragon wrote: |
honestly using PALib is like cheating, sure, you could pass the class with cheating, but you lose out on some valueable knowledge in the process. |
That depends on the class. If the class is "Intro to DS Hardware 101", yes.. using PAlib would be cheating, as you are not learning the DS hardware. But, if the class is "RPGs on mobile devices 101" then it would not be cheating, as the class isn't going to cover hardware specifically. What you are intended to learn is about programming an RPG, not how to write it for specific hardware.
So, again, it all depends on what YOU want to get out of programming for the DS. Do you want to learn the hardware inside and out (and have the time to give to such education) then that is great, don't use PAlib. But, if you just want to sit down and start coding for the DS, maybe PAlib is better for you.
_________________
NDS Homebrew Roms & Reviews
#154460 - Sweater Fish Deluxe - Wed Apr 16, 2008 7:30 pm
PAlib is more high level so you don't have to think very much about your memory use and stuff like that and can focus more on the game you're writing. Using libnds without PAlib gives you more flexibility in terms of hardware resources and programming style.
Both have their advantages and it's really up to you which is better. It's going to depend on the type of game or app you want to produce as well as what you want to get out of programming on the DS in the long run sense and also what you want to put into it.
The best advice, like SevenString said, is just to install the devkitARM and then install PAlib (the newest version works fine with dkA r21) on top of that as well and try them both out to see which one suits you best. Or perhaps you'll use both simultaneously. They're not mutually exclusive.
Here's a good guide to programming with only libnds:
http://patater.com/manual
And I guess you'd also want to be familiar with the hardware information at gbatek as well.
For PAlib, the included examples and documentation should be all you need to get started.
...word is bondage...
#154477 - SevenString - Wed Apr 16, 2008 9:18 pm
One thing I notice about certain parts of the PALib docs is where you are asked to put additional components (like certain libraries) in your devkitPro/devkitARM/libnds folders. ???
I like to keep my devkitPro COMPLETELY clean, and I NEVER install "3rd party" components to muck it up. Not only is keeping DKA isolated just a good practice to follow, but if one needs to update to any newer DKA release, the uninstall of the old one nukes the entire DKA folder, INCLUDING any extra crap that one might have "installed" on an ad hoc basis.
_________________
"Artificial Intelligence is no match for natural stupidity."
#154484 - Chano Marrano - Wed Apr 16, 2008 10:58 pm
Quote: |
In my opinion, devkitPro+libnds seems to be more robust and flexible, while PAlib seems easier to use |
Sorry for the offtopic, but I have a pair of questions:
- When you say that PAlib is less flexible than libnds, "flexible" means that some part of the hardware isn't accessible, memory banks can't be (re)configured, etc?
- PAlib can be used only for access to one hardware feature (for example sprites), while libnds is used for the rest?
- How restricted is PAlib compared with GBA libraries such as HAM or HEL?
_________________
Sh*tty RPG
#154492 - wintermute - Wed Apr 16, 2008 11:46 pm
None of this discussion is actually that relevant. Since the PAlib maintainers decided to create an installer which causes devkitARM to malfunction that library has been declared unsupported and highly not recommended by the devkitPro maintainers. If you want your toolchain to work then do not install PAlib, it's as simple as that.
_________________
devkitPro - professional toolchains at amateur prices
devkitPro IRC support
Personal Blog
#154502 - SevenString - Thu Apr 17, 2008 1:10 am
wintermute wrote: |
None of this discussion is actually that relevant. Since the PAlib maintainers decided to create an installer which causes devkitARM to malfunction that library has been declared unsupported and highly not recommended by the devkitPro maintainers. If you want your toolchain to work then do not install PAlib, it's as simple as that. |
SevenString wrote: |
Very importantly, unlike previous versions, this latest PALib does nothing to alter your installed devkitPRO. |
_________________
"Artificial Intelligence is no match for natural stupidity."
#154503 - Sweater Fish Deluxe - Thu Apr 17, 2008 1:18 am
wintermute wrote: |
None of this discussion is actually that relevant. Since the PAlib maintainers decided to create an installer which causes devkitARM to malfunction that library has been declared unsupported and highly not recommended by the devkitPro maintainers. If you want your toolchain to work then do not install PAlib, it's as simple as that. |
ITEM! Opinions other than wintermute's can be relevant as well!
ITEM! wintermute appears to be uninformed about the current state of PAlib!
ITEM! An uninformed opinion is the most likely opinion to be irrelevant!
...word is bondage...
#154506 - kusma - Thu Apr 17, 2008 1:33 am
Chano Marrano wrote: |
Sorry for the offtopic, but I have a pair of questions:
- When you say that PAlib is less flexible than libnds, "flexible" means that some part of the hardware isn't accessible, memory banks can't be (re)configured, etc?
|
PAlib seems to be more monotonic, as in more aspects of the code-base seems to depend on each other. With libnds, you can basically choose what parts to use without problems - but it's all pretty low-level though.
Quote: |
- PAlib can be used only for access to one hardware feature (for example sprites), while libnds is used for the rest?
|
Don't know, never tried.
Quote: |
- How restricted is PAlib compared with GBA libraries such as HAM or HEL? |
Again, don't know, never tried. My assumptions are made quite prematurely, and without proof. I only looked at some samples, and found it all to look a bit to "magic" and disconnected from the hardware for me to feel confident with it. I might be very wrong, though.
#154532 - Lynx - Thu Apr 17, 2008 3:40 pm
Quote: |
- PAlib can be used only for access to one hardware feature (for example sprites), while libnds is used for the rest? |
I might not fully understand the question, but you can use PAlib for pretty much everything. Use it to setup your backgrounds, put/move/remove sprites, play music, create your touch input areas, etc.
Quote: |
Since the PAlib maintainers decided to create an installer which causes devkitARM to malfunction that library has been declared unsupported and highly not recommended by the devkitPro maintainers. If you want your toolchain to work then do not install PAlib, it's as simple as that. |
Maybe you should say that by installing PAlib, you release your "right" to support from the developers of a free toolchain you didn't pay for support to begin with?
I'm not saying you guys don't provide great support, and I agree that you shouldn't waste your time supporting people that use PAlib. It just seems nicer to state that if you use PAlib, please request support from the maintainers of PAlib.
Now, if I was to send you $100/mo and I used PAlib, would you still not support me?
_________________
NDS Homebrew Roms & Reviews
#154536 - Sweater Fish Deluxe - Thu Apr 17, 2008 5:56 pm
Quote: |
- PAlib can be used only for access to one hardware feature (for example sprites), while libnds is used for the rest? |
Yeah, this works out fine. For the most part, I haven't had very much need to delve into libnds functions since PAlib provides most of the things you would need for making a game, but even if you're using PAlib for other things, you can always switch to libnds for certain sections of your game or for specific functions if you find you need to. libnds also provides a lot of macros for referring to certain registers and memory addresses and those can be useful as well.
Integrating multiple libs has become the hallmark of PAlib with the most recent version. It now relies on Noda's ASlib for audio functions and allows access to liblobby for local DS-DS communication and of course has always used libfat for FAT access and dswifi for wi-fi and the underlying libnds is always there when you need it.
This is certainly actually the more flexible dev environment, if you think about it that way.
...word is bondage...
#154539 - wintermute - Thu Apr 17, 2008 7:13 pm
lynx wrote: |
Now, if I was to send you $100/mo and I used PAlib, would you still not support me?
|
Being honest I wouldn't actually support anyone using PAlib at any price.
It's hard to find any kind of decent analogy for this situation but my feelings towards PAlib can probably be likened to those of a car manufacturer towards the sellers of unauthorised spares which have been the root cause of fatal accidents.
Ok, PAlib isn't life threatening by any means, it's not like people are using DS homebrew to run life support machines ( I hope :P ) but there are all sorts of issues with the codebase, the examples, how the build system is put together and the tools provided with the library. Much of the code violates several fundamental rules of programming and the entire system appears to designed around the idea that certain methods of working are perfectly acceptable.
Keldon put this much better than me in another thread & I think it's very much worth repeating here.
in another thread keldon wrote: |
Choice isn't always good if a vast majority of newcomers lack the knowledge to truly comprehend the decision.
You don't pick modules in primary school because you are not equipped to make that decision, we spend the first 11 years of our public education following a curriculum that differs only in small areas.
When presenting a user with a choice or recommendation in a small community we want the least amount of "buts". As for what I personally think, I think the entire library-developing-type should be working together. We would be a much stronger community if we could just say, "this is what you use for DS development", not, "erm, well, you could choose @@@ or ### because @@@ is for %%% and ### is for $$$". Especially if one group lacks experience, should they not be learning from the experienced and being mentored, hence creating a kick ass PALib library - fuelled by productivity, driven by foresight and guided by wisdom ^_^
|
Personally I believe that PAlib is fundamentally beyond redemption but I do wholeheartedly agree with the sentiments expressed.
Sweater Fish Deluxe wrote: |
Integrating multiple libs has become the hallmark of PAlib with the most recent version. It now relies on Noda's ASlib for audio functions and allows access to liblobby for local DS-DS communication and of course has always used libfat for FAT access and dswifi for wi-fi and the underlying libnds is always there when you need it.
|
And that sums up one of the fundamental issues with PAlib. Adding in every "cool" library under the sun is a path to disaster. Some of them are basically unsuited to the DS, some of them are broken in their own way & the sum of the parts hugely limits what a programmer can achieve with devkitARM.
Quote: |
This is certainly actually the more flexible dev environment, if you think about it that way.
|
Except that PAlib is *not* a dev environment. Without the underlying tools and libraries provided with devkitARM it's nothing. I'm not sure you understand the degree to which the toolchain makes PAlib and other libraries possible - the work I put in to make these toolchains easy to use for novice & expert alike has turned out to be a horribly double edged sword.
_________________
devkitPro - professional toolchains at amateur prices
devkitPro IRC support
Personal Blog
#154550 - Sweater Fish Deluxe - Thu Apr 17, 2008 11:16 pm
wintermute wrote: |
Quote: |
This is certainly actually the more flexible dev environment, if you think about it that way.
|
Except that PAlib is *not* a dev environment. Without the underlying tools and libraries provided with devkitARM it's nothing. I'm not sure you understand the degree to which the toolchain makes PAlib and other libraries possible - the work I put in to make these toolchains easy to use for novice & expert alike has turned out to be a horribly double edged sword. |
You're just being silly--looking for things to get yourself worked up into a hissy about. I never said PAlib was a dev environment. I said the entire environment composed of multiple libs including PAlib and ASlib and also obviously including the devkitARM toolchain made for a more flexible dev environment than just libnds and dkA on their own. Obviously you agree in theory since you include libfat and dswifilib with the basic devkitARM distribution and incorporated motionlib into libnds itself. That wasn't enough for me, I also found that I needed PAlib and ASlib in order to be able to do what I wanted to do, so I added those into the mix. That is undeniably a more flexible environment than just dkA and libnds since it includes those as a subset.
I am well aware of the fact that these other libraries rely on devkitARM and I'm also aware of the work you put into that toolchain. I would love nothing more than to give you the respect you deserve for your work, but in my mind you have squandered all your goodwill by trying to control the way people use the tools you helped make and even trying to sabotage the efforts of those people who want to use them in a way that doesn't jibe with your concepts of how and why people should program.
...word is bondage...
#154560 - silent_code - Fri Apr 18, 2008 3:52 am
guys, this is definitely going too far across the boundaries of what is good for the community.
it's a matter of taste, yes, so let's leave it at that. we don't want to get upset, do we? there are several ways of thinking and thus designing software and some are better some "aren't".
it's not our choise to make, because we are in a totally different position than someone who's just beginning nds dev.
my rule of thumb is: whenever you want to "create" (good game/software), go as low as you can and do all the stuff yourself. whenever you want to "mess with code" (simple game), take what you can get. that's my personal opinion and advise to newcomers.
so, please, cut the "holy s...tuff"! :^)
#154580 - Lynx - Fri Apr 18, 2008 2:41 pm
Agreed.. it's getting to the point that anything "PAlib vs whatever" should just be deleted.. All they do is start a flame war and nobodies opinion is going to be changed.
_________________
NDS Homebrew Roms & Reviews
#154584 - sonny_jim - Fri Apr 18, 2008 3:56 pm
We interrupt your current programming to bring you this important message:
People sometimes have a difference of opinion
News at eleven.......
;-)
#154588 - silent_code - Fri Apr 18, 2008 4:47 pm
@ sonny_jim: but lynx is right, it looks like 99.9% of all attempts to convince someone of something, nobody will change his/her opinion about a certain topic, which in it self it highly subjective, like a matter of taste. due to that, it's pointless in arguing.
if there isn't already, there should be a sticky thread for beginners that states what devkitARM/libnds and PAlib are and what's the difference between them.
each time a question like this arises, one only has to point the person to the sticky and that's it.
my opinion. ;^)
#154597 - josath - Fri Apr 18, 2008 10:47 pm
silent_code wrote: |
@ sonny_jim: but lynx is right, it looks like 99.9% of all attempts to convince someone of something, nobody will change his/her opinion about a certain topic, which in it self it highly subjective, like a matter of taste. due to that, it's pointless in arguing.
if there isn't already, there should be a sticky thread for beginners that states what devkitARM/libnds and PAlib are and what's the difference between them.
each time a question like this arises, one only has to point the person to the sticky and that's it.
my opinion. ;^) |
But then wont some people say that the sticky should recommend against palib? and then others will come and say how great palib is, and why are you oppressing me like this? and then our sticky will end up just like all these other flamewars.
Maybe everyone could agree on the official policy of gbadev.org forums being something like:
"Many people recommend against using PAlib. However, there are also people who like it. if you wish to learn more about it or ask questions, please, go to their website palib.info (or whatever it is) instead of here."
#154599 - sonny_jim - Fri Apr 18, 2008 10:56 pm
silent_code wrote: |
but lynx is right yadda yadda yadda |
Completely missed the point but never mind :-)
An old phrase has stood me well for several years now:
"Arguing on the internet is like running in the special Olympics"
Personally, I think gbadev should cover DS/GBA development and any palib/devkitpro conversations can be done on the palib/devkitpro forums, in the same way as I don't expect to find DSLinux related posts here. The whole palib/devkitpro thing only popped again recently because the palib forums were down for a bit and people started coming to here for help.
#154603 - nanou - Sat Apr 19, 2008 1:02 am
sonny_jim wrote: |
Personally, I think gbadev should cover DS/GBA development and any palib/devkitpro conversations can be done on the palib/devkitpro forums, in the same way as I don't expect to find DSLinux related posts here. The whole palib/devkitpro thing only popped again recently because the palib forums were down for a bit and people started coming to here for help. |
Of course a lot of people will come here asking about which to use. If you go to either of those forums you'll get a single biased view, instead of many biased views I guess.
WM might come off as arrogant but I can't argue with his fundamental viewpoint regardless of how it's expressed. I'd go so far as to say that if you can't tell that you shouldn't be using PA, you shouldn't be writing code for compiled languages.
_________________
- nanou
#154604 - Sweater Fish Deluxe - Sat Apr 19, 2008 1:31 am
sonny_jim wrote: |
Personally, I think gbadev should cover DS/GBA development and any palib/devkitpro conversations can be done on the palib/devkitpro forums, in the same way as I don't expect to find DSLinux related posts here. |
So, if DSLinux, PAlib and libnds are off limits for discussion here and the various forums dedicated to each of those make similar rules about not discussing the others, then where exactly would a question like the original poster's be okay?
Obviously the DS homebrew community needs a place where it's perfectly okay to discuss or aks questions about anything related to DS development. GBAdev seems like the best site to fill that role, does it not?
Arguments are a natural part of any healthy social group comprised of people with true opinions. Seeing people argue does seem to make some people squeemish, but...well, so what? Those people just need to get over it.
Does it help if I point out the fact that arguing is not really about changing the other person's mind as most people erroneously seem to think? Arguments help everyone directly or indirectly involved to think more clearly and critically about their own viewpoints as well as those of others, whether or not they actually "change their mind" about the topic being debated. Thinking clearly and critically are entirely good things. Having opinions and expressing them is an entirely good thing. There's nothing wrong with arguments. Don't be afraid of them.
...word is bondage...
#154606 - josath - Sat Apr 19, 2008 1:46 am
Well, the danger is when some people argue for something which is wrong, newbies might see this argument and believe it is correct.
It's like Fox News or (insert favorite news channel here), who, in the name of "fair and balanced", give "equal time" to both the whackjobs who believe in perpetual motion or TimeCube theory, along with the scientists/historians/etc with facts/proofs. This leads the average layperson into believing there is some merit behind the stupid theories, when in fact they should really just be discarded.
(cue the believers in Time Cube coming out of the woodwork to tell me I'm wrong and therefore evil)
#154607 - silent_code - Sat Apr 19, 2008 3:28 am
sonny_jim, you're right about one thing: i didn't get your point. that hasn't changed yet. ;^D
i'm quiting this thread for obvious reasons. ;^)
happy ranting! :?D
#154618 - melw - Sat Apr 19, 2008 7:14 am
Sweater Fish Deluxe wrote: |
So, if DSLinux, PAlib and libnds are off limits for discussion here and the various forums dedicated to each of those make similar rules about not discussing the others, then where exactly would a question like the original poster's be okay? |
The fact remains that for PAlib you'll get your questions answered on PAlib forums, DSlinux has also own forums. It's just common sense that you can get a faster and (by the looks of this thread) more friendly answers for library specific questions on their home forums. libnds is then again something almost everyone uses, and most of not all homebrew developers have experience using it.
One could ask also on the devkitPro forums and on PAlib forums and probably get two very different answers. Go figure. :)
Sweater Fish Deluxe wrote: |
Does it help if I point out the fact that arguing is not really about changing the other person's mind as most people erroneously seem to think? |
It's bit like religion... Pointless to argue, and that's why I'm going to stop here. Make code, not war!
#154644 - Sweater Fish Deluxe - Sat Apr 19, 2008 8:05 pm
josath wrote: |
It's like Fox News or (insert favorite news channel here), who, in the name of "fair and balanced", give "equal time" to both the whackjobs who believe in perpetual motion or TimeCube theory, along with the scientists/historians/etc with facts/proofs. This leads the average layperson into believing there is some merit behind the stupid theories, when in fact they should really just be discarded. |
So your solution is to gag anyone who believes something you don't think there's an argument for? Would also like to burn their books? Perhaps submit them to a new Inquisition?
If there's no valid argument for something, then it can be refuted easily and there can be no danger in having the argument presented. If you're incapable of refuting the arguments, then either there is validity to the belief afterall or else your ability to understand and express your own viewpoint needs to be developed (and until they are, it doesn't make sense to take your word that opposing beliefs are invalid).
melw wrote: |
The fact remains that for PAlib you'll get your questions answered on PAlib forums, DSlinux has also own forums. It's just common sense that you can get a faster and (by the looks of this thread) more friendly answers for library specific questions on their home forums. |
Agreed, but this was not a library specific question. It was a comparitive question about programming tools and methods.
...word is bondage...
#154687 - tepples - Sun Apr 20, 2008 8:28 am
josath wrote: |
It's like Fox News or (insert favorite news channel here), who, in the name of "fair and balanced", give "equal time" to both the whackjobs who believe in perpetual motion or TimeCube theory, along with the scientists/historians/etc with facts/proofs. This leads the average layperson into believing there is some merit behind the stupid theories, when in fact they should really just be discarded.
(cue the believers in Time Cube coming out of the woodwork to tell me I'm wrong and therefore evil) |
NINTENDO'S SIMULTANEOUS 4-PLAYER GAME CUBE: page 1 | page 2
Time Cube itself is just a misinterpretation of time zones. There are more than four simultaneous 24-hour days; there is one for each time zone.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#154690 - keldon - Sun Apr 20, 2008 10:41 am
Hmm: it is pointless to try to change someone's opinion, as that requires the cycle of change. What you should do (in any discussion in fact) is present a few truths and implications supporting your opinion; gee-whiz, you don't even have to give your opinion to make someone start to support it ^_^
IMO: PALib is definitely a step in the right direction (in terms of its goals), but is not quite there. Unfortunately the people (with experience, etc.) who should have been involved in this type of project in the design stages were not, and it's far too late for them to assist now (no matter how much they might want to help).
However: for a beginner, I really don't know; beginners would have an easier bet working with GBA compatibility so that they can learn within a simpler environment.
Ah: a better question is which tutorials you like most, since you'll need to use the library to support the tutorials ... and I guess that is [almost] the answer to any "PALib / libnds" type question; just use something!
... hope that helps ...
#154702 - SevenString - Sun Apr 20, 2008 6:11 pm
tepples wrote: |
NINTENDO'S SIMULTANEOUS 4-PLAYER GAME CUBE: page 1 | page 2
Time Cube itself is just a misinterpretation of time zones. There are more than four simultaneous 24-hour days; there is one for each time zone. |
HAHAHA! That was awesome!
_________________
"Artificial Intelligence is no match for natural stupidity."
#154703 - simonjhall - Sun Apr 20, 2008 6:16 pm
tepples wrote: |
NINTENDO'S SIMULTANEOUS 4-PLAYER GAME CUBE: page 1 | page 2
Time Cube itself is just a misinterpretation of time zones. There are more than four simultaneous 24-hour days; there is one for each time zone. |
Wow, just wow. WTF?!
_________________
Big thanks to everyone who donated for Quake2
#154774 - Lynx - Mon Apr 21, 2008 4:24 pm
Good points keldon. The only person that can say what is the best option for programming is the one that is going to be doing the programming. I guess we will continue these wars until people stop asking.. ;) Which way to the line, so I can straddle it. :D
_________________
NDS Homebrew Roms & Reviews
#154777 - josath - Mon Apr 21, 2008 5:02 pm
*throws more fuel onto the fire*
keldon wrote: |
Ah: a better question is which tutorials you like most, since you'll need to use the library to support the tutorials |
Last time i checked the palib tutorials (I admit I don't care enough to actually look at them again to see if they've been deleted & completely rewritten by someone who actually knows how to write decent code), they were full of errors, misconceptions, and horrible practices being taught. A simple example, they claimed that ^ is an exponent operator, instead of an XOR operator.
#154780 - nanou - Mon Apr 21, 2008 5:06 pm
An appeal based on preferred tutorial? That's putting the cart before the... pregnant mare.
_________________
- nanou
#154789 - sumiguchi - Mon Apr 21, 2008 7:20 pm
I honestly wish there was an alternative to devkitPro myself....
#154790 - josath - Mon Apr 21, 2008 7:25 pm
sumiguchi wrote: |
I honestly wish there was an alternative to devkitPro myself.... |
Well, assuming you mean devkitARM in your statement, you wish there was a different compiler? Would you still want it to be based off of gcc, or perhaps a new C++ compiler written from scratch? This is a huge amount of (often thankless) work, very few people would be interested in duplicating something that already works quite well.
#154794 - sumiguchi - Mon Apr 21, 2008 7:45 pm
Quote: |
Well, assuming you mean devkitARM in your statement, you wish there was a different compiler? Would you still want it to be based off of gcc, or perhaps a new C++ compiler written from scratch? This is a huge amount of (often thankless) work, very few people would be interested in duplicating something that already works quite well. |
not to particular on the details but yeah based on gcc is ok.... I recognize it is an enormous undertaking but I have some fundamental differences of opinions with wintermute and he can't seem to "agree to disagree" he has to go for the jugular every time and I'm just sick of it.... he continues to spread lies and disrespect the thousands of hours of hard work by the palib dev'rs and community as a whole.
maybe it's time to check out PPC dev or see what shakes out of googles mobile platform... something where you get professional toolchains at amature prices with professional attitude.
I'm not in 6th grade any more and my mom isn't fat.
#154796 - josath - Mon Apr 21, 2008 7:56 pm
sumiguchi wrote: |
palib dev'rs and community as a whole. |
Please don't lump us all together, I certainly wouldn't want to be known as part of the palib community.
Quote: |
maybe it's time to check out PPC dev or see what shakes out of googles mobile platform... |
Oh noes, someone is threatening to stop using a free product! whatever will we do?
Quote: |
I'm not in 6th grade any more and my mom isn't fat. |
I'm having a very hard time figuring out what this has to do with anything. Are you somehow implying that wintermute was making childish personal attacks? Because all I see is examples of actual problems, along with a dose of understandable frustration.
#154799 - silent_code - Mon Apr 21, 2008 8:19 pm
!!!!no direct, personal attacks intended!!!!
i will go on a limb and say, not even nintendo has such a great support and update frequency as we have here. even though devkitARM and libnds & co. may not be as complete as n's stuff, they are still free, so we're able to do things, others have to pay big money for, for free. ;^)
that's invaluable.
also, if a particluar lib is soooo damn important for someone, then what? some people akt like their feelings get hurt every time someone says they aren't pleased by, e.g. PAlib. so what? you're still free to use it! come on! you better invest your time in coding than whining.
if you don't like something, it's ok. feel free to write your own. who cares? i don't.
there is no real alternative to devkitARM for nds and you shouldn't care about that it's maintainer personally thinks about other stuff. you want to program for the nds, use what you can get for free or else you're definitely on the wrong side of the web.
my opinion. thanks for reading. now get to work. ;^D
PS: DAMN I DID IT, i've posted again, when i didn't want to!!!! arrrrgh, weak is the mind! weak! ;^p
Last edited by silent_code on Mon Apr 21, 2008 11:35 pm; edited 1 time in total
#154801 - Sweater Fish Deluxe - Mon Apr 21, 2008 8:40 pm
josath wrote: |
sumiguchi wrote: | palib dev'rs and community as a whole. | Please don't lump us all together, I certainly wouldn't want to be known as part of the palib community. |
Well, like it or not you're in the same community as developers who are using PAlib. You're just going to have to come to terms with that. I've tried to provide a line of thinking in this and previous related threads that should allow persons like you or wintermute to accept this inevitibality that you seem to find so distasteful without having to abandon your ideals of Right Programming, but it's up to you to pick up that line of thinking and figure out how it works.
As for this question of whether PAlib does or should fit in with devkitARM community, that decision may soon be completely out of our hands as PAlib users. wintermute has promised nothing but grief for PAlib users once r22 comes out and I'm sure that even if we manage to solve those problems, it owuld start all over once r23 is released. At some point, it will certainly be in our best interests to stop trying to keep up with the changes in devkitARM, especially since they seem to be more organizational than functional.
Personally, as a PAlib user, I am currently totally satisfied with devkitARM r21 and see no reason to switch to r22 when it ocmes out, so these incompatibilities are no problem from my perspective. I expect that more and more PAlib users will come to the same conclusion in time and then the PAlib and devkitARM communities will effectively be split, which is what most people in this thread seem to want.
That splitting of the community seems like a waste of resources to me, but then just like everyone's been saying, so is the constant bickering and oneupsmanship between the PAlib and devkitPRO maintainers.
...word is bondage...
#154804 - josath - Mon Apr 21, 2008 8:58 pm
None of the changes in devkitARM or libnds are done with any malice or intent to break palib. To think otherwise is just paranoia or arrogance, or maybe something else, I'm not sure.
As far as updates being useless, the last one (r21) added support for Vista. I'm sure all the vista users out there would be upset by your implication that support for their platform is not a worthy update.
The update before that (r20), added support for accessing directories using libfat instead of the old, deprecated gba_nds_fat.
These are just two examples I picked out of course, along with the usual updates to gcc, binutils, etc which give us better code generation, better C/C++ standards support, and more useful warnings/error messages.
There are also occasionally updates for spelling / API changes, but you can you really argue that it was better to leave things misspelled, to save people 5 minutes of changing their code to match?
I don't think anyone wants palib code to break every time anything gets updated. We would much rather they instead fixed the bugs/problems in their code such that it wouldn't break in the first place, and we wouldn't have to deal with their accusations.
--
To be honest, I really wish there was something like palib that worked well. I've got nothing against high level API's, heck I write Flash ActionScript for my job and I think it's great. The thing is, I've tried to use palib several times, and every time I run into problems. I end up deciding it would take me less time to just write the code from scratch myself, instead of trying to debug what's gone wrong with PAlib.
#154815 - sumiguchi - Mon Apr 21, 2008 10:09 pm
@silent_code
I completely agree - I just find it reprehensible that some people continue to go out of their way to bash work that others do. I have no personal feelings for palib but i REALLY appreciate the hard work that went into it as I do for devkitPro (Arm, libnds, dswifi etc). I give full credit in my games and when these guys ask for help - I try to help...
@Josath...thanks for the bait, but I'm full
#154829 - silent_code - Mon Apr 21, 2008 11:44 pm
to all whinies: upgrades to the devkit toolchains and in particular the more relevant changes in *libnds* don't *only* break PAlib! if they break something, then most of the codebases out there are broken! that's an aweful lot of libs, demos, games etc. that "suddenly" get incompatible to the upgraded devkit and *more likely* libnds.
GET OVER IT!
as developers it is in our hands to maintain our codebase! if we decide for a certain product or project to upgrade its toolchain or libraries, it is a concious decision everyone has to make for themselves.
there was some trouble porting r19 code to r20 code, but none in comparison to changes in libnds. so stop bashing the devkit!
if you write well maintainable code, you shouldn't have much trouble in upgrading to a new toolchain and, more important, new lib versions.
well, that's the (small as i might add, as it's not YOU who does the dirty work here, it's ppl like wm) price you have to pay for up to date tools and advancement. (don't try to tell my that upgrading compilers, among other things, isn't just *that*!)
i fail to see any fu_ck_with_palib.exe in the toolchain. really. so, what the hell are you even talking about? what about some *examples*? some prove?
(here we go again:) or is it just that wm dislikes PAlib and doesn't hesitate to speak his mind? wtf, who cares what wm likes or not? i personally don't care about wm (sorry for the harsh words, it's not meant to be that hard, hope you get it), but i care about the hard work that makes libnds, PAlib and anything else for nds possible! so, COME ON! easy, man!
it gets really annoying and it's offtopic. there is no PAlib without devkitARM etc.
good night.
#154838 - Sweater Fish Deluxe - Tue Apr 22, 2008 12:23 am
silent_code wrote: |
to all whinies: upgrades to the devkit toolchains don't just break PAlib! if they break something, then most of the codebase out there is broken! that's an aweful lot of libs, demos, games etc. that "suddenly" get incompatible to the upgraded devkit.
GET OVER IT!
as developper it is in our hands to maintain our codebase! if we decide, for a certain "product" or project to upgrade it's toolchain, this is a concious decision everyone has to make for themselves.
there was some trouble porting r19 code to r20 code, but none in comparisson to changes in libnds. so stop bashing the devkit!
if you write well maintainable code, you shouldn't have much trouble in upgrading to a new toolchain, and more important, new lib versions. well, that's the (small as i might add, as it's not YOU who does the dirty work here, it's ppl like wm) price you have to pay for up to date tools and advancement (don't try to tell my that upgrading compilers, among others, isn't just that).
i can't see any fu_ck_with_palib.exe in the toolchain. really. so, what the hell are you even talking about? what about some *examples*? some prove?
(here we go again:) or is it just that wm dislikes PAlib and doesn't hesitate to speak his mind? wtf, who cares what wm likes or not? i personally don't care about wm (sorry for the harsh words, it's not meant to be that hard, hope you get it), but i care about the hard work that makes libnds, PAlib and anything else for nds possible! so, COME ON! easy, man!
it gets really annoying and it's offtopic.
good night. |
You're reading an awful lot into what I said. It's just a fact that each release of devkitARM since I began developing on the DS has caused significant problems with PAlib that took months to fix and wintermute has already said that the same will be true again with r22. I wasn't saying or implying anything else, so I don't really know what you're on about, but it sounds pretty silly.
My point wasn't that there was any malicious stuff going on, but that whatever the cause is, the problems each new dkA release are introducing don't really seem worth dealing with from my perspective. Like you said, the choice to update to a new toolchain is up to the code's maintainer(s) and I'm saying that I wouldn't personally make the choice to update PAlib if it were up to me.
It's not up to me, though.
...word is bondage...
#154839 - silent_code - Tue Apr 22, 2008 12:27 am
@ Sweater Fish Deluxe:
neither did i quote you, nor did mention you in any way. i'm not into personal attacks.
as you can see, i try to address anyone who feels like this is about him/her. please stop reading things into *my* posts.
thank you.
ps: if you don't understand my posts, then you better start reading them with a clear and focued mind, not trying to interpret something into my word. there's nothing inbetween the lines, just the words i wrote down.
EDIT: agian @ Sweater Fish Deluxe: it is SURE YOUR DECISION to upgrade PAlib, isn't it? you are NOT FORCED to install any upgrades, are you?
PLEASE, STOP POSTING AND START THINKING! PLEASE! if what i post is silly to you, then you must be quite inexperienced or very very very *very* specialized in what you do and what you need. after all, this forum isn't a debating club.
NOTE: please, don't think i have any personal grief against you or anyone else in the forum or community. i don't work that way.
also, i'd like to address that the devkitARM and libnds crews always supply enough information for you to make your code compatible, as well as examples and updated makefiles etc.
Last edited by silent_code on Tue Apr 22, 2008 1:03 am; edited 2 times in total
#154840 - Alphanoob - Tue Apr 22, 2008 12:41 am
rofl. Silent, do all of your posts end this way? seriously though, i dunno what the issue is, but silent doesnt try to pick anyone out, just speaks generally and tries to help those in need =).
#154841 - silent_code - Tue Apr 22, 2008 12:48 am
@AN: no, but this is becoming a serious issue and there are already enough hatewars out there. we don't want to split a community because of some foolish ideals or even worse, misunderstanding. no, no. that's no good.
especially when one of the two parties has to heavily rely on the other because of the dependencies. by this i don't mean that the PAlib community is against anything or whatever. it's just individuals who have to start flaming every time they see an "a vs b" (which should be called "a or b" or "difference between a and b" in the first place).
well, i aswell have to rely on the community and i'm just trying to help by any means. sometimes that also means, and that's sad, that i have to use capitals. ;^)
that's why i'm for a sticky that states - in a objective way - what libnds and PAlib are. no pors, no cons. then everyone can figure out for themself. it has to be just a slight hint for the uninformed (and lazy).
thanks for reading.
Last edited by silent_code on Tue Apr 22, 2008 1:03 am; edited 2 times in total
#154842 - Sweater Fish Deluxe - Tue Apr 22, 2008 12:49 am
silent_code wrote: |
@ Sweater Fish Deluxe:
neither did i quote you, nor did mention you in any way. i'm not into personal attacks.
as you can see, i try to adress anyone who feels like this is about him/her. please stop reading things into *my* posts.
thank you. |
Sorry, I was repsonding to this
Quote: |
fail to see any fu_ck_with_palib.exe in the toolchain. really. so, what the hell are you even talking about? what about some *examples*? some prove? |
I assumed it was in response to my previous post since it doesn't makes sense as a response to any other posts that I see and in addition specifically asks for a response from...well, someone.
If I misunderstood and it was not directed at my post, then I aplogize; but I would recommend that in the future you do use quotes since far from being a personal attack, the use of quotations can help to make the points in a post more clear to readers.
Quote: |
EDIT: agian @ Sweater Fish Deluxe: it is SURE YOUR DECISION to upgrade PAlib, isn't it? you are NOT FORCED to install any upgrades, are you? |
You've misunderstood me. I wasn't talking about users updating to the newest version of PAlib, but maintainers updating the code of PAlib itself to work with whatever the newest verison of the toolchain is. Sorry if that wasn't clear.
My point, to state it one more time, is that the efforts of the people updating broken functions in PAlib might be better spent by just sticking with the previous version of the toolchain and working on new functions instead since dkA seems pretty stable at this point and the idea behind PAlib isn't to be an all-encompassing development lib anyway, but specifically a homebrew game development lib, so not all the features of dkA are even important to PAlib users.
...word is bondage...
#154844 - silent_code - Tue Apr 22, 2008 12:55 am
@ Sweater Fish Deluxe:
then again, it is up to THEM. i fail to see a point in accusing wm etc. for breaking stuff. ???? i can't see any lib authors doing that. this is quite natural to software *development*. are you a PAlib author (as opposed to user)?
please address your issues to the PAlib team. there's nothing anyone else can do about that.
btw: that misunderstanding comes from a concept that doesn't exist (or isn't obvious to me) in the english language, that other languages i speak have: different words for you (sing.) and you (plur.) ;^)
PS: in this type of post, i try to avoid quotes, because it encourages ppl to thing i mean them, when i don't *specifically* mean them, but certain "misconceptions" others post aswell. otherwise i had to quote a *lot*. should be clear enough.
@ekid: just my point! :?)
Last edited by silent_code on Tue Apr 22, 2008 1:08 am; edited 7 times in total
#154846 - eKid - Tue Apr 22, 2008 12:57 am
Sweater Fish Deluxe wrote: |
It's just a fact that each release of devkitARM since I began developing on the DS has caused significant problems with PAlib that took months to fix |
A good lib shouldn't have trouble upgrading between compilers... :)
#154850 - Sweater Fish Deluxe - Tue Apr 22, 2008 1:08 am
eKid wrote: |
A good lib shouldn't have trouble upgrading between compilers... :) |
Yet another arbitrary rule. There seems to be a lot of those in y'all's (how's that, silent_code?) definitions of good coding.
To me, as an end user, a good lib is just one that does what I want it to do with the least amount of work on my part.
Maybe one day there'll be a lib for homebrew DS development that meets both of our definitions, but until then people will continue to choose from what's available based on their own needs and definitions.
...word is bondage...
#154851 - silent_code - Tue Apr 22, 2008 1:12 am
@ SFD: but if you're just a user, not an author, what exactly is your point?
it's not you who has to change PAlib. what is your problem?
a good lib isn't just a lib that does what you want, but does that with a well defined and designed API and consistency. also, a good lib will be updated and expanded to improve it's functionality and your (the user's) workflow for a minimal initial cost (the middleware author's).
and it's common sense that well written software is well maintainable. if you write spaghetti code, then it's your fault when it's hard for you to "adjust" your codebase. period.
man, now *I* feel silly for arguing like that. well, i'm just being curious.
#154856 - Sweater Fish Deluxe - Tue Apr 22, 2008 1:39 am
silent_code wrote: |
@ SFD: but you're just a user, not an author! what exactly is your point?
it's not you who has to change PAlib. what is your problem? |
I don't really have a problem, I was just making a statement. I'd rather see new features added to PAlib than compatibility with r22, r23, etc. I thought of this after reading some things other people said in this discussion, so I mentioned it. This is the nature of a discussion; things are said, other things are said, and so on. No one has to have "a problem."
Quote: |
a good lib isn't just a lib that does what you want, but does that with a well defined and designed API and consistency. |
If that's what you want.
Quote: |
and it's common sense that well written software is well maintainable. if you write spaghetti code, then it's your fault when it's hard for you to "adjust" your codebase. period. |
Like I said, I'd rather have a lib that's well written *AND* does what I want, but lacking that option, I'll choose "does what I want" over "well written" any day.
...word is bondage...
#154857 - Alphanoob - Tue Apr 22, 2008 1:43 am
this is all very... interesting... to read. A bunch of geniuses locked in an argument that is way over my head. I personally am just glad that there are people out there smart enough to make libraries so that noobs like me don't have to make our own before we can start programming.
#154859 - wintermute - Tue Apr 22, 2008 1:48 am
Sweater Fish Deluxe wrote: |
I'd rather see new features added to PAlib than compatibility with r22, r23, etc.
|
And funnily enough, I'd rather see new features and bugfixes added to devkitARM, libnds, libfat & dswifi than compatibility with PAlib. Unfortunately I care about my userbase so I feel the need to point out that certain libraries will be difficult to keep up to date and are unlikely to remain compatible with the core libraries as we move forward.
Can we finish off there please? I probably should have locked this thread long ago but I unsubscribed so I didn't have to read any more.
@Alphanoob, thanks for making me smile, that's one of the best posts of this entire thread :)
_________________
devkitPro - professional toolchains at amateur prices
devkitPro IRC support
Personal Blog
Last edited by wintermute on Tue Apr 22, 2008 1:51 am; edited 1 time in total
#154860 - silent_code - Tue Apr 22, 2008 1:49 am
@ SFD: then we settle with this, ok? :^)
@ wm: that's what i'm talking about, but i have run out of possibilities to phrase that any clearer.
@ AN: you're soooo right. :^)
good night folks!
EDIT: @ AN: i just don't want to double post every time i think i have to add / correct something. editing is good. :^)
Last edited by silent_code on Tue Apr 22, 2008 1:54 am; edited 2 times in total
#154861 - Alphanoob - Tue Apr 22, 2008 1:53 am
lol =)
@ you guys: I can edit too!
night
=)
EDIT: Another smiley =) lol
#154986 - Lynx - Wed Apr 23, 2008 5:38 pm
josath wrote: |
...they were full of errors, misconceptions, and horrible practices being taught. A simple example, they claimed that ^ is an exponent operator, instead of an XOR operator. |
Another one of those ready to point out problems, but offering nothing to help the situation. It's easy to complain about something when you aren't willing to do anything about it.
Sweater Fish Deluxe wrote: |
Personally, as a PAlib user, I am currently totally satisfied with devkitARM r21 and see no reason to switch to r22 when it ocmes out, so these incompatibilities are no problem from my perspective. I expect that more and more PAlib users will come to the same conclusion in time and then the PAlib and devkitARM communities will effectively be split, which is what most people in this thread seem to want. |
Unfortunately, when new people come to dev, the normally download the latest version of everything. This will always be a problem with new users.
josath wrote: |
None of the changes in devkitARM or libnds are done with any malice or intent to break palib. |
Oh, are you a maintainer of devkitARM or libnds? I'm not saying they are making changes just to screw with PAlib (I agree, that would also just be a waste of time), but unless you are active with the projects, you can't say what other people are thinking.
Quote: |
The thing is, I've tried to use palib several times, and every time I run into problems. I end up deciding it would take me less time to just write the code from scratch myself, instead of trying to debug what's gone wrong with PAlib. |
Not everyone has the luxury of time or skill to make that choice.
Sweater Fish Deluxe wrote: |
It's just a fact that each release of devkitARM since I began developing on the DS has caused significant problems with PAlib... |
It's not just PAlib, you can take any early code and it won't compile under todays environment. It's just that PAlib is such a large project that it requires more work to update.
silent_code wrote: |
PS: in this type of post, i try to avoid quotes, because it encourages ppl to thing i mean them, when i don't *specifically* mean them, but certain "misconceptions" others post aswell. otherwise i had to quote a *lot*. should be clear enough. |
That's just it, it is not clear. General comments don't seem to do anything but muddy the water up.
silent_code wrote: |
@ SFD: but if you're just a user, not an author, what exactly is your point?
it's not you who has to change PAlib. what is your problem? |
Hmm.. seems like a double standard.. You don't even use PAlib, right? So, what is your problem?
I agree with WM, this post should be locked and stickied. Maybe then, others might (just might!) read it before starting yet another one of these threads.
_________________
NDS Homebrew Roms & Reviews
#154993 - silent_code - Wed Apr 23, 2008 7:22 pm
Lynx wrote: |
That's just it, it is not clear. General comments don't seem to do anything but muddy the water up. |
i admit, you're right. i'll try to fix that in upcoming posts, starting now. :^)
Lynx wrote: |
Hmm.. seems like a double standard.. You don't even use PAlib, right? So, what is your problem? |
my problem is, that some people come to this forum, complaining that changes in devkitARM (rarely mentioning libnds) break PAlib. but as i have stated before (as well as you have in your post above), these changes don't only break PAlib, they break most of the existing code out there. each time you make the decision to upgrade/update, you know there's a chance your code won't work without some changes.
so, what's the point in complaining? (this might be too generalized, i know) if everyone would complain as much as it seems to me that PAlib users are complaining, this forum and the community would be down for a long time. i don't understand why they come here and complain about something that is totally "natural" when it comes to updating existing code.
hopefully that is clear. ;^)
ps: no, i am not a PAlib user and i have nothing against PAlib or it's community as a whole (please, see earlier posts.)
Lynx wrote: |
I agree with WM, this post should be locked and stickied. Maybe then, others might (just might!) read it before starting yet another one of these threads. |
agreed. afap, please! ;^)
peace!
#154995 - keldon - Wed Apr 23, 2008 7:38 pm
Lynx wrote: |
josath wrote: | ...they were full of errors, misconceptions, and horrible practices being taught. A simple example, they claimed that ^ is an exponent operator, instead of an XOR operator. |
Another one of those ready to point out problems, but offering nothing to help the situation. It's easy to complain about something when you aren't willing to do anything about it. |
That's half of the reason I keep my mouth shut in regards to my own personal opinion on this subject; however from Wintermute's posts I can see he appears to be (in some way) doing something about it - however I suspect he is creating a library from scratch. Of course I'm only reading between the lines from posts of his I've read, but you can't really fix an API without starting from scratch, unless the problems are down to the implementation and not the interface.
Interface design is a real bitch, and it's so easy to get wrong it's not even funny.
I think the problem here is not that xyz people [personally] dislike PALib, it is that they ascertain its suggestion to others as a bad thing - a bit like suggesting the intake of ecstacy. Of course 'everyone' knows that ecstacy has caused much less harm than alcohol and nicotine (the biggest killers of the drugs) ...
... on another note, I'm really annoyed about no$, although 2.6 is available I can't get the latest :(
#155000 - sonny_jim - Wed Apr 23, 2008 9:21 pm
I cannot believe you just compared PALib to MDMA........
#155003 - Rajveer - Wed Apr 23, 2008 9:42 pm
Haha, that's jokes, neither can I! By that comparison, ethically we shouldn't be suggesting PALib to anybody as it's illegal :D
#155006 - Lynx - Wed Apr 23, 2008 10:04 pm
Quote: |
so, what's the point in complaining? (this might be too generalized, i know) if everyone would complain as much as it seems to me that PAlib users are complaining, this forum and the community would be down for a long time. i don't understand why they come here and complain about something that is totally "natural" when it comes to updating existing code. |
Trust me, there are a lot more PAlib users than what come around here. I'm sure WM can also verify that with stupid help questions from PAlib users to him. But, you have to remember, a lib that makes it so anyone can code for the DS is going to attract people that have no clue. Which is part of why you can probably name 10X more crappy PAlib projects than good ones. But, there are good PAlib projects, and you can tell from the people that make them that they are not the clueless ones. Of course, they aren't here asking questions either. Until there is a PA_CREATE_AWESOME_GAME(); there will always be crappy PAlib based projects.
keldon wrote: |
however from Wintermute's posts I can see he appears to be (in some way) doing something about it |
I understand that is the case, but until it is available, it doesn't exist. And when it does exist, I will gladly take a look at it and see if it is as easy for me as PAlib. When that time comes, if it fills my need, I will use it instead of PAlib. I'm not a PAlib advocate, but I understand why it's there and why people choose to use it. And just because they choose to use it doesn't mean they aren't good programmers or are noobs. I advocate the ability to make your own choice and choose what is best for yourself without being grouped into a "negative" category from other devers.
_________________
NDS Homebrew Roms & Reviews
#155038 - Programix - Thu Apr 24, 2008 8:32 am
IMHO PALib is very good thing. I use palib becouse coding homebrew isn't only thing in my life and I realy dont want to waste much time by pointless learning the hardware :). Who cares how did you create the game if it's fun to play?
_________________
My blog
#155058 - wintermute - Thu Apr 24, 2008 5:54 pm
keldon wrote: |
Lynx wrote: | josath wrote: | ...they were full of errors, misconceptions, and horrible practices being taught. A simple example, they claimed that ^ is an exponent operator, instead of an XOR operator. |
Another one of those ready to point out problems, but offering nothing to help the situation. It's easy to complain about something when you aren't willing to do anything about it. |
That's half of the reason I keep my mouth shut in regards to my own personal opinion on this subject; however from Wintermute's posts I can see he appears to be (in some way) doing something about it - however I suspect he is creating a library from scratch. Of course I'm only reading between the lines from posts of his I've read, but you can't really fix an API without starting from scratch, unless the problems are down to the implementation and not the interface.
|
libnds started basically as a set of macros and functions designed to make accessing the hardware easier at a very low level. What we have been doing and continue to do is build an API on top of that low level code in order to further abstract the interface so that novice programmers can effectively shortcut part of the learning curve and get to the instant gratification stage a lot quicker than they would if they were given a set of instructions for building a cross compiler and a link to gbatek.
In our case it's not problems in implementation or in the interface so much as the lack of an interface to some aspects of the hardware. We always intended to build this in layers with the eventual goal of providing something incredibly useful across the entire spectrum of homebrew programmers.
Quote: |
Interface design is a real bitch, and it's so easy to get wrong it's not even funny.
|
And amen to that. That has to be one of the most difficult things about creating libraries intended for other people to use - you have to get it right first time, create piles of cruft just for the sake of legacy code or throw away the pieces that don't work and try your best to create something better.
Quote: |
... on another note, I'm really annoyed about no$, although 2.6 is available I can't get the latest :( |
That's something that annoys me too, I can't think of a better example of how being selfish and not considering the big picture has a detrimental effect on the community as a whole. I still haven't heard from Martin, I can only pray that this isn't the end of the best DS emulator the scene is ever likely to see.
sonny_jim wrote: |
I cannot believe you just compared PALib to MDMA........ |
I can't believe you failed to see the point that Keldon was actually making. It's actually a very good one - there are a lot of people in the world who do things which are detrimental to themselves in some way.
In my personal worldview you are perfectly free to poison yourself in the privacy of your own home. The second you start to advocate that others poison themselves too you become a problem, especially if you're not aware that what you're doing and advising others to do is in fact detrimental to yourself and others around you.
You might care to note that PAlib has in fact been around for a long time. It wasn't until the maintainers decided to modify a perfectly working toolchain install in order to avoid having to fix their own code that public complaints were made.
Programmiz wrote: |
IMHO PALib is very good thing. I use palib becouse coding homebrew isn't only thing in my life and I realy dont want to waste much time by pointless learning the hardware :). Who cares how did you create the game if it's fun to play?
|
Learning the hardware is neither pointless nor a waste of time, no matter what libraries you choose to help you get your game written you're going to have to consider the capabilities of the underlying system in order to succeed in your goals. This is a very difficult concept to get across to novice programmers because they don't run into the limitations often, if at all. It's not helped when experienced coders bypass the limitations because they're learned how to make the trade-offs necessary to create something which appears to go beyond the capabilities of the system they're writing games for.
You have a perfect right to laziness and to choose the libraries you use to create a game. Personally I don't care how you create your game, what I do care about is the people that are being advised to use particular libraries without being given the information they need in order to determine if your choices are also appropriate for them.
I'm not sure that many people will understand or even want to understand the processes behind something like devkitARM and libnds. There's a lot of peer review that goes on behind the scenes, not to mention the planning and organisation that guides the eventual path of development. Entire books have been written on the subject and I'm pretty sure I'm not going to do it justice in a forum post, especially when others are provoked into defending their own positions which may or may not be based on well informed opinion.
Ultimately it seems that further discussion is unlikely to be productive until such times as we finalise and release the next libnds iteration. At that time we will know more about how much code is likely to break and how best to fix it. Changes have already been made to the toolchain in order to support the plans we have ahead, the vast majority of users haven't noticed and probably won't until we start the process of removing the parts of the libraries that are no longer required.
Something that might be worth noting here is the decision to move devkitARM from arm-elf to arm-eabi which was undertaken in order to better support the DS arm9 processor. There were other factors involved but that was the main benefit that came from the move. People who were using the libnds examples and the build system provided at that time didn't even notice that the underlying tools had changed - the only thing most of them had to do was clean their project and rebuild it. Projects based on the PAlib build system and tutorials that chose to ignore how libnds examples were structured had to be fundamentally altered in order to use the new compiler. This is just one example of how poor design and ill informed choice can have a dramatic effect on the future.
_________________
devkitPro - professional toolchains at amateur prices
devkitPro IRC support
Personal Blog
#155085 - sonny_jim - Thu Apr 24, 2008 8:46 pm
wintermute wrote: |
sonny_jim wrote: | I cannot believe you just compared PALib to MDMA........ |
I can't believe you failed to see the point that Keldon was actually making. It's actually a very good one - there are a lot of people in the world who do things which are detrimental to themselves in some way.
|
No, it's the fact that MDMA is nice, whereas PALib isn't
:-)
#155090 - sumiguchi - Thu Apr 24, 2008 9:52 pm
Quote: |
It wasn't until the maintainers decided to modify a perfectly working toolchain install in order to avoid having to fix their own code that public complaints were made. |
and for the record - this has been corrected.
Quote: |
I can't believe you failed to see the point that Keldon was actually making. It's actually a very good one - there are a lot of people in the world who do things which are detrimental to themselves in some way. |
lol - this analogy is a bit of stretch but really if 5% of the palib users suffer from a bad reaction - then we are still doing pretty well. ^^ hang on I think I see someone tripping out in the Help section of the forum... false alarm - he was just choking on the dka22 release notes... :p
Quote: |
You might care to note that PAlib has in fact been around for a long time. |
Indeed and despite the major changes in devkitArm and libnds since palib's inception- it's interface has remained relatively consistent.
Quote: |
Interface design is a real bitch, and it's so easy to get wrong it's not even funny |
Whatever anyone says about palib - I think the interface it has is fantastic striking a great balance of simplicity and flexibility.
I think the big selling point of palib is the examples - if someone has c/c++ experience, they hit the ground running because of the comprehensive set of examples in palib. (Not to mention the documentation, support and the fact that it is OPEN SOURCE!)
Cheers!
#155095 - wintermute - Thu Apr 24, 2008 11:56 pm
sumiguchi wrote: |
Quote: | It wasn't until the maintainers decided to modify a perfectly working toolchain install in order to avoid having to fix their own code that public complaints were made. |
and for the record - this has been corrected.
|
It should never have happened in the first place.
Quote: |
lol - this analogy is a bit of stretch but really if 5% of the palib users suffer from a bad reaction - then we are still doing pretty well. ^^ hang on I think I see someone tripping out in the Help section of the forum... false alarm - he was just choking on the dka22 release notes... :p
|
Well done, another point flies completely past someone.
Quote: |
I think the big selling point of palib is the examples - if someone has c/c++ experience, they hit the ground running because of the comprehensive set of examples in palib. (Not to mention the documentation, support and the fact that it is OPEN SOURCE!)
|
If you really honestly believe that then you're so lost I wouldn't even know where to start looking for you.
Typical PAlib Example wrote: |
Code: |
// Load a simple background, very easy and simple...
// Includes
#include <PA9.h> // Include for PA_Lib
// Converted using PAGfx
#include "gfx/all_gfx.c"
#include "gfx/all_gfx.h"
|
|
For an explanation of why this is bad see this link.
http://www.coranac.com/tonc/text/bitmaps.htm#ssec-data-hdr
Comprehensive tutorials and examples are good. Examples which teach fundamentally bad programming practices are something else entirely. There are many other examples of precisely this kind of novice mistake - to document them all would take a month or two at best and I really don't have the time to spend. A lot of them are the same errors made by the horrible GBA book all the novices think is great.
For why that book is bad, see this link
http://www.coranac.com/documents/taptngba/
Last edited by wintermute on Fri Apr 25, 2008 1:31 am; edited 1 time in total
#155097 - Dwedit - Fri Apr 25, 2008 12:11 am
So what if someone reviewed all the code in palib, and sorted out the good stuff from the cruft, then called it "not palib"?
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#155099 - sumiguchi - Fri Apr 25, 2008 12:18 am
Quote: |
If you really honestly believe that then you're so lost I wouldn't even know where to start looking for you |
not sure why you feel the need to flame me...but it doesn't make my points or opinions any less valid.
EDIT: and by the way - I didn't miss your point - I made a joke which makes a different point...which was apparently missed
Edit2: thanks for adding something constructive to the end of your post...sounds less flamey now :) But none the less we are looking at this from two wildly different perspectives and I don't think we need to rehash those arguments again....
#155112 - wintermute - Fri Apr 25, 2008 2:38 am
Bah, took way too long editing that post with some specifics I was looking for.
sumiguchi wrote: |
Quote: | If you really honestly believe that then you're so lost I wouldn't even know where to start looking for you |
not sure why you feel the need to flame me...but it doesn't make my points or opinions any less valid.
|
Except that it wasn't a flame, it was an opinion. The tutorials are quite truly awful, will teach you to write bad code and organise your project in a way that will become increasingly difficult to maintain. Bad habits are difficult to break.
The fact that you think the tutorials are good reinforces my opinion that people should be guided away from PAlib and towards resources which will give them a good grounding in programming instead.
Beej's Guide to C Programming @ http://beej.us/guide/bgc/ is a good document although intended for a more standard desktop environment.
Many of the articles at http://www.gamedev.net/reference/ are very good and can apply to DS programming just as well.
Quote: |
EDIT: and by the way - I didn't miss your point - I made a joke which makes a different point...which was apparently missed |
But making a joke of the point that was made undermines and distracts from the validity of said point. Sometimes jokes are appropriate and sometimes they're not.
Quote: |
Edit2: thanks for adding something constructive to the end of your post...sounds less flamey now :) But none the less we are looking at this from two wildly different perspectives and I don't think we need to rehash those arguments again....
|
Yeah, sorry about that, I accidentally hit submit instead of preview & took a bit longer than I expected to find the articles I was looking for. Maybe I should have deleted the post while I was updating instead.
_________________
devkitPro - professional toolchains at amateur prices
devkitPro IRC support
Personal Blog
#155114 - tepples - Fri Apr 25, 2008 2:46 am
Perhaps some expert should take one of the more popular awful tutorials and MST it, sort of like what C.D.W.Feather did to Herbert Schildt's The Annotated ANSI C Standard.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#155120 - Alphanoob - Fri Apr 25, 2008 5:16 am
I still say that it is way more fun to sit on the sidelines and watch comments fly over my head... or in one ear and out the other, whichever. I still don't get half of what you ppl say, but at least I admit it =).
PS: I agree tepples... mostly because it would help me stay away from those guides more easily =).
#155144 - Lynx - Fri Apr 25, 2008 2:33 pm
wintermute wrote: |
Learning the hardware is neither pointless nor a waste of time, no matter what libraries you choose to help you get your game written you're going to have to consider the capabilities of the underlying system in order to succeed in your goals. |
Again, this depends on your goal, time, value of the programming vs other parts of life, etc. Does it hurt? Of course not, but it shouldn't be required to be accepted into the community.
Quote: |
You have a perfect right to laziness and to choose the libraries you use to create a game. |
Why does it have to be laziness? Why can't I value the time playing with my kids more than learning the DS hardware? Or.. what if.. just what if.. I'm not capable of learning and understanding the DS hardware?
Quote: |
For an explanation of why this is bad see this link. |
Of course, that is back to opinion and goals. I have no intentions (nor will I ever) to be a professional DS programmer. I'm not saying they are wrong, I'm saying they are not always right in every instance. You can't create a blanket statement that covers everyone in the world.
Quote: |
The tutorials are quite truly awful, will teach you to write bad code and organise your project in a way that will become increasingly difficult to maintain. Bad habits are difficult to break. |
I understand that you don't agree with the programming practice of PAlib author(s). That fine, as getting anyone to agree on anything when you are talking world wide is never going to happen. Nor am I saying they are good practice either. And, correct me if I'm wrong, but PAlib is a library, not a programming class, is it not? Should it be a library maintainers "job" to teach programming? I agree that PAlib will attract a lot of people that don't know how to program (I have always admitted that), but how many of those people even care about programming? They are using PAlib to take an idea from their head and put it onto the DS. They may never program a single thing again in their life (which might be a good thing ;) )
I also disagree with the drug comparison at any level. I understand the point that is trying to be made, but it's not valid in the cases where people using PAlib don't want to be programmers or even care about programming. They just want to produce something. They are not damaging anything. Most likely won't need to maintain anything because the project doesn't live that long or doesn't need/won't ever be updated.
I think advocating someone take hours/days/weeks/months of their time to learn the DS hardware, learn the "proper" way to program, etc.. to spend a few hours writing a DS game/app and to find out they don't like it, can't grasp concepts, can't figure things out, can't understand what they are doing.. seems more of a tragedy than telling them to try out PAlib and if it's not what they are looking for, not to use it.
_________________
NDS Homebrew Roms & Reviews
#155147 - Sweater Fish Deluxe - Fri Apr 25, 2008 6:05 pm
wintermute wrote: |
You have a perfect right to laziness and to choose the libraries you use to create a game. Personally I don't care how you create your game, what I do care about is the people that are being advised to use particular libraries without being given the information they need in order to determine if your choices are also appropriate for them. |
Excuse me, but *YOU* are the one here telling people to use or not use particular libraries. The people you're arguing with are the ones suggesting that people investigate all the available options and figure out what suits their needs.
Once again I'll point out that everyone comes to homebrew with different goals and expectations, so if you think you can give every one of those people the particular information they need to make the best choice for their themselves and their needs, you're just a fool. There's no other way to say it.
People need to make these decisions for themselves and they are indeed capable of doing it regardless of the low opinion you seem to have of our problem solving skills. And if someone makes the wrong decision initially, then they can just make another decision anyway. You make all this stuff sound way more complicated and inflexible than it really is. It's really not complicated at all. It's very simple.
Like Lynx pointed out, you seem to be assuming that anyone doing homebrew on the DS eventually plans to become a professional developer. Perhaps that is your goal and perhaps it is the goal of many coders in the scene, but I can assure you that it's certainly not universally the case. For many of us, this is just a hobby--something fun and interesting to do in our spare time--and we have no goals larger than creating a game we enjoy playing and that we hope others will enjoy as well.
So the problem is, you want to be a teacher, but you're only a student and many of the students you're trying to teach aren't even students, they're just hobbyists. That's a failing situation if there ever was one. You need to step back and give your position a second thought.
For the sake of argument, let's say that instead of homebrew programming, our shared hobby was instead building shoebox dioramas. Now take your blind inflexibility with regards to programming methods and turn that into blind inflexibility with regard to what kind of glue to use when attaching your little people and scenery to the cardboard backing and maybe you can begin to see how ludicrous the stuff you say sounds to someone like me who doesn't share your goals. Maybe you think Krazy Glue is the only choice for serious diorama makers, but Elmer's is working fine for me and it's a lot easier to use for the kind of dioramas I'm making.
...word is bondage...
#155148 - josath - Fri Apr 25, 2008 6:14 pm
Sweater Fish Deluxe wrote: |
For the sake of argument, let's say that instead of homebrew programming, our shared hobby was instead building shoebox dioramas. Now take your blind inflexibility with regards to programming methods and turn that into blind inflexibility with regard to what kind of glue to use when attaching your little people and scenery to the cardboard backing and maybe you can begin to see how ludicrous the stuff you're syaing you sound to someone like me who doesn't share your goals. Maybe you think Krazy Glue is the only choice for serious diorama makers, but Elmer's is working fine for me and it's a lot easier to use for the kind of dioramas I'm making. |
I love the analogy game! Now lets say Elmer's glue works lots of the time, and maybe it's easier to squeeze out of the bottle, but it wont glue red things to blue things. And if you eat it, it gives you cancer. If I knew this, of course I'm going to encourage people not to use Elmer's glue! The Elmer's fans will just say "Well, I rarely glue red things to blue things. And if you just don't eat it, it's not a problem! Why are you oppressing us poor people who like to use Elmer's glue??"
#155149 - Sweater Fish Deluxe - Fri Apr 25, 2008 6:21 pm
josath wrote: |
I love the analogy game! Now lets say Elmer's glue works lots of the time, and maybe it's easier to squeeze out of the bottle, but it wont glue red things to blue things. And if you eat it, it gives you cancer. If I knew this, of course I'm going to encourage people not to use Elmer's glue! The Elmer's fans will just say "Well, I rarely glue red things to blue things. And if you just don't eat it, it's not a problem! Why are you oppressing us poor people who like to use Elmer's glue??" |
I suppose you have done a good job of illustrating the point that analogy is a bad way to make a point because too many people are unable to abstract the analogy and understand the point being made, which in this case had nothing to do with what the results of the type of glue you're using would be.
An analogy is a finger pointing to something, don't be a dumb cat staring at my finger.
...word is bondage...
#155150 - Dwedit - Fri Apr 25, 2008 6:22 pm
Would someone just kill this thread already?!
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#155153 - josath - Fri Apr 25, 2008 7:10 pm
Sweater Fish Deluxe wrote: |
josath wrote: | I love the analogy game! Now lets say Elmer's glue works lots of the time, and maybe it's easier to squeeze out of the bottle, but it wont glue red things to blue things. And if you eat it, it gives you cancer. If I knew this, of course I'm going to encourage people not to use Elmer's glue! The Elmer's fans will just say "Well, I rarely glue red things to blue things. And if you just don't eat it, it's not a problem! Why are you oppressing us poor people who like to use Elmer's glue??" |
I suppose you have done a good job of illustrating the point that analogy is a bad way to make a point because too many people are unable to abstract the analogy and understand the point being made, which in this case had nothing to do with what the results of the type of glue you're using would be.
An analogy is a finger pointing to something, don't be a dumb cat staring at my finger. |
Are you saying you couldn't abstract my point? It was that palib works for some things, but randomly breaks in ways novices wont expect, and can poison their minds (teaches them bad coding practice). Who's the dumb cat now?
#155154 - SevenString - Fri Apr 25, 2008 7:14 pm
Dwedit wrote: |
Would someone just kill this thread already?! |
Please don't kill it! This thread has been entertaining me for DAYS.
*breaks out the popcorn*
_________________
"Artificial Intelligence is no match for natural stupidity."
#155157 - Sweater Fish Deluxe - Fri Apr 25, 2008 7:31 pm
josath wrote: |
Sweater Fish Deluxe wrote: | josath wrote: | I love the analogy game! Now lets say Elmer's glue works lots of the time, and maybe it's easier to squeeze out of the bottle, but it wont glue red things to blue things. And if you eat it, it gives you cancer. If I knew this, of course I'm going to encourage people not to use Elmer's glue! The Elmer's fans will just say "Well, I rarely glue red things to blue things. And if you just don't eat it, it's not a problem! Why are you oppressing us poor people who like to use Elmer's glue??" |
I suppose you have done a good job of illustrating the point that analogy is a bad way to make a point because too many people are unable to abstract the analogy and understand the point being made, which in this case had nothing to do with what the results of the type of glue you're using would be.
An analogy is a finger pointing to something, don't be a dumb cat staring at my finger. |
Are you saying you couldn't abstract my point? It was that palib works for some things, but randomly breaks in ways novices wont expect, and can poison their minds (teaches them bad coding practice). Who's the dumb cat now? |
Yeah, I got that, but I was just hoping that I could convince you not to blindly side with this theoretical glue nazi by getting you to re-read the analogy and consider the original point rather than just ignoring it and trying to make your own silly point based on the same analogy.
I guess if we were making dioramas instead of video games, you really would be trying to keep people from using other types of glue that you didn't approve of. Obviously you're insane.
...word is bondage...
#155160 - josath - Fri Apr 25, 2008 7:45 pm
Sweater Fish Deluxe wrote: |
I was just hoping that I could convince you not to blindly side with this theoretical glue nazi |
I'm not blindly siding with anything. I've carefully considered both sides, even tried the other side, and had lots of trouble with it.
Quote: |
trying to make your own silly point based on the same analogy. |
Who's to say my analogy is silly and yours is not?
Quote: |
I guess if we were making dioramas instead of video games, you really would be trying to keep people from using other types of glue that you didn't approve of. Obviously you're insane. |
Trying to prevent people from getting cancer makes me insane? :(
#155161 - Sweater Fish Deluxe - Fri Apr 25, 2008 7:52 pm
josath wrote: |
Sweater Fish Deluxe wrote: | I was just hoping that I could convince you not to blindly side with this theoretical glue nazi |
I'm not blindly siding with anything. I've carefully considered both sides, even tried the other side, and had lots of trouble with it. |
I'd love to see some of the dioramas you made.
...word is bondage...
#155162 - josath - Fri Apr 25, 2008 7:57 pm
I give up, I admit you are the better troll than I am. I just don't have it in me. It was fun sparring though, thanks for the amusement.
#155164 - tepples - Fri Apr 25, 2008 8:51 pm
Dwedit wrote: |
Would someone just kill this thread already?! |
I'll sum up what I understand so as to bring the topic back into focus:
PAlib has been updated so as not to conflict with a stock installation of devkitARM and libnds. Some people find PAlib useful, possibly for much the same reason that people find the Allegro library useful: it provides a useful abstraction over some low-level details. But the libnds API changes faster than, say, the Windows API. Whether PAlib or any other large library can be maintained in parallel with new libnds, especially with the purported comprehensive overhaul in the next release, is up to the PAlib people.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
Last edited by tepples on Fri Apr 25, 2008 8:55 pm; edited 1 time in total
#155165 - silent_code - Fri Apr 25, 2008 8:52 pm
EDIT:
@ SFD: the devkit pro team (thus wm) are the ones who make it possible that all kinds of glue makes can obtain the needed chemicals for their product... for free. ;^)
@ tepples: damn right and i haven't seen any of the "opposers" really comment on that fact (that it's up to the PAlib guys). i ask: why? i've posted that, i think, two times, as well as others have.
NOTE: please, don't delete this thread. deleting it would be denial of a problem some (not all, not many) of us seem to have here. let others learn from it and make their decisions from what they have learned from it. there's much nonsense, yes, but you can always learn from other's mistakes (not taking any side!) ;^)
i'd also like to thank everyone participating, because i have learned a few things about people and myself from this ... and i'm not goint to tell you what. ;^)
DISCLAIMER: hell, you better not take certain parts of this post too serious. consider it kind like a satire or sarcasm. i warned you. no freaking out on my about this post. please. and if so, please do me a favor and read until the end. thank you.
i ask then - rephrasing the initial question, what will pay off in the end? learning to program (and to program) a console, or "messing with code for the nds"?
note, that i don't think this is really about any lib, be it PAlib or any other. i think, what i see here is a "discussion" from two very different points of view: some rather "pro" coders (what ever that means to you) and (i made the following term up by myself ;^p ) "casual programmers" (not meaning to call anyone a CP, but some [it is obvfious who, so i'm not naming anyone here] seem to post in favor of these).
my personal point of view is, that there are certain quality standards that most of the technically well informed (and professionally experienced, some of them even have a "degree" or what ever in this stuff) part of the programming community agree upon. speeking your mind in regards to said standards should not be "flamed at". shouldn't we try to make this a better place instead of thinking about ignorant people?
honestly, i give much about beginners, who want to start nds/gba dev and are willing to devote time to become an as good as possibe programmer, but for "casual programmers" (the ignorant ones, who what to instanly "create", without paying the price of education - again, i don't mean ALL, not even SOME of the people using ANY specific library or tool, just those who POST IGNORANT STUFF ON FORUMS AND DON'T EVEN TRY TO LISTEN TO OTHERS) i don't have much understanding left.
if you make your decision (what includes knowing why you do things you do), to use a particular sw, it's fine with me, no problem at all. but if you start arguing just for the fun of it, it's just stupid, imho. yeah, i know this sounds offending, but i didn't see any one *good* argument *against* pointing out that something is a *bad* habbit etc., be it in regards to PAlib or anything else!
let's look at an example, a short (fictional - noone ever posts anything "real" of this kind in this thread, so i'll just go with the flow) story about a boy named "johnny":
...
johnny wants to fool around with some code to impress his friends in school. so he's looking into nds dev. he's seen some c/c++ in school, so as he starts with messing with some "bad" examples (he doesn't have a clue why these wannabe-733ts whine so much on those forums "idiots, lol, rofl" he thinks) he get's his first little game together. well, his friends *are* quite excited and encourage him to make a "sequel" with "more levels, more baddies, more blood, more nude women" and all the other good stuff kids really want to see in games.
after hacking a bit more on the keyboard, he's finally done it. <insert stupid game name>2! he's proud of his work and he's become quite popular at his school (well, at least that's what *he* thinks ;^p ) through his "game hacking skillz". he's really thankful for that kick ass library that helped him get most of the stuff easily done.
but wait, the story is not over, yet, that johnny has become a successful casual programmer.
he decided he want's to take the next step. he wants to level up and become a *hobby programmer*! <insert silly tune>
what this requires is getting more familiar with the stuff he's actually doing. he's come to the limits of the library and he's not further examples he can cut and paste code from, that he hasn't already used, but he's sure, he's not hit the limits of the system.
to make it short, this is when all hell breaks loose and johnny has to take out his father's bfg9000 - stop, wrong story! sorry.
nope, he soon realizes that things aren't that easy when you want to do more and deeper stuff than a library permits or example shows. that puts him off, because he'd like to learn more, but everyone tells him that "this is wrong, that is wrong", basically everything he can do seems to be "wrong". so, he quits programming after getting bored to hell by stupid comments and hard to use low level libraries. ("what *is* that after all?")
or (ok, this is going to be biased as hell, becasue i don't have enough HP to write much more; i swear):
he starts with learning the low level stuff and propper programming first (for the pc or mac or whatever) and after a few years he gets his happy ever after becoming what he has dreamed of: a "pro" coder (for his favorite platform, the nds).
where's the difference? (dude, what a biased question!)
please keep in mind, at the best of my knowledge, i never said anything against PAlib (or whatever lib, i'm thankful for people sharing any knowlegde!) this isn't about PAlib! PLEASE, RETHINK YOUR POSITIONS!
hell, not even i feel qualified enough to comment on this, but it makes me sad when people (not only here - you don't want me to get started, i tell you... pick some random art related [imo, programming = art, the creative domain] video on youtube and there you go) post stuff that has "NO IDEA" written all over it. arguing over FACTS (e.g. bad code, bad habbits which frequently get people in trouble [there seem to be some questions that keep coming every now and then because people start learning from bad examples] etc.) is POINTLESS!
thank you for reading and thinking about what you've just read and resisting the urge to instantly post something against this without thinking it through. again, thank you.
(boy, i'm a nerd for posting this much!)
#155169 - Sweater Fish Deluxe - Fri Apr 25, 2008 11:07 pm
silent_code wrote: |
@ tepples: damn right and i haven't seen any of the "opposers" really comment on that fact (that it's up to the PAlib guys). i ask: why? i've posted that, i think, two times, as well as others have. |
Perhaps the reason you don't think anyone has commented on it is that you're looking for some specific response and that leads you to gloss over responses that don't fit with your expactations.
Doesn't my suggestion that the PAlib maintainers should consider sticking with a previous release of dkA rather than spending all their time trying to fix whatever gets broken with each new release mean precisely that it's up to them?
I believe that suggestion of mine was the first post to bring this issue up, so the fact that you have continued to reply that "it's up to the PAlib guys" means that you have missed the point.
Quote: |
if you make your decision (what includes knowing why you do things you do), to use a particular sw, it's fine with me, no problem at all. but if you start arguing just for the fun of it, it's just stupid, imho. yeah, i know this sounds offending, but i didn't see any one *good* argument *against* pointing out that something is a *bad* habbit etc., be it in regards to PAlib or anything else! |
The argument (which has been made numerous times in this thread) is that something is not simply a "bad habit" for everyone and all time just because you or anyone else says that it is.
Something is a bad habit for someone if it stands in the way of their progress towards something they desire. What you identify as a bad habit because it stands in the way of your progress towards becoming a professional programmers (or an amateur programmer that produces code similar to what a professional would produce) would not necessarily be a bad habit for someone who does not share that goal. If PAlib and the programming methods suggested by it and its examples are sufficient to bring a person to their goal, then they are not bad habits for that person, though they may still be for you.
Quote: |
let's look at an example, a short (fictional - noone ever posts anything "real" of this kind in this thread, so i'll just go with the flow) story about a boy named "johnny":
...
<snip>
where's the difference? (dude, what a biased question!) |
Yes, that's my question as well: where *IS* the difference?
It's not my responsibility to explain why a character in a hypothetical story of your devising would be unable to learn what you define as "good habits" after first learning "bad habits." That's your burden since it's your argument.
Why would bad habits be incorrectable? Can't human beings learn new things? Aren't we capable of realizing that we made a bad choice for ourselves and adjusting our behavior accordingly?
I believe that we are. I think the success of human society demands that we are. If you disagree, you'll really have to provide something to back up your opinion beyond "some questions that keep coming every now and then."
...word is bondage...
#155171 - silent_code - Fri Apr 25, 2008 11:27 pm
Sweater Fish Deluxe wrote: |
Doesn't my suggestion that the PAlib maintainers should consider sticking with a previous release of dkA rather than spending all their time trying to fix whatever gets broken with each new release mean precisely that it's up to them? |
ok, i hate to repeat myself, but:
PLEASE, TELL THAT THE PALIB STAFF, NOT US!!!!
from what i see, YOU are the one that's not understanding, that is glossing over stuff and acting strange (at least for me), not EVERYONE else (ok, not *every*one - let's say the majority of people who are trying to help you understand)! i could name some specific quotes, but damn, we're not in kindergarden or court here - READ THOSE DAMN POST AGAIN (or at all)! i just happen to have read this damn thread TWICE over and i don't see a freaking PROBLEM!
Sweater Fish Deluxe wrote: |
The argument (which has been made numerous times in this thread) is that something is not simply a "bad habit" for everyone and all time just because you or anyone else says that it is. |
now, what kind of argument is that? as i have stated before, there are some commonly used quality standards, if you like it or not. if you *want* to be a part of a community, you have to accept that. weather you conform with it or not is up to you, but don't imply we don't know our stuff, man! that isn't really a smart thing to do, if *you* want to be a part of the programming community (this doesn't only apply to nds dev). maybe you are better off becoming an attorney or something, you certainly have the talent... ? (under normal circumstances it would require a lot of coke to get someone that rigitly into one corner like you are. and i'm not talking about limonade - i'm also not acusing you personally of drug abuse. i just happen to have experience with people so damn sorry high, they would tell you just anything and try to prove they are right!)
Sweater Fish Deluxe wrote: |
It's not my responsibility to explain why a character in a hypothetical story of your devising would be unable to learn what you define as "good habits" after first learning "bad habits." That's your burden since it's your argument. |
it happens all the time. people have trouble relearning stuff they already "know". relearning is a waste of time. you're better of learning stuff "the right way", which will save you a lot of time in the end, e.g. there's a reason why we have filesystems etc.
@ SFD: there is no point in arguing with you, because you seem to have an infinite repository of ... stuff... that makes you kind of hard to talk to. i'm really, *really* open minded (check some of my other posts - i learn from people, i listen to them, sometimes i have to admit i was wrong, sometimes they do), but this is too much for me. i'm not ruining my health on you. maybe one day you will grow up and see beyond what you think you might know today, i hope you do. then you'll realize that you are being totally stubborn and nobody knows what the hell you want in the first place. if this is a game, it's not funny. i take this stuff really seriously, that's why i started to commend this argument in the first place. i don't know about you. you seem to contradict yourself on occasions (using an analogy and then rejecting the, correct i might say, extension to that analogy, just because it happens not to PROVE you're right ETC.)
my, among other's, message is: you have to pay a certain cost to achieve what you want and doing things right from the beginning (even more valid when someone gives you advises on what is good and what is bad) may take some time and commitment, but it'll save you a lot more time in the end.
EDIT: i was talking "the right way", which in no way implies "the hard way". think it over.
@ SFD: what is yours? EDIT: do you realize you're talking about yourself all the time? isn't that selfish? i mean centering all and every argument around yourself? and you RIGITLY keep talking about PAlib. who said i was talking to you, anyway? this get's boring. i'll say it with Eric's words: "I'm going home!" ;^D
this is getting too... stupid. really. i'm giving up.
thanks for reading. good luck guys.
happy coding and peace out!
PS: @ Maxxie: religion wars would be *fine* compared to this! this is insane, it's about NOTHING! e.g. SFD is telling US that the PAlib guys should NOT upgrade and concentrate on other stuff... i keep telling him, that THIS IS NOT THE PLACE FOR POSTING SUCH STUFF. then he's trying to tell us, that there is no such thing as good / bad programming habbits! hello? what the hell is wrong? i don't get it!
EDIT: i sure do look like an idiot arguing like that... at least i'm not alone with that. ;^D and i get a handicapped bonus. :^p and sure, i have to admit, it was quite entertaining at times. :^p
Last edited by silent_code on Sat Apr 26, 2008 3:37 am; edited 13 times in total
#155173 - Maxxie - Fri Apr 25, 2008 11:42 pm
Religion wars?
Tbh you all should stop here before manifestating ressentiments within "the ds hombrew scene"
#155175 - Sweater Fish Deluxe - Sat Apr 26, 2008 12:39 am
silent_code wrote: |
Sweater Fish Deluxe wrote: | Doesn't my suggestion that the PAlib maintainers should consider sticking with a previous release of dkA rather than spending all their time trying to fix whatever gets broken with each new release mean precisely that it's up to them? |
ok, i hate to repeat myself, but:
PLEASE, TELL THAT THE PALIB STAFF, NOT US!!!! |
What kind of forum do you think this is exactly? Who is this "us" you're identifying with? The gbadev forums are open to the entire Internet and don't even have any particular official connection with devkitPRO. All sorts of people visit these forums, including PAlib maintainers and users. Specifically, my comment was a response to something that sumiguchi brought up and sumiguchi is indeed PAlib staff.
As per your suggestion, I have just re-read the topic and it's obvious that you totally misunderstood what I was saying and jumped to the conclusion that I was criticizing wintermute somehow. It's also apparent that despite my explicitly stating at least five times that this was not my intention, you still don't seem to be getting it. I can only hope that your misunderstanding of what I said was based on your misunderstanding of the nature of this forum and that now you'll understand me better.
Quote: |
now, what kind of argument is that? as i have stated before, there are some commonly used quality standards, if you like it or not. if you *want* to be a part of a community, you have to accept that. weather you conform with it or not is up to you, but don't imply we don't know our stuff, man! that isn't really a smart thing to do, if *you* want to be a part of the programming community (this doesn't only apply to nds dev). maybe you are better off becoming an attorney or something, you certainly have the talent... ? |
I'm not implying that you don't know your stuff, I'm stating that you don't know *MY* stuff. That's what kind of argument it is. You may know what's best for you, but you're making a huge logical leap to assuming that what's best for you is also best for everyone else who codes as well, regardless of why they code and what they want to get out of it.
Anyway, appeal to common standards is not a valid argument (unless you're a lemming on the edge of a cliff), so if you're trying to prove that what you define as bad habits are universally bad, you'll have to try again.
Quote: |
it happens all the time. people have trouble relearning stuff they already "know". relearning is a waste of time. you're better of learning stuff "the right way", which will save you a lot time. e.g. there's a reason why we have filesystems etc. |
Learning something more difficult when there's an easier option that suits all your needs is also a waste of time, though, isn't it?
Of course, if you choose the easy way first, in time you may find that you want to learn the harder way as the character in your story did. On the other hand, many people will be completely satisfied with the easier method and never see any reason to go the harder route. Many people may also choose the harder way initially only to learn later (or maybe they never will learn) that they could have accomplished everything they wanted by using the easier method from the outset. I don't know the solution; some people will always end up wasting their time, it seems. Oh well. Most people say I'm wasting my time whenever I program anyway. And I agree, but it's fun.
silent_code wrote: |
maybe one day you will grow up and see beyond what you think you might know today, i hope you do. then you'll realize that you are being totally stubborn and nobody knows what the hell you want in the first place. |
You have an amazing way of making my points for me. Really.
silent_code wrote: |
you seem to contradict yourself on occasions (using an analogy and then rejecting the, correct i might say, extension to that analogy, just because it happens not to PROVE you're right ETC.) |
I never rejected Josath's extension of the analogy. I was trying to redirect his attention back to my original point since I think that in his haste to trump me, he ignored it, but I didn't reject his extension at all since as he himself said: "The Elmer's fans will just say "Well, I rarely glue red things to blue things. And if you just don't eat it, it's not a problem!" which is exactly my point. I don't care if PAlib doesn't allow me to do certain things, since I don't want to do those things and I don't care if PAlib is teaching me "bad habits," either, because I'm not ever going to be a professional developer. Even if I do eventually decide that I want to abandon PAlib, which seems unlikely at this point, I won't ever feel that I was wasting my time with PAlib since I've produced two games that I'm very proud of entirely from scratch in barely a year of my spare time and had a lot of fun in the process.
...word is bondage...
#155179 - ZeroSum - Sat Apr 26, 2008 2:30 am
This isn't aimed at the more experienced people here just other newbies like myself. :) It's not relating to the current 'argument' :), just whether newbies should use libnds or PALib.
My suggestion is to use try both. When I first started I looked at VRAM banks and the registers etc. it confused the hell out of me. Everything I had done before had been on PC and I'd never had to deal with registers and limited RAM.
So I installed PALib and easily got some graphics on the screen and did a simple pong game. It will allow you to get something working so you feel some success (I know "motivation" is a thing for me and probably a few others too). It's quite nice to just use PA_EasyBgLoad() and boom, get a background.
However after that I wanted to know how it all worked and why it all worked. It took me awhile to understand vram and that tile/map blocks could overlap etc. but now I understand it, it's a lot easier then I thought to use. Personally I find it more rewarding
If your goal is to just get a game running go ahead and use PALib but if you want to learn more about the hardware, how everything works and improve your programming knowledge use libnds. If your learning NDS programming to get experience on consoles for a gamedev job later on you will learn lots of things that will apply later on, also even though Nintendo's SDK (I'm guessing) is largely different to libnds the techniques (tiles, vram etc.) will be the same.
I know that sometimes after a new version of devkitarm/libnds comes out PAlib stops working and it confuses newbies. A lot of people are new to the make system as well after using VS. I first tried DS dev months ago using PALib when it didn't work with devkitarm and I got lots of compile/link errors and it put me off for awhile. After coming back and using a working PALib version to write pong I've started just using libnds because I like having the control and actually understanding whats going on.
Some other suggestions are:
1. Write a simple game in PALib, get it working so you have the "yay it worked" motivation then try rewriting that game using just libnds. If you decide to use PALib after that very well but at least then you'll actually know how things work which will help you when doing things in PALib.
2. Don't expect to read a tutorial and be able to understand it all all at once. It takes time like learning anything takes time. Open the examples, they are just code with comments but it shows you how things are done. Change numbers, change backgrounds, change flags, use different images, add an extra background etc. Generally just mess around with the code, you can't brick your DS (I assume, unless you do something really stupid/weird) and even if you get garbage 9/10 times you are still learning what does and doesn't work and whats going on under the hood so to speak.
I just noticed how much I wrote so apologies if its useless mumbling. I thought I'd add something about my 'newbie experience' so if someone's in the same position they'll pick up something useful hopefully. :)
#155180 - StoneCypher - Sat Apr 26, 2008 2:34 am
Well, we were all laughing, but someone I respect is worried someone would think what I said was actually meant to be offensive, rather than just funny, so I removed it.
So: nein du.
_________________
Quidquid Latine dictum sit, altum Sonatur
[Images not permitted - Click here to view it]
#155185 - silent_code - Sat Apr 26, 2008 3:44 am
ZeroSum, this was simply the best on topic post i have read! (otherwise i wouldn't have posted this!) that would be a perfect candidate for a "libnds or PAlib?" sticky.
man, that was just your 4th post. you should definitely write more. ;^)
@ all: have a nice day.
#155186 - tepples - Sat Apr 26, 2008 3:55 am
ZeroSum wrote: |
This isn't aimed at the more experienced people here just other newbies like myself. :) It's not relating to the current 'argument' :), just whether newbies should use libnds or PALib. |
libgba.
Quote: |
When I first started I looked at VRAM banks and the registers etc. it confused the hell out of me. |
Same here. But once I got over the VRAM bank hurdle and the slight differences between the GBA registers and DS registers, my GBA skills transferred rawther easily. In fact, my current project builds from the GBA and DS (and PC in fact) in the same source tree.
Quote: |
So I installed PALib and easily got some graphics on the screen and did a simple pong game. It will allow you to get something working so you feel some success (I know "motivation" is a thing for me and probably a few others too). It's quite nice to just use PA_EasyBgLoad() and boom, get a background.
However after that I wanted to know how it all worked and why it all worked. It took me awhile to understand vram and that tile/map blocks could overlap etc. but now I understand it, it's a lot easier then I thought to use. |
If I understand some other people's complaints about PAlib correctly, one problem is that PAlib isn't designed for "working behind its back". But then I've never tried PAlib because I've never needed it.
Quote: |
If your goal is to just get a game running go ahead and use PALib but if you want to learn more about the hardware, how everything works and improve your programming knowledge use libnds. |
And for non-games, such as DSOrganize or Colors! or MoonShell, I'd guess libnds is more suitable, right?
Quote: |
I know that sometimes after a new version of devkitarm/libnds comes out PAlib stops working and it confuses newbies. |
Heck, after a new version of libnds comes out, even people's own libraries stop working. PAlib proponents might claim that only PAlib has to be changed, not everyone's code.
Quote: |
2. Don't expect to read a tutorial and be able to understand it all all at once. It takes time like learning anything takes time. |
The first time I read NES docs and GBA docs, I didn't understand what was going on. I had to sleep on it and wait a couple weeks.
Quote: |
Generally just mess around with the code, you can't brick your DS |
One problem is emulator differences. As of the emulator versions that are current as of 1Q 2008, is it still as easy to make a program work in emulators but not hardware by failing to set VRAM banks properly? Or have emulators become more (correctly) strict?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#155195 - Rajveer - Sat Apr 26, 2008 10:32 am
Bloody hell, these posts are too long now for me to keep up O_O
#155196 - simonjhall - Sat Apr 26, 2008 11:05 am
Wow, acres of text on this page...hard to keep up!
Maybe there could be another way of organising the three pieces of software we've got. We have
PAlib
------
|
| (which depends on)
|
v
--------
libnds
--------
|
| (which depends on)
|
v
-------
DKA
-------
The way I see it (which may be wrong!): since two of these things are done by the same group of people, there's a free reign to change whatever needs to be done, right? This system seems to work. However when there are 3rd party involved (eg PAlib, or code which uses libnds) they often get broken and we end up getting discussions like these.
Perhaps there could be two solutions to this:
1) make PAlib depend directly on DKA, and get it to stop using libnds
2) make sure libnds is developed by people other than those who maintain DKA
I think (2) is the most intersting possibility, as if libnds was its own entity had as much weight as PAlib and DKA (rather than just being a hanger-onner to DKA) then having three important bits of tech would some how keep each other in check regarding changes to the code.
(I'm finding it really hard to convey what I mean here!)
_________________
Big thanks to everyone who donated for Quake2
#155199 - nanou - Sat Apr 26, 2008 11:53 am
simonjhall wrote: |
However when there are 3rd party involved (eg PAlib, or code which uses libnds) they often get broken and we end up getting discussions like these.
Perhaps there could be two solutions to this:
1) make PAlib depend directly on DKA, and get it to stop using libnds
2) make sure libnds is developed by people other than those who maintain DKA |
There is another option,
3) libnds is documented for proper usage.
If I recall correctly WM was chastising anyone who'd used certain parts of libnds because they were subject to change. The API should remain stable, but that's meaningless if you're using the internals and not just the interface itself. As much as the documentation here was lacking, to his credit WM did go about informing people when they were using it improperly, and not just PAlib. And they claim he's being controlling... how screwed up is that?!
Aside: Guys, if you don't think adherence to best practices and standards is important, you need at least 4 years more schooling and 5 years more work in the programming workforce. Why should I care? You are the very same people that write horrible PHP that somehow gets popular, and then websites get compromised and so on. (I've administered several hundreds of servers in the past decade, many of them hosting servers, and I have personally seen this happen more times than I thought tolerable. The world gains absolutely nothing by making programming an 'easy' persuit. You are a detriment to the environment.)
In order for this to work, the library needs proper documentation. A minimum would be the amount required to provide sufficient functionality through the use of the library's interface.
Personally I would be scared to see WM give up custodianship of either DKA or libnds. There don't seem to be a lot of people around who have the combined competency and experience necessary to do the job. I don't believe I do, and I'm considered a very good programmer by the employers I've had. Those that do exhibit signs of competence and experience seem too busy to take on the job.
_________________
- nanou
#155215 - Alphanoob - Sat Apr 26, 2008 6:36 pm
silent_code wrote: |
honestly, i give much about beginners, who want to start nds/gba dev and are willing to devote time to become an as good as possibe programmer |
I can vouch for that statement =).