Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Everything posted by StubbornDuck

  1. Currently I'm thinking about how to approach the delicate matter of some colleagues completing tasks and solving bugs in the most straightforward obvious way possible, slowly resulting in the growth of very WTFish code. Typical example: Someone wants to add a feature in a core module, and then does so while inverting dependencies, resulting in "core" module depending on other modules rather than the other way around.   Now, it's quite clear I can't keep it up rewriting bad quality code being inserted in various places by people, so how would I go about educating them to think before they write a "solution" for something? Individual talks on spot? Weekly group talks? Ask them to read a book on software design?
  2. StubbornDuck

    Hours per week

    Depends on how motivated I feel at work - sometimes I just do 40 h weeks, but more often 70-90 h weeks (if it's a lot to do and I enjoy it). Glad I have the option to choose and most often enjoy my job. Should be noted I write middleware, though it has happened I've been working directly with game projects using our middleware. When not doing lengthy weeks I tend to work on hobby projects (including electronics to keep away from purely doing programming for variation).
  3. StubbornDuck

    Forcing Code To Work !

      Wouldn't expect PHP to pertain to standard logics   As for the premise of this article - getting something to work though ugly can be a good or bad thing. You need to find a balance where it actually helps laying the foundations for a more solid solution rather than leading to redundant work or bad code. Some programmers with a "fix it later" attitude take it as an excuse for poor code and end up causing more work than necessary because their code must always be rewritten by someone else who could have written it properly immediately in the first place in similar time.   Of course, there are occasions where throwaway/"write only" code is acceptable (usually in leaf parts of a system). Still, not doing your worst pays off due to how much easier bugs become to find.
  4. StubbornDuck

    The build-up of WTF code due to shortcuts (team members)

    Hello again, sorry for replying late, it's been a laborous week at work..   All good suggestions I think. I guess the key is to actually talk to people and be specific about what the problem is, rather than mention it in passing without them really understanding what I'm hinting at. I'm a conflict avoidant person so I tend to say e.g. "someone inverted dependencies here" rather than "you inverted dependencies here, let's discuss it"; in the fomer case I'm sort of naively assuming they will understand the problem despite me being vague about it. Anyway, I can force myself to arrange small sessions to go it through with them so that's what I'll do I guess.   I will consider writing a dependency visualizer just for fun, or possibly just google one up for the language we're using. Perhaps it could also be integrated (in the long run) into precommit hooks so that inverted dependencies trigger commit failure *evil grin*
  5.   I was completely unaware of this kind of stuff until I entered university, so I suspect it will cover a blank hole for many self-taught programmers (and I'm sure you'll agree with me the subject is hugely important). I wrote more than a couple of bubble sorts in my earlier years due to ignorance :)
  6. StubbornDuck

    The build-up of WTF code due to shortcuts (team members)

    Peer I suppose. We have a very flat organization, by the way.   There are better developers than me around here but in this particular project I've gotten the "quick fixers" Not that I define people who are capable of quickly getting bugs fixed as incompetent either, it's just a problem when they lack insight into software design and are assigned to continuous development on a project. Maybe our organization is at fault here since it gives them complete freedom to mess things up, but I'd rather not go the route of restricting freedom if possible.   The problems are under control but I suspect delivery would be a lot less painful if misdesigned code that needs to be rewritten immediately wasn't added to the codebase to start with.
  7. StubbornDuck

    How hard is AI

    You should be fine if you're taking (and passing) other CS courses really. Additionally, AI can be quite fun to work with, which helps. You feel like you're god when you watch something come alive on its own, even if it's just doing some text output. :)
  8. StubbornDuck

    So... I think I quit game development :(

    Developing games is very different from playing games, because one enjoys the later won't mean the former is enjoyable. It's something anybody wanting to get started in game development needs to consider, I think. But if you don't try it you won't necessarily know - looks like you did and found it wasn't for you, so you really haven't lost anything; rather you gained insight. :)
  9.   Agreed. For instance, I designed my first circuit board recently. Routing connections on several layers between electrical components is more of an art than anything else (though some logicial constraints apply and have to be watched out for all the time). Coincidentally I felt it's something I will not want to do again, because a less technical person could just as well do it in their less expensive time. It's like how I'm not comfortable spending time coding (simple) websites or user interfaces.
  10. I'm a software developer, yet I'm teaching myself electrical engineering atm. Programming certainly comes closer to art IMO but not by much. Comparing it too much to writing ignores the logical thinking required with programming, I think.   But yes, it's possible to write "apps" being completely oblivious to maths and logic, in certain cases.
  11. StubbornDuck

    Cost of a freelance games programmer?

      I assume you're thinking of the US? You can probably find some guy in Asia that does the same thing for 10% of that, with more than a couple of potential issues though. (Not skill-wise, but communication/culture-wise particularly.)   That said, until the OP specifically states what platform he needs his game to run on and how much initiative is required by the programmer, it's kind of impossible to give an accurate answer. If you can give a programmer small verifiable atomic tasks it will require much less on the programmer's behalf than a large complex task, particularly if it is to be carried out independently.
  12. StubbornDuck

    Cost of a freelance games programmer?

    Depending on how desperate said person is, (perceived) skill level, and other things, it varies from 0 to full software engineer figures for your area. You can assemble teams very cheap on the Internet these days, managing them on the other hand... Also, the better you pay, the less problems you will get, generally. Paying people below what they need to sustain themselves is not recommended.   Don't think this is the best subforum by the way, and you will get more accurate figures if you can specify more closely what the game programming task is, as well.
  13. StubbornDuck

    Is hacky code allowed in industry?

    Depends on where you work entirely, and the general stress level. Good programmers would rather fix stuff like that properly, but management and/or reality may disagree about that priority.         Agree on this one, if I can't immediately see a clean solution I may start out with a hacky one and then refactor it later once it becomes clear exactly how the related code meshes together. (Or I don't even start implementing it until analyzing it further. Starting to code when you don't know what you're doing is a major time waster.)
  14. StubbornDuck

    How to divide work for a team of beginners?

    If you had not started it yet, I would have advised you to wait with leading a team and at most join one. Now since you've already started it I recommend going ahead and carrying it through to the best of your ability. That way you will learn as much as possible out of this. I won't comment on the chance of achieving what you set out to do; it's the experience that matters at this point. Many new programmers (my own field, thus the role I feel comfortable discussing) lack team experience, and this is the sort of thing that rectifies that.
  15. Easiest would probably be Unity if you want to make games. It's the most popular engine for mobile games without a doubt, and it allows you to stay ultra cross-platform.   I used other frameworks like e.g. Corona for a long time, but honestly you can do much more in Unity. C# is a nicer language than Corona's Lua IMO (as Lua lacks static typing meaning you really need a good test framework when writing larger applications to avoid spelling mistakes costing you shitloads of time, and back when I last used Corona it didn't have a test framework, lol).   You want to avoid C++ on mobiles due to the diversity of underlying hardware... C++ and native precompiled code works well on PCs due to the dominant status of the x86/x64 architecture. On mobile that boxes you in, and with the JIT and static compilers that Unity offers your games will likely be performant enough anyway. If you for some reason need to do low level optimization in C++ you can still do that with Unity in the pro edition, but I never needed it.
  16. StubbornDuck

    Which programmer is responsible?

    It depends I have done all kinds of work when I was dedicated Front End programmer, for which the work at the time ranged from pipeline work, back end systems (atlas texturing, render to texture tech), to implementing functional sides of UI screens. However the only time a programmer was interfering with art work would be at the structural level, as in how a scene has to be put together, this was a drawback of the tech. And when a scene contained multiple child anims max only allows one anim line whilst our tech allowed for 4, also drawback in tech, that would end up in not to complicated xmls but complicated enough that everyone forgets who it works until you have to create one again.   We never really got involved with the look or real feel of it unless it would break a usability thing or a tech constraint.   Just wondering but what do you class as engine programming?   Writing the backend server software for that game, for instance (partially outside of Unity). Fixing and adding functions in some of the middleware we used, as well.   +1 for interesting reply
  17.   I don't think this is necessarily true. Many dried out personal projects for me have been caused by that I have solved all technical challenges and only have more of the same to look forward to. That is, solving similar problems I've already solved, and in the case of game making that means endless tweaking and content production - something I just don't enjoy, as it seems. Ultimately though, the potential accuracy of this statement depends on whether this was this guy's personal opinion or whether he had some scientific backing up - I can only speculate.   However, I definitely agree on that it's crucial finding some way of motivating yourself and if that works for you, then you should keep thinking that.
  18. StubbornDuck

    Which programmer is responsible?

    I mean, it should be like you say. Unfortunately the organization overall was inadequate. Not that I blame them, it was their first game, and managed by people without direct game experience. What could possibly go wrong with multi-national multi-continent cooperation between a tech company and an education company. ^^ I'm not angry, those were simply unfortunate circumstances that I accepted at the time of sign up. Because they/we didn't manage to hire a single competent designer all programmers were pulled into direct scripting, level development, and such in addition to engine development. Quite the experience.   Still, I strongly suspect the issue I described in the post you quoted is still more prevalent in the gameplay programmer profession than the engine programmer profession. Not only from my limited own experiences, but also from what I've heard from other programmers.
  19. StubbornDuck

    Fixed-radius near neighbor search

    Frob: I completely understand your concern. I'll defer an answer until I've tested it in practice.   I just like to plan in advance before I start writing code to minimize wasted work, this thread is a symptom of that.
  20. I need to find all points within a given radius of a certain point in euclidean 2D and 3D spaces. The points are updated fairly often (but most commonly are just moved by a limited distance). The point distributions are likely to be very non-uniform in my application. There's a limit to the resolution I need, I'd rather trade resolution for performance (at least if I can over-estimate rather than under-estimate returned point sets).   I know I could use spatial hashed grids or quad/octrees for this. Unfortunately the Wikipedia article for fixed-radius near neighbor search is a stub, and googling gives me very specific results rather than an overview, so my quick rush to gain an overview ended there. ^^ I wonder if someone else has a better idea than spatial grids or oct/quadtrees - if you can give me names of algorithm/data structures that work in your experience, that will save me a couple of hours and I will be very happy.   Edit: Oh and if the data struture can be updated concurrently it's a plus.
  21. StubbornDuck

    Fixed-radius near neighbor search

    Thanks for both suggestions. Thought KD trees were slow to update but maybe it will work. Like you note, it's hard to tell what will work best in practice so I'll have to try a couple of different solutions.
  22. 1) Don't get too worked up about not being immediately successful. Long term stress isn't productive and will damage you. It really takes *a lot* of time to become a good programmer AND have someone you want to work for recognize it, if you're unconnected. I was the top 5% of programmers in my university classes, yet I it took some time before I got a good foothold in the labor market after aborting my studies. (In turn caused by my preference for doing programming rather than theoretical university assignments or studying for exams. Will finish my degree shortly in parallel with work.) Similarly, I spent some time doing Internet jobs (always receiving the highest grade by clients and reaching 0.1% best in world rankings), but honestly it didn't work out financially from where I live due to high costs of living. That in turn caused enormous stress as well.   2) I've never done drugs (unless coke i.e. Coca Cola counts, which I was drinking way too much of for a period). Can't give you any advice on this subject thus, other than the obvious "don't do it". The mind doesn't always take rational paths however.   3) Social anxiety is something I have but it gets better when I get out often among people - having a workplace helps. It has also improved massively with age, I'm very different now at 27 than I was at 21. Can't say whether that will apply to you obviously, but there might be hope. A problem with college is that it's possible to be very anonymous in some places; that's not possible in a small company's office.   4) Fix your education or get out and work for a bit, IMO. It just costs too much to stay inside college failing courses (easy to say in retrospect, it's hard to see it while you're there and feel you have an obligation to continue studying, ultimately I had to break up with all the expectations that had been laid upon me - even by myself). The quicker you can become honest with yourself about what you're really doing the quicker you will feel you're in control of your life.   This post risks being slightly rambling as well and unrelated to the thread title specifically I realize, but that's what you get with the original post. Overall my life has vastly improved since I was 21, and I felt I should share that optimistic outlook with you.
  23. StubbornDuck

    Which programmer is responsible?

    It was a stage, fortunately.   Edit: To elaborate, I'm now doing engine programming instead. I appreciate it because there are objective measures on how good my work is. If I reduce CPU usage on the MMO server I'm developing for a certain amount of players by 50% without making the code unreadable or introducing weird bugs it's an undeniable improvement and I will not be asked to revert it. When I was doing gameplay programming for a multiplayer online game it would frequently be like "this character needs shoes, please change the Unity prefab object and scripts to accomodate the new model and attachable objects". After being done a few hours later: "revert the change, it didn't look as good as we thought".   Doing gameplay programming strictly as a hobby again.
  24. StubbornDuck

    Which programmer is responsible?

    If you have non-crap designers ^^
  25. StubbornDuck

    Which programmer is responsible?

    My impression is gameplay programmers need to be perfectionists, and have a sickly desire to tweak code and values ad-infinitum until the game subjectively "feels good" according to someone's vision. At least engine programmers don't have to deal with subjectivity to that amount, though they still need to be perfectionists.
  • 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!