Lord Ba'al
Supreme Deity
Posts: 6,260
Pledge level: Half a Partner
I like: Cats; single malt Scotch; Stargate; Amiga; fried potatoes; retro gaming; cheese; snickers; sticky tape.
I don't like: Dimples in the bottom of scotch bottles; Facebook games masquerading as godgames.
Steam: stonelesscutter
GOG: stonelesscutter
|
Post by Lord Ba'al on Aug 11, 2014 17:02:34 GMT
When you said water, did you mean the oceans or the rivers or both? The oceans. The rivers look okay but I think they could look better, tbh. It's mostly just about finding the time and a supporting coder to get those looking a bit better. So you coded the oceans?
|
|
|
Post by earlparvisjam on Aug 11, 2014 17:28:19 GMT
Design Patterns are just the pits. They teach junior programmers how to stop thinking for themselves, and give them the buzzwords to get a job. Really don't want to get me started on this subject... Especially if you can't offer me some alcohol to soften the tone... That's like saying that coming up with "best practices standards" is a bad thing because nobody will think for themselves. Patterns are just techniques that give junior programmers methods of handling problems. For example, there's nothing inherently wrong with showing a junior programmer Lazy Initialization. There's no reason programmers need to figure out existing techniques on their own just because we want them to think for themselves.
|
|
Raspofabs
Former 22Cans staff
Posts: 227
I like: coding, high peat single malts, ... , yeah, that's about it.
I don't like: object oriented design, and liver.
Steam: raspofabs
|
Post by Raspofabs on Aug 11, 2014 18:16:57 GMT
Design Patterns are just the pits. They teach junior programmers how to stop thinking for themselves, and give them the buzzwords to get a job. Really don't want to get me started on this subject... Especially if you can't offer me some alcohol to soften the tone... That's like saying that coming up with "best practices standards" is a bad thing because nobody will think for themselves. Patterns are just techniques that give junior programmers methods of handling problems. For example, there's nothing inherently wrong with showing a junior programmer Lazy Initialization. There's no reason programmers need to figure out existing techniques on their own just because we want them to think for themselves. I hear you, but the examples you give have justification. Best practices standards are like katas, or piano practice pieces. You do that until you are good enough that you don't have to. I've not heard of Lazy Initialisation being described as a design pattern. It's a fundamental part of some languages (lazy languages like Haskell have it everywhere, and the static instances of C++ are usually used for lazy singletons), but even when it's not, I'd call it a fundamental technique, like knowing that you can loop, and how to recurse. Design patterns (such as those presented in DP-EoROOS by Gamma etc) are very much "solutions in search of a problem", and that's known to be a bad thing in software development. People are quite happy reusing the template library (STL) because it is a set of mathematical and computational tools by which a solution can be constructed. A design pattern often will be shoehorned into a project because it's the closest fit to the perfect* solution. Design patterns are a bit like the Hero's Tale. If you try to use all the pieces to make a great big thing without truly understanding why they work, then you will make something that can't be easily criticised, but won't deliver. Only when you see all the pieces moving together, and understand why they work in symphony, will you be able to make grand things. At that point, you don't need a book to tell you how to make undo work, or how to break the heart of your reader. That's why I say they are dangerous. We already have too many wannabe screenwriters. Too many people who want to be in charge because they think they know how to do it because a book said so. * Don't equate a perfect solution with perfect code. Perfect solutions are quite a lot more common in high level coding, it just means there is no unnecessary code paths or data. If you don't start with someone else's solution, you're not likely to add in arbitrary things that aren't exercised; things that will trip people up when it comes to maintenance.
|
|
Raspofabs
Former 22Cans staff
Posts: 227
I like: coding, high peat single malts, ... , yeah, that's about it.
I don't like: object oriented design, and liver.
Steam: raspofabs
|
Post by Raspofabs on Aug 11, 2014 18:21:35 GMT
The oceans. The rivers look okay but I think they could look better, tbh. It's mostly just about finding the time and a supporting coder to get those looking a bit better. So you coded the oceans? The deep sea, the caustics, the ocean surface, they were a joint effort. I did the number crunching, he did the texturing and a lot more of the lighting code in the shaders than I want to give him credit for. We did a bit of back and forth over the colour stuff in the caustics, and we have both been tweaking it for performance ever since V1.
|
|
|
Post by Danjal on Aug 11, 2014 18:23:57 GMT
Well for what its worth, the sea/ocean looks awesome.
|
|
|
Post by nerdyvonnerdling on Aug 11, 2014 18:27:24 GMT
The oceans do look great. The only issue I have is that I noticed on the new introduction, with the two followers asking for help while floating in the water - you can't see the 'submerged in water' part of them. It looks odd to me since the water is clear enough to see many levels down, and spot fish and whatnot. So they just look like they got half of their bodies chopped off.
|
|
|
Post by earlparvisjam on Aug 11, 2014 18:42:32 GMT
That's like saying that coming up with "best practices standards" is a bad thing because nobody will think for themselves. Patterns are just techniques that give junior programmers methods of handling problems. For example, there's nothing inherently wrong with showing a junior programmer Lazy Initialization. There's no reason programmers need to figure out existing techniques on their own just because we want them to think for themselves. I hear you, but the examples you give have justification. Best practices standards are like katas, or piano practice pieces. You do that until you are good enough that you don't have to. I've not heard of Lazy Initialisation being described as a design pattern. It's a fundamental part of some languages (lazy languages like Haskell have it everywhere, and the static instances of C++ are usually used for lazy singletons), but even when it's not, I'd call it a fundamental technique, like knowing that you can loop, and how to recurse. Design patterns (such as those presented in DP-EoROOS by Gamma etc) are very much "solutions in search of a problem", and that's known to be a bad thing in software development. People are quite happy reusing the template library (STL) because it is a set of mathematical and computational tools by which a solution can be constructed. A design pattern often will be shoehorned into a project because it's the closest fit to the perfect* solution. Design patterns are a bit like the Hero's Tale. If you try to use all the pieces to make a great big thing without truly understanding why they work, then you will make something that can't be easily criticised, but won't deliver. Only when you see all the pieces moving together, and understand why they work in symphony, will you be able to make grand things. At that point, you don't need a book to tell you how to make undo work, or how to break the heart of your reader. That's why I say they are dangerous. We already have too many wannabe screenwriters. Too many people who want to be in charge because they think they know how to do it because a book said so. * Don't equate a perfect solution with perfect code. Perfect solutions are quite a lot more common in high level coding, it just means there is no unnecessary code paths or data. If you don't start with someone else's solution, you're not likely to add in arbitrary things that aren't exercised; things that will trip people up when it comes to maintenance. Lazy Instantiation's called "Lazy Load" in PoEAA and it's categorized as a creational pattern. Of course, there's no set standard with patterns so everyone seems to call them something different. This is espectially true with LI, and the reason I used it. I don't totally disagree with you. I've experienced developers that rigidly adhere to a pattern despite reality pushing for something else. The problem isn't with the pattern but the usage of it. Learning the pattern is just the first step and learning when it's better to alter the pattern is just as important. There's a big difference between a pattern for a dress and a full length formal gown. Give materials and the same pattern to two different seamstresses and you can get wildly different quality outfits. It's not the pattern's fault if one ends up looking like a wad of gauze. Having a pattern to get things started is still better for a novice than to cast them out into the wild and hope they figure things out. Rather than rant against design patterns, I'd rather complain about how schools keep teaching novices that it's okay to "just make another variable" all over the place. At least patterns can be helpful as a foundation to work from...
|
|
feanix
Suspected 22Cans staff
Posts: 73
|
Post by feanix on Aug 12, 2014 10:24:50 GMT
The deep sea, the caustics, the ocean surface, they were a joint effort. I did the number crunching, he did the texturing and a lot more of the lighting code in the shaders than I want to give him credit for. We did a bit of back and forth over the colour stuff in the caustics, and we have both been tweaking it for performance ever since V1. Yup. Fabs did all the really hard, mind bending maths. I mostly just do pretty colours and cause headaches for Fabs It's worked out great though, I'm super happy with it.
|
|
Lord Ba'al
Supreme Deity
Posts: 6,260
Pledge level: Half a Partner
I like: Cats; single malt Scotch; Stargate; Amiga; fried potatoes; retro gaming; cheese; snickers; sticky tape.
I don't like: Dimples in the bottom of scotch bottles; Facebook games masquerading as godgames.
Steam: stonelesscutter
GOG: stonelesscutter
|
Post by Lord Ba'al on Aug 12, 2014 10:54:12 GMT
So what are y'all doing at the studio right now after these big updates? Crushing bugs? Working on new stuff? Watching the analytics?
|
|
feanix
Suspected 22Cans staff
Posts: 73
|
Post by feanix on Aug 12, 2014 11:49:52 GMT
I'm personally working on a cloth shader today. Not sure what's going on with design stuff (that's what you wanna know, I'm assuming )
|
|
Lord Ba'al
Supreme Deity
Posts: 6,260
Pledge level: Half a Partner
I like: Cats; single malt Scotch; Stargate; Amiga; fried potatoes; retro gaming; cheese; snickers; sticky tape.
I don't like: Dimples in the bottom of scotch bottles; Facebook games masquerading as godgames.
Steam: stonelesscutter
GOG: stonelesscutter
|
Post by Lord Ba'al on Aug 12, 2014 11:59:50 GMT
I'm personally working on a cloth shader today. Not sure what's going on with design stuff (that's what you wanna know, I'm assuming ) You assume mistakenly. I want to know as much as there is to know about what goes on inside 22Cans. What are programmers working on, what are graphics artists working on, what are designers working on, who slept with whom after the last social gathering at the pub, whatever comes to mind. Even the most innocuous things can be of interest. PS. What's a cloth shader and what are you doing with it?
|
|
feanix
Suspected 22Cans staff
Posts: 73
|
Post by feanix on Aug 12, 2014 16:21:25 GMT
The cloth shader is for decorative flags but could be used for other things down the line. I'm not too up to date with what everyone else is doing, to be honest. They all look super busy and I don't want to bother them. George or Raspofabs might be able to give you more.
|
|
Lord Ba'al
Supreme Deity
Posts: 6,260
Pledge level: Half a Partner
I like: Cats; single malt Scotch; Stargate; Amiga; fried potatoes; retro gaming; cheese; snickers; sticky tape.
I don't like: Dimples in the bottom of scotch bottles; Facebook games masquerading as godgames.
Steam: stonelesscutter
GOG: stonelesscutter
|
Post by Lord Ba'al on Aug 12, 2014 16:33:30 GMT
The cloth shader is for decorative flags but could be used for other things down the line. I'm not too up to date with what everyone else is doing, to be honest. They all look super busy and I don't want to bother them. George or Raspofabs might be able to give you more. I thought you were all supposed to be an intimate team working together to create something great. You're telling me you have no idea what other team members are up to? Don't y'all have team meetings to discuss what's going on? (please don't take this as criticism)
|
|
|
Post by Danjal on Aug 12, 2014 16:37:58 GMT
The cloth shader is for decorative flags but could be used for other things down the line. I'm not too up to date with what everyone else is doing, to be honest. They all look super busy and I don't want to bother them. George or Raspofabs might be able to give you more. I thought you were all supposed to be an intimate team working together to create something great. You're telling me you have no idea what other team members are up to? Don't y'all have team meetings to discuss what's going on? (please don't take this as criticism) Its funny, one of the key elements in indie development is often considered the advantages such a small and close-knit team brings. The ability to directly interact from one specialty to another. As we've remarked earlier, 22cans seems to take its measures from a more corporate mindset. With each department being secluded and only interacting with management (I.E Peter) rather than directly with eachother.
|
|
|
Post by muumipeikko on Aug 13, 2014 10:53:02 GMT
I thought you were all supposed to be an intimate team working together to create something great. You're telling me you have no idea what other team members are up to? Don't y'all have team meetings to discuss what's going on? (please don't take this as criticism) Its funny, one of the key elements in indie development is often considered the advantages such a small and close-knit team brings. The ability to directly interact from one specialty to another. As we've remarked earlier, 22cans seems to take its measures from a more corporate mindset. With each department being secluded and only interacting with management (I.E Peter) rather than directly with eachother. Yes, but you ask any Leopard how difficult would it be for them to change their spots? The management team is a classic MS Middle to Snr level management robot. It's what they know and the life experiences they have. It's ironic that some of the biggest success stories in the software world, the system like PayPal which revolutionised the industry were all done by people without any real expertise in their area and admit that was a major advantage as they weren't constrained by their previous experiences... The only thing I see Indie about 22Cans is their working capital...
|
|
feanix
Suspected 22Cans staff
Posts: 73
|
Post by feanix on Aug 13, 2014 11:10:27 GMT
Oh, there no way I could keep up to date with what 21 other people are doing. Everyone has a complex job and loads of work. The advantage of a small-ish team is that you can get access to people easily, it's easy to form task groups of four or five people to concentrate on getting a feature done. Beyond that I don't really bother to find out.
I know that Dimitri is probably doing some pathfinding and AI stuff. Matt's playing the PC build to look for problems but he might also be modelling something or other in the background. Tony usually has about 10 million irritating UI bugs and edges cases to get through. I could walk over and have a look if I wanted but that would take time away from me and break them out of their thought process.
I dunno, that's just how I feel. There definitely are people here who know almost everything that everyone's working on but, honestly, I think that intimate familiarity with everything everyone else is doing get lost after your team gets bigger than five people. Not saying it's true, it's just what I think.
|
|
|
Post by rubgish on Aug 13, 2014 11:25:51 GMT
It's not just a small team vs corporate management thing either, it's somewhat down to personal preference too. When I work, if i'm doing something interesting i'm very happy to work on something by myself and just focus on that for a few days/weeks/whatever being totally oblivious to whatever everyone else in my team is doing. The guy who was next to me at my last job wasn't happy if he didn't have 10+ things on the go at the same time, so he'd always be up and around talking to people, seeing if he could help or if there was anything new he could get involved with. I don't think one is better than the other so long as you aren't too isolated and so the whole team is headed towards the same end goal.
I would suggest that the artists/graphics people probably don't need to worry so much about what the rest of the team outside other artist/graphics people are doing, because their work doesn't impact on others. If you are coding some stuff for follower AI, and someone else is doing some follower AI coding too, you need to be talking to each other to avoid any possible clashes or creating bugs in the code. If you're introducing a cool new shader system for flags, bunting & other stuff like that, you don't need to worry anywhere near as much about clashing with anyone else and making bugs in the game.
|
|
|
Post by Danjal on Aug 13, 2014 11:32:58 GMT
Oh, there no way I could keep up to date with what 21 other people are doing. Everyone has a complex job and loads of work. The advantage of a small-ish team is that you can get access to people easily, it's easy to form task groups of four or five people to concentrate on getting a feature done. Beyond that I don't really bother to find out. I know that Dimitri is probably doing some pathfinding and AI stuff. Matt's playing the PC build to look for problems but he might also be modelling something or other in the background. Tony usually has about 10 million irritating UI bugs and edges cases to get through. I could walk over and have a look if I wanted but that would take time away from me and break them out of their thought process. I dunno, that's just how I feel. There definitely are people here who know almost everything that everyone's working on but, honestly, I think that intimate familiarity with everything everyone else is doing get lost after your team gets bigger than five people. Not saying it's true, it's just what I think. I think from my perspective. There is a difference between 'knowing what your team is doing' - as in, you know that the X guys are currently working on this, and the Y guys are currently working on that. And knowing specifically what each individual is doing. Perhaps this comes from the fact that I'm a ridiculously curious person and I'd like to know what is going on around me. Making me more likely to try and figure those things out aswell. But it seems strange to me that you'd have no clue what your company is working on at this point in time and that you'd be secluded on your own little island doing your own thing. Isn't what you are doing going to affect the things that your colleagues are doing? Isn't it therefor necessary that you have atleast some clue of what is going on in the grand scheme of things? I'd assume you guys have team meetings in which stuff gets mentioned that you'd pick up, or when you're standing at the watercooler (or local equivalent) taking a break you might have a chat with someone and you or they will mention a particular problem or thing they are working on? These kinds of events give you a general idea and impression of what is going on without the need to know EXACTLY what every individual is doing? Now I'm not asking you to go into specifics here or anything. Its just that it feels odd to me that you'd have no clue what exactly 22cans as a whole is doing. Granted, it could also just be you personally not being very interested in figuring that out and much rather focusing on your own work. In which case I won't fault you. Some people are like that, just like I'm very curious and would want to know there are those that would much rather just do a good job and then go home to their family after.
|
|
feanix
Suspected 22Cans staff
Posts: 73
|
Post by feanix on Aug 13, 2014 16:33:18 GMT
Well as a company we're sort of just recovering from the mobile launch.
As an aside, I know anything to do with the mobile game and it's business model is an unpleasant topic for you guys and... well, I'd very much rather not get involved in talking about it. You guys are very welcome to but I will be bowing out of any conversations about how you guys feel about it. I don't have much control over it and it's pretty painful for people to hear people crying for the blood of your organisation (even if they say they have no problem with me personally). And I'm not even going to say you should or shouldn't cry for blood. You have your reasons, I'm familiar with almost all of them. But really, I just can't get involved.
Anyways. So some people are looking at the analytics coming in from that. Some people are planning what the next move is for the mobile version and getting on with that and we just had a meeting about the next thing for the PC version (well, the one after the next one). Some pretty exciting stuff there but I feel that it's George's job to break that kind of info to you guys so you'll have to wait for him to tell you about it.
I guess that's more of an overall but it's vague now that I look at it. I really don't have many more details about it.
|
|
|
Post by Danjal on Aug 13, 2014 17:03:35 GMT
Thats fair enough, I can respect your decision to stay out of such an argument.
I'll be awaiting George or Matthew's report on the upcoming feature(s) you are talking about and I'll hope that it'll be as exciting for us as it is for you.
|
|