tag:blogger.com,1999:blog-3064325214589649535.post1042965551172828546..comments2024-03-29T12:44:19.840+01:00Comments on Joost's Dev Blog: Programming with pastaJoost van Dongenhttp://www.blogger.com/profile/00569566310604620045noreply@blogger.comBlogger16125tag:blogger.com,1999:blog-3064325214589649535.post-12872181452922795182021-07-14T20:02:29.517+02:002021-07-14T20:02:29.517+02:00Nice! I also searched for that and I also got an a...Nice! I also searched for that and I also got an article that mentioned ravioli code as a thing. It didn't mention my article, but I'm pretty sure that that term wasn't in use yet when I wrote this. Maybe I influenced that. :)Joost van Dongenhttps://www.blogger.com/profile/00569566310604620045noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-64164403914316606572021-07-14T18:18:07.351+02:002021-07-14T18:18:07.351+02:00Hahaha I figured you'd be surprised. I searche...Hahaha I figured you'd be surprised. I searched for spaghetti code and this was one of the first hits!Retteketedhttps://www.blogger.com/profile/10650912522451905348noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-71999706391292538572021-07-14T13:16:22.628+02:002021-07-14T13:16:22.628+02:00Lol Ted, how on earth did you arrive here _now_, 9...Lol Ted, how on earth did you arrive here _now_, 9 years later?<br /><br />Note that I still regularly tell the joke of the mummy, and the response (once they get the joke) is still always a sigh. :DJoost van Dongenhttps://www.blogger.com/profile/00569566310604620045noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-13468852312816160832021-07-14T12:02:26.355+02:002021-07-14T12:02:26.355+02:00Almost as good as the joke of the mummy!Almost as good as the joke of the mummy!Retteketedhttps://www.blogger.com/profile/10650912522451905348noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-36890873343774435512012-10-04T20:03:13.379+02:002012-10-04T20:03:13.379+02:00This MusicManager manages music from a gameplay pe...This MusicManager manages music from a gameplay perspective. It decides what to play based on the game situation. So it makes sense that it knows about characters and things like that.<br /><br />The kind of manager that should be more outside the game is our SoundManager, which is an engine class that handles playing sound on specific platforms. The SoundManager is completely agnostic from the actual game.Joost van Dongenhttps://www.blogger.com/profile/00569566310604620045noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-62252837449268208292012-10-04T19:57:45.296+02:002012-10-04T19:57:45.296+02:00From what I read, your music manager is accessing ...From what I read, your music manager is accessing the character->IsDead() method... Don't you think that the music manager should probably be at a lower level, agnostic of high level stuff like the character? This sounds like an odd dependency to me. But maybe this was just a simplified example to illustrate your point...Anonymoushttps://www.blogger.com/profile/12239472705399106362noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-75360927014910671102012-05-20T12:07:55.064+02:002012-05-20T12:07:55.064+02:00I find that I usually move from system to system w...I find that I usually move from system to system within the same code base. You are asked to include a particle effect, so you write a class that can produce an effect. Its pretty small and simple, but then it also not very re-usable. <br /><br />Then you find out: I can use more particle systems in other places, so you start to split up the particle code into more classes so you can have more flexibility, creating more of a lasagna model. Then when you use a lot of that copy pasted all over your game you suddenly realize : I should have made a manager class for this.. At this point it probably looks like the pizza model.<br /><br />And then I end up with the ravioli model, after making the manager. <br /><br />Problem is, when you prototype a game and design it as you go, there is no real way to know up front how much a certain piece of code will be reused or how large it will become, ie what model to use.Daniƫlhttps://www.blogger.com/profile/13461246472105943375noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-57727408413727588212012-05-16T16:04:55.499+02:002012-05-16T16:04:55.499+02:00You had me at your mouth watering description ravi...You had me at your mouth watering description ravioli code. I just had lunch but would eat again. Also very nice article - I think analogies like ravioli are nice because it's hard to explain to people "too many objects! too many layers!" IMO university teaching (and industry) is still too obsessed with OO so most students don't really learn that there should be a sensible balance.capnramseshttp://twitter.com/capnramsesnoreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-46161474553301000932012-05-16T07:47:51.197+02:002012-05-16T07:47:51.197+02:00Nope, I just announced that Awesomenauts uses the ...Nope, I just announced that Awesomenauts uses the same core engine as Swords & Soldiers. :)Joost van Dongenhttps://www.blogger.com/profile/00569566310604620045noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-21768533791157437012012-05-15T19:39:38.207+02:002012-05-15T19:39:38.207+02:00Did you just announce Awesomenauts for PC and Wii?...Did you just announce Awesomenauts for PC and Wii? :p<br /><br />Ravioli code is of course http://en.wikipedia.org/wiki/Separation_of_concerns, but it sounds tastier :DBart van Heukelomhttps://www.blogger.com/profile/15668188862239836492noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-56582401109440392872012-05-15T18:30:02.457+02:002012-05-15T18:30:02.457+02:00It makes for a great punchline. Observe:
[...Ment...It makes for a great punchline. Observe:<br /><br />[...Mention lasagne code...]<br /><br />- What's that?<br /><br />- Too many layers. *ba dum tish*Thamashttps://www.blogger.com/profile/17766605868066955395noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-53088893081828840902012-05-15T09:22:29.690+02:002012-05-15T09:22:29.690+02:00The best part is that I didn't even make the t...The best part is that I didn't even make the term "lasagne code" up myself! :DJoost van Dongenhttps://www.blogger.com/profile/00569566310604620045noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-13069434795210470622012-05-15T07:11:49.075+02:002012-05-15T07:11:49.075+02:00This post brought a big smile to my face. Lasagna ...This post brought a big smile to my face. Lasagna code? Brilliant. Can't wait to have to explain the concept to someone xDSamhttps://www.blogger.com/profile/10071404307801635004noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-31234017273158848242012-05-13T11:00:11.244+02:002012-05-13T11:00:11.244+02:00I added a couple of words to that sentence to make...I added a couple of words to that sentence to make it clearer what I meant and avoid confusion.Joost van Dongenhttps://www.blogger.com/profile/00569566310604620045noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-7433484076547175452012-05-12T23:14:54.010+02:002012-05-12T23:14:54.010+02:00Euhm, I guess you misread that one? "Stop to ...Euhm, I guess you misread that one? "Stop to think" is not the same as "stop thinking". "Stop to think" means that one stops working for a moment, and starts to think about what one is doing. :)Joost van Dongenhttps://www.blogger.com/profile/00569566310604620045noreply@blogger.comtag:blogger.com,1999:blog-3064325214589649535.post-33692396056242312662012-05-12T22:56:30.016+02:002012-05-12T22:56:30.016+02:00I agree with the greater deal of the char array he...I agree with the greater deal of the char array here, but this last part...?<br /><br />" In my opinion programmers who never stop to think about whether what they used was a good or bad method, will never become really pro. "<br /><br />What the?<br /><br />1. How do you know, are you pro?<br />2. So, at some point you must stop thinking otherwise you cannot get pro, whut?<br />3. Define pro.Barthttps://www.blogger.com/profile/02707141310032131696noreply@blogger.com