Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

46 Neutral

About boonix

  • Rank
  1.   You really didn't, but you did anyways.   I was referring to the list specifically and context would allow anyone with half a use of a synapse to realise that (much like the other things I wrote). But whatever. I actually don't care enough. You all take offence?  Fine. Not my problem. I already stated multiple times what my entire point was and that I was not trying to cause offence. Minus the little bit in this response, that is. Gone.
  2. I wasn't ranting. I also wasn't trying to start an IDE/OS war. As I wrote: use what works best for you. If I can use console and others can use graphics (or both - which I do use both but not for programming) then why is that any more wrong/correct than otherwise? It isn't. That's my entire point in the first place.  I would ask you how that is starting - let alone encouraging - an OS/environment war, except that I think it is moot: you think I'm ranting yet I was only defending my point (and not trying to start an argument; again: I was not the one who went off and specifically mentioned linux versus unix versus, to - what felt like to me, but see below - trying to goad me into this ...). And if suggesting (in the first post) to use what works for you, personally, and what my personal preference is, is a rant, then perhaps you're right: it won't go with the community but for a very different reason than you think (or at least, there's additional reasons). One more thing: I am sorry if you view any of that as aggressive. The very reason I mentioned I'm not exactly normal (i.e., crazy) is that I could have been interpreting some of it wrong (e.g., he/she being pedantic about particulars when he/she was not entirely correct and missing my valid point about learning is never a waste of time as well as using what works for you.. maybe it wasn't meant to be offensive and I read it wrong). I mentioned that deliberately because I didn't want to cause offence (and I know I interpret things differently. Yes, that includes interpreting things in such a way that are not always based on 'reality'). You know, no one is perfect and I am especially not perfect, and reading is far different from in person (which I am sure we all know), which means my interpreting it wrong is even more likely than not. I acknowledged all of this for these reasons and more. Was that a mistake? I don't know but I apologise for causing offence. With that, I'll drop it as well as likely any other correspondence here. I don't know if deleting account will erase this so I'll give it time so you can see this (because I really didn't want to cause offence and I want you to know that). But bottom line: nothing is worth upsetting anyone (and it seems that we see things very differently.. and that's fine: no one gets along with everyone; I know I get along very well with many others and I know I don't get along with everyone. That's life) and all I can do is try to make amends (which I genuinely tried to do and if that isn't sufficient then indeed it is best we go different paths).
  3. Oh? How wrong you are. Let me see if I can clear this up for you. I have experience (as in I've used them all, for a good amount of years) with all of the following _besides_ various Linux distributions (which I will discuss later [not an OS at all] and also observe the fact that the only OS that can TRULY be called UNIX is AT&T Unix and when was the last time you saw that? I know when I last saw it, do you? And I mean yes I have used it. By the way: did you miss the fact I wrote 'derivatives' ? Maybe you should re-read that, because your statement is rather silly when you actually read it and know what derivative means, which I am all but sure you do): SunOS (as well as later on Solaris) FreeBSD NetBSD OpenBSD Do I really need to go on ?   If you want I can but I don't see the point on the subject of which OS I use and have used over the years (Unix is a flavour - sorry, I meant family - of OS's anyway). But to make your statements worse: the hilarity is that Linux itself is not even an OS - at all! It is a kernel for an operating system. Big difference. So when someone writes or states they "use Linux" they are referring to the kernel and any number of distributions would fit that.   And as for your IDE remark: I only use vi and my own Makefiles. You call that an environment? Eh, OK. If it makes you feel better then so be it. The only "environment" is the shell. Yes, I'm writing from a GUI (you know, personally I think websites make far too much use of scripts but all I can do is use the bare minimum, e.g., noscript so that I can allow just what I need and no more, on a  per use basis) but I don't need to program in it (and not all of my systems even have a GUI - an admin using a GUI on their server is not that experienced, not if we're discussing Unixes. And I do indeed program on my servers as well.). Try again but please next time, if you do that, why not read what I wrote in full (besides missing the word 'derivatives' you also miss context and my main point, being: use and do what works for YOU, not someone ELSE). The sad part is every thing you went on about I already covered (or what I thought should have been enough. I mean heck I even used the word "preference" How is that not sufficient?).   Edit: OK, that's a lie. I also use sed, awk, make (go figure with Makefiles), gcc, g++, cpp, others. But those are not (all) necessarily for programming (but they can make things much more efficient and easier). Really, that is how ridiculous you are being with that. Why? Unix philosophy, that's why. Also fixed a word (I originally wrote flavour and I meant family).   Another edit: Added a missing word and responding to one other bit I didn't respond to: about "all I need". See, there's this concept that I also wrote about, in my first post in this thread. What is it? Besides using what works for you? Well, everyone is different. You don't like text only? Fine. You think vi is an IDE? *shrug* If that's your view, so be it. You think I actually care what others use? I'm not that pathetic. I wasn't writing about all I need is blah blah in order to insult/belittle others (which it seems to me, although I'm not the best with this because of something I mention below (I'm somewhat crazy), you are trying to do to me, what with your Linux versus UNIX remark (which you also missed some critical things that I already pointed out)). I was using it to make a point which is: you should use what works for you and, as for programming, learning to program text only programs (or in a text environment... I mean obviously assembly can do sound and graphics. I've done it myself) has its uses (but again only if it fits your aptitude and I discussed this as well). But you know what? That you cannot grasp these things is not my problem and in some ways it is actually good. Why? Because if we were all the same we'd be extinct a long time ago (and let's face it, it is amazing humans are still alive) and things would be very boring. I could not imagine everyone being like me. I already am mostly crazy, I don't need more of that. And other people provide different insight, different perspectives, and here we go - differences, period. Differences are vital. It really is that simple. That's why it is good that humans can learn to adapt (and well, what is adapting if it does not involve change and therefore differences?).
  4. It’s not something I would ever recommend. While it is not necessarily a waste of time, it is an inefficient use of time considering all the alternatives. If you want an easy way to draw better-looking graphics, mIRC Script and Q-BASIC are better alternatives, and even C# is beginner-friendly. If you want a simple no-cruft way to explore loops and logic, mIRC Script’s syntax is quite similar to C but the compiler is much more beginner-friendly and most of the environment is already prepared for you so all you have to do is open the code window and code. No main loops, terminal creation, key-scanning/reading, etc. If you want to learn more specifically about game programming rather than programming in general, modding a game is much more valuable. Terminal window coding in preparation of learning game programming is only a way to trim cruft and focus on more digestible bits here-and-there, but the problem is that it doesn’t serve any one dish better than the alternatives do. Even as a complete package, most alternatives trump it, as they overall offer basically everything terminal programming does and more. Modding will still hold your hand over looping and logic but also give you a more motivating experience related to actual games. It may not be useless, but there is no reason to ever do it. L. Spiro   I could not help but get a great amount of laughter out of this rubbish (sorry but that is what it is). Firstly, it is not inefficient. I guarantee that I can do far more at the terminal than you can in your GUI (talking IDE versus text editor for the moment) in a much quicker time, because I'm not limited by brain dead GUIs (e.g., Windows with - besides perhaps powershell was it ? - has basic command line power at best). But I understand this is not about IDE (which for me the only "IDE" I need is a text editor! That's all there is that is needed for experienced Unix [and/or its derivatives] programmers) so I'll avoid getting in to that. But you know what? I've used both and I have years of experience on both (I just happen to prefer Unix based OSs and that is MY preference).   You refer to it being time inefficient, yeah? Question for you: did you ever learn assembly? Fluently? If not then I suggest this: you can learn SOO much by doing assembly, even if you get into the basics (registers, bit ops, ...). Does it take more source code to write? Yes, at times, but you also gain so much knowledge and that includes binary (and obviously octal and hexadecimal) which is very useful for programmers. You also learn other very useful things that vastly improve your abilities (not least of you learn to appreciate portability and otherwise how different instruction sets and architectures can and are). And if you did learn it fluently I ask this: why? If you think console stuff is so inefficient (which is hilarious in and of itself, especially if you consider not just time writing but also testing play - you really think graphics will run faster than text output?) then why did you bother?   Next, mIRC scripts. First, scripting isn't the same thing as programming but never mind that part. The part that bothers me is you're referring to a single IRC client's API as learning to make graphics/whatever or even programming itself? Really? That is crazy. And further: better alternatives. I think anyone who writes "better alternatives" more or less loses much credibility, at least on the subject in question. No, you should use what works best for the environment and the person (and solution) in question. Better is relative. That's all there is to it. You might tell me C# is better than C or Windows is better than Unix but I already covered that and I'll add this: fine, you prefer Windows, others prefer Windows. Some prefer MacOS and others neither. But no one is wrong there. The only one thing that is wrong is someone telling you that "X is better than Y." and other BIASED claims. Yes, that's all it is: bias.   I also find it slightly amusing how you refer to 'terminal window', as if a terminal is only a (or simply 'a') 'window'. But I admit it: I am a stickler. So I'll forget that (and other points that a stickler would point out). What I won't skip however, is this: you know of MUDs? You know, originally text only games that had (and some MUDs still do) huge player bases? So you're saying programming those are inefficient? And no reason to do it? Hardly, with the right aptitude and a little bit of experience you can learn _a lot_! With even more experience (compared to a little) you can still learn a lot, perhaps more than those with only a little experience. On the subject of MUDs though, you do know that games like 'World of Warcraft' (far as I know it has millions of players? I think that is pretty successful, don't you think, especially on a subscription basis?) were at one point called 'graphical MUDs', right? The irony...   And in case anyone was doubting it: my view is that NO, it is not a waste of time UNLESS it is not something you're really in to. If you're fine learning only Visual Basic or other simple languages, scripted or not, or if you don't think programming is of use to you, then there is no reason to learn lower level languages let alone console based programming. I think the entire question, actually, is flawed. That is, anyone who suggests that it is or isn't a waste of time, is completely missing something. That something is this: everyone is different, everyone has different needs, wants and everyone has different interests, hobbies, etc. So how can you realistically suggest to someone they are wasting time when they are _learning_ and/or _exercising their brain_? It is a lot better (exercising brain, learning, ...) and far more productive than telling others that they're wasting their time/doing something that is useless. Incidentally, more or less the two are the same, don't you think? Same with no need: if there is no need yet you are doing it then you are essentially wasting your time. Yes, I'm a very literal thinker but that is exactly what it is. Any way, they could shoot back at you that YOU are wasting time (because you're only belittling them/telling them they're wasting time/etc. rather than bettering yourself) but you know what? They would be wasting their energy (much like I am now... but I was bored. Thanks for allowing me to not be bored so I can actually get to - yes, programming, at the console and a console based game in fact).
  5. boonix

    The Infinite Game

    I know this is old but I want to point out something. Well, two things: first, swiftcoder hit it quite well. A game or otherwise large project is constantly evolving. In fact, to suggest an 'infinite game' can never change (in the core or mechanics, without breaking) while at the same suggesting the world is constantly evolving, is nothing short of a logical fallacy. Sorry, but that's the truth: you cannot foresee everything and if it is evolving then it is not static, is it? Just like the universe (the real universe) has new surprises so too does a game (more so than the real, perhaps). Further, I agree that you must have never worked on a large scale game because the fact is, you don't just "write it all up" and well, that's it... cannot change anything, improve anything and all those bugs (that will exist, simple as that) that players have found (including some in the core)? Well, too bad. Cannot fix them as that might break things. That makes no sense at all.   And my point I wanted to make? You suggest competitive cannot work in games of this nature, say multi player games with a vast universe? How come I've done that then? Again, simple: you misunderstand the word competitive and you're forgetting context! Pitting players against each other in every way possible might only work for some games and more importantly some players (but be real: they can work, have happened and more will be created) but who is to suggest pitting players against one another is all bad? What if you are pitting them "against" each other to be better? Role playing game? Well you can give them incentives to being on top of their role playing (see next point). What about something like achievements? Certainly you can have a list of each achievement type and who has the highest (plus they might gain awards simply by an achievement being a currency or having a way to show how much time they invested/how well they know the world/any number of things). And not only does that immerse the players it also encourages playing and playing WITH each other (the achievement part I mention? I did EXACTLY that and it encouraged playing WITH each other yet at the same time COMPETING). Context is important, always.   One more ironic thing that I cannot help but (it is in my very nature) mention (for first, see about constantly evolving world yet cannot change): You writing about how you have to design very carefully from the beginning and that fact breaking or making the game. Well, guess what you didn't do when writing this? Yeah, you missed some critical ideas (question: is this an 'infinite game' or an 'infinite article'?)
  6. boonix

    Grounded Pointers

    Just a remark on issue 14 where you write "In C/C++, variables are not initialized to zero by default. Sometimes code only seems to run well, which is not so - it's merely luck."   I would actually argue that it it would be better if it was immediately obvious that it was inaccurate because depending on what the variable is being used for you could have really hard to track down bugs (maybe you can't imagine it happening but what if the unitialized variable was used as an index to an array ? It could happen and that would lead to difficult bug tracking in any program large enough where you don't write outside your address space). Of course that they didn't initalise it to begin with (and note that at least with gcc default options will not warn you of unitialised variables!) is a problem but as you point out it is an issue that is all too common (and unfortunately it isn't always warned against).   The point of ignoring warnings (compiler) cannot be overstated except for when compiling really large projects like gcc itself (they enable many, many warnings and there is also the serious stress tests it does after compiling -- unless you decide to not run that but that is naive -- so... no need usually to worry about those warnings).   Overall, a very nice article and some thing that I think about a lot (and more programmers should even -- some of the issues covered are security risks, e.g., the buffer overflows, even). Are there any schools that actually really truthfully teach secure programming? I would be surprised if there were anything of the sort -- programming is enough for them. Sadly experience is also a huge part of it when you're writing software that others (arguably not others) will use and unfortunately the mentality of "I have a diploma so I surely must be well capable." is too prevelant (a piece of paper is not experience).
  7. boonix

    about lines of code

    While I don't generally post on forums (of any kind) I was bored and saw this to my amazement. Or maybe that is disbelief? Yes, that is more like it. Maybe others have said similar (didn't read it in full) but jbadams put it quite well with: "A project with only 1,000 lines of code could be really complicated, whilst one with 10,000 might be ridiculously simple." That is the complete truth. An example is how in my younger days of programming I was a purist with many things and this included programming languages. By purist I naturally mean what _I_ deemed as "pure" and nothing else. What language is pure? Whether it is a computer language or a human language the rules don't always make sense and there is nothing perfect in an imperfect world. So what did I deem pure? My favourite languages: assembly and C. And more specifically: anything that is not OOP. Naive, ignorant (and even arrogant) I was and I am thankful that a good friend (who I consider a mentor) put me in my place about this issue (that's another story that is very interesting but one I'm not going to get into) as I have learned to love OOPs. Thing is this, you want to know about how many lines matter? I ask this (and hope the formatting goes okay): How would the below C++ be done if we wanted it in C instead of C++? (Obviously this is a rhetorical question!) std::map<std::string,int> myintmap; myintmap["test"] = 1; Exactly. The amount of lines means very little (besides, do I really need to mention C obfuscation contest ?). A project I worked on in C is many many more (more than two times) lines than the C++ version I work on (and the C++ version is far more flexible and much more feature rich and there's some places where it could be cleaned up to make even less lines).
  8. First - new user so if I use the wrong tags to quote I apologise in advance. That might be 16 bytes in x86 but most certainly not x86_64. Under x86_64 linux (gcc 4.7.2) the full size of an instance of Callback16 (note not pointer to) is 24, not 16. Seeing as how pointers in 64-bit are 8-bytes and sizeof char is 1 and you give 12 this makes sense (when you consider the alignment). That is a dangerous assumption at best. See my remark about events also. I see it more like this: An event happens. What does the event do? If someone pushes a button it might be any number of things that happens. It might tell a lift/elevator that it is wanted or it might do something else entirely. The callback is what would be called by the event system. Put another way: I see them working together. On top of that, since you have an event type you can also be at least a bit more safe with type casts. If you have an event type of EVENT_BUTTON and a callback object called ButtonFunction then you can cast it to that. But better would be (since this is C++): make pure virtual / abstract class called Callback and define another class called (for example) ButtonFunction and store Callback pointers in the events (e.g., an Event class) that will then invoke the proper function (due to how virtual functions work). Hopefully I worded this in a decent way - if not I apologise but as I said I have to get going. Cheers.
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!