Re: [Audyssey] Another perspective on programming games
Remember we have a python example, called Moosik. Apparently the scripts don't even need to be compiled, so if ya wanna see it in action check it out. Ken Downey President DreamTechInteractive! And, Coming soon, Blind Comfort! The pleasant way to get a massage--no staring, just caring. - Original Message - From: Josh [EMAIL PROTECTED] To: Gamers Discussion list gamers@audyssey.org Sent: Monday, January 15, 2007 10:03 PM Subject: Re: [Audyssey] Another perspective on programming games can pithon interface with directX then? Josh - Original Message - From: Nolan Darilek [EMAIL PROTECTED] To: Gamers Discussion list gamers@audyssey.org Sent: Monday, January 15, 2007 9:52 PM Subject: Re: [Audyssey] Another perspective on programming games Replying to both of these messages because I seem to have missed one. On Jan 15, 2007, at 2:35 AM, shaun everiss wrote: I have the vb stuff but another language would be cool. What restrictions is ruby over say c#? A bit slower, but audio games are generally not as demanding as their graphical counterparts. You're also restricted to distributing the source with your applications as both are interpreted, though there are utilities for both to convert the scripts to windows executables. At 08:52 p.m. 15/01/2007, you wrote: that sounds a whole lot easier. if i remember that looks like ruby code, as i've seen the midi scripter that emanuel borsboom wrote in ruby, and to script midi uses lines like that. Yeah, that's one of the more advanced features that I like--you can design what are called domain-specific languages, mini-programming languages for doing very specific tasks. See, for instance, how I'm defining game menus in the game I'm planning to release after Torrent: menu do menu(Start game) do item(Easy) do WaveManager.difficulty = WaveManager.Easy Game.start end item(Hard) do WaveManager.difficulty = WaveManager.hard Game.start end end item(Configure) do end item(Exit) do Game.shutdown end end What I've done here is define a game menu with three items--Start game, Configure and Exit. The Start game menu item brings up a submenu with two items, Easy and Hard. Each of these sets WaveManager.difficulty appropriately and starts the game. The Configure item does nothing for now. Exit shuts down the game. Now, none of that is standard Ruby. I'm basically developing my own mini-language for defining menus from within Ruby itself, and it's super easy. This is also very easy to extend to something like, say, game entity scripting, so you can easily develop mini-languages for creating missions, levels, etc.: ship do name = CNV Titan position = [100, 200, 0] speed = 0 mode = :peaceful end or something similar. The possibilities are quite exhaustive for what can be accomplished with domain-specific languages. Anyhow, as I stated, that's a rather advanced feature of Ruby, but it gives you some sense of what is possible. It's an easy language, but no toy or Kids Programming Language. :P however, i didn't realise ruby could actually be coded in windows. i tried to download ruby but all i got was the interpreter. it didn't include any docs on how to script it or anything. Yeah, that's all there is to it. For a good introductory book, see: http://rubycentral.com/book and you say it can interface to dx? wow! No, I didn't say that. As far as I know, it can't. It does, however, work nicely with SDL which is a DirectX alternative. ___ Gamers mailing list .. Gamers@audyssey.org To unsubscribe send E-mail to [EMAIL PROTECTED] You can visit http://audyssey.org/mailman/listinfo/gamers_audyssey.org to make any subscription changes via the web. ___ Gamers mailing list .. Gamers@audyssey.org To unsubscribe send E-mail to [EMAIL PROTECTED] You can visit http://audyssey.org/mailman/listinfo/gamers_audyssey.org to make any subscription changes via the web. -- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.1.410 / Virus Database: 268.16.13/634 - Release Date: 1/17/2007 ___ Gamers mailing list .. Gamers@audyssey.org To unsubscribe send E-mail to [EMAIL PROTECTED] You can visit http://audyssey.org/mailman/listinfo/gamers_audyssey.org to make any subscription changes via the web.
Re: [Audyssey] Another perspective on programming games
Hi Josh, Personally I haven't tried it but Python is flexible enough to write an extension for DirectX. I know that extensions have been written to interface with the stock MS SAPI 5 libs, and I am certain a competent python dev could whip up a DirectX extension. Probably one has already been written for it, and I am just unaware of it. I do know there are extensions for open source implementations of DirectX such as Open GL, Open AL, SDL, etc... Honestly, game programming centers around Visual Basic, C#, and C++. Other languages can write games, but it's just not the same as the mainstream. Typically, when python is used for games it is used on non-Windows platforms where open source languages and technologies are used widely. It's kind of like the Microsoft way or the open source way. Take your pick. I'm not bashing python at all. I do think it is a nice little language. Just not commonly used for pro Windows games. Josh wrote: can pithon interface with directX then? Josh ___ Gamers mailing list .. Gamers@audyssey.org To unsubscribe send E-mail to [EMAIL PROTECTED] You can visit http://audyssey.org/mailman/listinfo/gamers_audyssey.org to make any subscription changes via the web.
Re: [Audyssey] Another perspective on programming games
I have the vb stuff but another language would be cool. What restrictions is ruby over say c#? At 08:52 p.m. 15/01/2007, you wrote: that sounds a whole lot easier. if i remember that looks like ruby code, as i've seen the midi scripter that emanuel borsboom wrote in ruby, and to script midi uses lines like that. however, i didn't realise ruby could actually be coded in windows. i tried to download ruby but all i got was the interpreter. it didn't include any docs on how to script it or anything. and you say it can interface to dx? wow! regards, damien - Original Message - From: Nolan Darilek [EMAIL PROTECTED] To: Gamers Discussion list gamers@audyssey.org Sent: Monday, January 15, 2007 6:11 AM Subject: [Audyssey] Another perspective on programming games Hi, folks. Lots of you seem interested in learning how to program games. This is great. Lots of you are also scurrying off and downloading the various microsoft express IDES. If this is your chosen path then by all means, knock yourselves out, but I wanted to toss out another path that you may not have considered. C#, VB, Java, etc. are popular, powerful languages. They're also very verbose when compared to languages like Ruby and Python that can, say, write a simple Hello, world program in a single line rather than half a dozen. If you're wanting to learn programming, consider a language like Ruby or Python first. The syntax is much easier to grasp and, in my mind, much closer to how we think than are languages like C#/VB. Try to guess what this does: 3.times do print Hip hip, hooray! end vs.: for(int i = 0; i 2; i++) { Console.Out.Writeline(Hip hip, hooray!); } You can develop games easily in either of these using libraries like RUDL, Rubygame, Pygame, etc. Not only do these have the advantage of being cross-platform, but you can type a bit of code, run the game instantly, add more, etc. in an evolutionary process so much faster than would otherwise be possible with compilation. There are disadvantages to this path. These languages may spoil you. I've coded for years, and after working with Ruby, coding in Java feels like running under water. This may be circumventable, however. I've written Torrent in Java and have just recently separated the engine components into a separate project for other game development. I'm finding that I can use my engine with JRuby, a Java-native implementation of Ruby, and enjoy the ease and speed of Ruby plus the power of the underlying Java engine. If you're a .net person, there's a .net implementation of Ruby on the horizon and, if you find that you prefer Python to Ruby, you can already use languages like IronPython or Boo (http://boo.codehaus.org) with DirectX or whatever your .net engine of choice might be. Actually, if Python is your pick then you can already use either of these with existing DirectX resources/tutorials to get up to speed that much quicker with skills that you can keep. Also, if you pick the pure Ruby/Python route, your games' source will almost always be visible, meaning others can copy what you've done (albeit with the same restrictions.) This shouldn't be an issue at first--my first three attempts at game programming weren't commercial- grade, and I'd probably have been much more successful at learning if I'd treated at least two of those as learning experiences instead of trying to write the next GMA engine right out the gate. :) And, again, if you're still interested in the C#/VB.net route then right on, and I wish you the best of luck. :) Just wanted to let folks know that a) those aren't the only games in town, even if you do want to stick with .net from start to finish (see notes about IronPython/Boo above) and b) it may be best to focus on learning the craft of game design during your first few efforts rather than on producing something to sell. Language shapes how we think, and while picking a non-conventional language might seem like a bad idea at first glance, it just might help some of you who may find C#/VB frightening. Hell, I'm a decent enough coder and *I* find them frightening for various reasons. :) If given a choice, I'll almost always pick an alternate language like JRuby/Nemerle/Boo for whatever platform I'm constrained to rather than simply using C#, Java, etc. ___ Gamers mailing list .. Gamers@audyssey.org To unsubscribe send E-mail to [EMAIL PROTECTED] You can visit http://audyssey.org/mailman/listinfo/gamers_audyssey.org to make any subscription changes via the web. ___ Gamers mailing list .. Gamers@audyssey.org To unsubscribe send E-mail to [EMAIL PROTECTED] You can visit http://audyssey.org/mailman/listinfo/gamers_audyssey.org to make any subscription changes via the web. ___ Gamers mailing list .. Gamers@audyssey.org To unsubscribe send E
Re: [Audyssey] Another perspective on programming games
thanks. I have c # and books to doodle with it. I started programming in pascal making console test programs for tech and then javascript which I can't really do well. I suppose I can't expect to make games in pascal can I? I origionally disreguarded this because I thought everyone used vstudio. However I'll check it out. I have vstudio downloaded and it was huge. I'll see anyway. I have the docs to learn vc# anyway. At 09:38 p.m. 15/01/2007, you wrote: On Jan 15, 2007, at 2:09 AM, Ken the Crazy wrote: Which of these languages is easiest to learn, python or ruby, which is less verbose, and which is more powerful? Those are difficult questions to answer and, for the most part, there aren't any. Neither is more powerful, I'd say. Python's Pygame is probably one of the more actively-developed game libraries, but Rubygame/RUDL are certainly worthy contenders. My personal preference is Ruby. Python is more concise in that it uses indentation for determining whether code is in any given method/ block (I.e. code indented by X spaces is in the same block) but not all screen readers speak indentation (VoiceOver doesn't.) Ruby uses end to end blocks, and I find: def greet(person) if person == Nolan puts Hey, you! else puts Hello, #{person.capitalize}. end end a bit easier to parse than: def greet(person): if person == Nolan: print Hey you! else: print Hello, +person+. It isn't as big of an issue in this instance, but it wouldn't be immediately obvious where blocks ended without speaking of indentation levels, and the end tokens make that a bit more easy to spot, as it were. Ruby has a number of advanced features that I really like, but those wouldn't be of interest to someone just starting out. In summary, you won't go wrong either way, but I myself prefer Ruby. Check them both out. They're free, available on just about every platform and each have great tutorials. Ruby even has the first version of the pickaxe, the book long held to be its definitive reference, available online. It takes you through lots of the basics rather quickly but doesn't skimp on the advanced topics, either. Check out: http://rubycentral.com/book/ ___ Gamers mailing list .. Gamers@audyssey.org To unsubscribe send E-mail to [EMAIL PROTECTED] You can visit http://audyssey.org/mailman/listinfo/gamers_audyssey.org to make any subscription changes via the web. ___ Gamers mailing list .. Gamers@audyssey.org To unsubscribe send E-mail to [EMAIL PROTECTED] You can visit http://audyssey.org/mailman/listinfo/gamers_audyssey.org to make any subscription changes via the web.
Re: [Audyssey] Another perspective on programming games
yeah. maybe I should start out with these languages myself. Josh - Original Message - From: Ken the Crazy [EMAIL PROTECTED] To: Gamers Discussion list gamers@audyssey.org Sent: Monday, January 15, 2007 3:09 AM Subject: Re: [Audyssey] Another perspective on programming games Which of these languages is easiest to learn, python or ruby, which is less verbose, and which is more powerful? Ken Downey President DreamTechInteractive! And, Coming soon, Blind Comfort! The pleasant way to get a massage--no staring, just caring. - Original Message - From: Nolan Darilek [EMAIL PROTECTED] To: Gamers Discussion list gamers@audyssey.org Sent: Monday, January 15, 2007 1:11 AM Subject: [Audyssey] Another perspective on programming games Hi, folks. Lots of you seem interested in learning how to program games. This is great. Lots of you are also scurrying off and downloading the various microsoft express IDES. If this is your chosen path then by all means, knock yourselves out, but I wanted to toss out another path that you may not have considered. C#, VB, Java, etc. are popular, powerful languages. They're also very verbose when compared to languages like Ruby and Python that can, say, write a simple Hello, world program in a single line rather than half a dozen. If you're wanting to learn programming, consider a language like Ruby or Python first. The syntax is much easier to grasp and, in my mind, much closer to how we think than are languages like C#/VB. Try to guess what this does: 3.times do print Hip hip, hooray! end vs.: for(int i = 0; i 2; i++) { Console.Out.Writeline(Hip hip, hooray!); } You can develop games easily in either of these using libraries like RUDL, Rubygame, Pygame, etc. Not only do these have the advantage of being cross-platform, but you can type a bit of code, run the game instantly, add more, etc. in an evolutionary process so much faster than would otherwise be possible with compilation. There are disadvantages to this path. These languages may spoil you. I've coded for years, and after working with Ruby, coding in Java feels like running under water. This may be circumventable, however. I've written Torrent in Java and have just recently separated the engine components into a separate project for other game development. I'm finding that I can use my engine with JRuby, a Java-native implementation of Ruby, and enjoy the ease and speed of Ruby plus the power of the underlying Java engine. If you're a .net person, there's a .net implementation of Ruby on the horizon and, if you find that you prefer Python to Ruby, you can already use languages like IronPython or Boo (http://boo.codehaus.org) with DirectX or whatever your .net engine of choice might be. Actually, if Python is your pick then you can already use either of these with existing DirectX resources/tutorials to get up to speed that much quicker with skills that you can keep. Also, if you pick the pure Ruby/Python route, your games' source will almost always be visible, meaning others can copy what you've done (albeit with the same restrictions.) This shouldn't be an issue at first--my first three attempts at game programming weren't commercial- grade, and I'd probably have been much more successful at learning if I'd treated at least two of those as learning experiences instead of trying to write the next GMA engine right out the gate. :) And, again, if you're still interested in the C#/VB.net route then right on, and I wish you the best of luck. :) Just wanted to let folks know that a) those aren't the only games in town, even if you do want to stick with .net from start to finish (see notes about IronPython/Boo above) and b) it may be best to focus on learning the craft of game design during your first few efforts rather than on producing something to sell. Language shapes how we think, and while picking a non-conventional language might seem like a bad idea at first glance, it just might help some of you who may find C#/VB frightening. Hell, I'm a decent enough coder and *I* find them frightening for various reasons. :) If given a choice, I'll almost always pick an alternate language like JRuby/Nemerle/Boo for whatever platform I'm constrained to rather than simply using C#, Java, etc. ___ Gamers mailing list .. Gamers@audyssey.org To unsubscribe send E-mail to [EMAIL PROTECTED] You can visit http://audyssey.org/mailman/listinfo/gamers_audyssey.org to make any subscription changes via the web. -- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.1.410 / Virus Database: 268.16.10/625 - Release Date: 1/13/2007 ___ Gamers mailing list .. Gamers@audyssey.org To unsubscribe send E-mail to [EMAIL PROTECTED] You can visit http://audyssey.org/mailman/listinfo/gamers_audyssey.org to make
Re: [Audyssey] Another perspective on programming games
Nolan, thanks for posting the comparison! I also have Python, but as my background is more in the C languages, I haven't investigated it yet... For those interested, here is similar code in C#... You'll notice that the code for the Greet method is defined within the braces, rather than the indentation idea, as in Python... public string Greet(string person) { if(person == Cara) Console.WriteLine(Hey you!); else Console.WriteLine(Hello + person + !); } Smiles, Cara At 02:38 AM 1/15/2007 -0600, you wrote: On Jan 15, 2007, at 2:09 AM, Ken the Crazy wrote: Which of these languages is easiest to learn, python or ruby, which is less verbose, and which is more powerful? Those are difficult questions to answer and, for the most part, there aren't any. Neither is more powerful, I'd say. Python's Pygame is probably one of the more actively-developed game libraries, but Rubygame/RUDL are certainly worthy contenders. My personal preference is Ruby. Python is more concise in that it uses indentation for determining whether code is in any given method/ block (I.e. code indented by X spaces is in the same block) but not all screen readers speak indentation (VoiceOver doesn't.) Ruby uses end to end blocks, and I find: def greet(person) if person == Nolan puts Hey, you! else puts Hello, #{person.capitalize}. end end a bit easier to parse than: def greet(person): if person == Nolan: print Hey you! else: print Hello, +person+. It isn't as big of an issue in this instance, but it wouldn't be immediately obvious where blocks ended without speaking of indentation levels, and the end tokens make that a bit more easy to spot, as it were. Ruby has a number of advanced features that I really like, but those wouldn't be of interest to someone just starting out. In summary, you won't go wrong either way, but I myself prefer Ruby. Check them both out. They're free, available on just about every platform and each have great tutorials. Ruby even has the first version of the pickaxe, the book long held to be its definitive reference, available online. It takes you through lots of the basics rather quickly but doesn't skimp on the advanced topics, either. Check out: http://rubycentral.com/book/ ___ Gamers mailing list .. Gamers@audyssey.org To unsubscribe send E-mail to [EMAIL PROTECTED] You can visit http://audyssey.org/mailman/listinfo/gamers_audyssey.org to make any subscription changes via the web. -- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.1.410 / Virus Database: 268.16.10/625 - Release Date: 1/13/2007 --- View my on-line portfolio at: http://www.onemodelplace.com/CaraQuinn The only things I really think are important, are love, and each other. -Then, anything is possible... http://home.earthlink.net/~cara-quinn -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.410 / Virus Database: 268.16.10/625 - Release Date: 1/13/2007 ___ Gamers mailing list .. Gamers@audyssey.org To unsubscribe send E-mail to [EMAIL PROTECTED] You can visit http://audyssey.org/mailman/listinfo/gamers_audyssey.org to make any subscription changes via the web.
Re: [Audyssey] Another perspective on programming games
Hi Nolan, Well, for Windows design the Microsoft Express compilers are wonderful things, but you do have a good point about languages such as Python. I often use Python to design concept games, or to work out a piece of language before converting it to something else like C#.NET. Another nice thing about Python is there are programs that will convert your py scripts to a Windows executable. Just for everyone elses information the thing about becomming a programmer is before you can write anything in any language you must learn the basic concepts like what is a variable, what is a function, class, while loop, object, you name it. Once you understand these things you will be able to learn languages easier. ___ Gamers mailing list .. Gamers@audyssey.org To unsubscribe send E-mail to [EMAIL PROTECTED] You can visit http://audyssey.org/mailman/listinfo/gamers_audyssey.org to make any subscription changes via the web.
Re: [Audyssey] Another perspective on programming games
Hi Ken, Well, both are pretty easy scripting languages, but I really enjoy the power and flexability of python 2.5. I know of complete screen readers, such as Orca for Linux, which is written almost completely in python, and is scriptable using external py scripts. I also like the fact python is very object oriented in design. There are quite a few modules you can get for creating games, accessing sapi, for python for Windows, and you might want to scope them out. Ken the Crazy wrote: Which of these languages is easiest to learn, python or ruby, which is less verbose, and which is more powerful? Ken Downey President DreamTechInteractive! ___ Gamers mailing list .. Gamers@audyssey.org To unsubscribe send E-mail to [EMAIL PROTECTED] You can visit http://audyssey.org/mailman/listinfo/gamers_audyssey.org to make any subscription changes via the web.
Re: [Audyssey] Another perspective on programming games
Replying to both of these messages because I seem to have missed one. On Jan 15, 2007, at 2:35 AM, shaun everiss wrote: I have the vb stuff but another language would be cool. What restrictions is ruby over say c#? A bit slower, but audio games are generally not as demanding as their graphical counterparts. You're also restricted to distributing the source with your applications as both are interpreted, though there are utilities for both to convert the scripts to windows executables. At 08:52 p.m. 15/01/2007, you wrote: that sounds a whole lot easier. if i remember that looks like ruby code, as i've seen the midi scripter that emanuel borsboom wrote in ruby, and to script midi uses lines like that. Yeah, that's one of the more advanced features that I like--you can design what are called domain-specific languages, mini-programming languages for doing very specific tasks. See, for instance, how I'm defining game menus in the game I'm planning to release after Torrent: menu do menu(Start game) do item(Easy) do WaveManager.difficulty = WaveManager.Easy Game.start end item(Hard) do WaveManager.difficulty = WaveManager.hard Game.start end end item(Configure) do end item(Exit) do Game.shutdown end end What I've done here is define a game menu with three items--Start game, Configure and Exit. The Start game menu item brings up a submenu with two items, Easy and Hard. Each of these sets WaveManager.difficulty appropriately and starts the game. The Configure item does nothing for now. Exit shuts down the game. Now, none of that is standard Ruby. I'm basically developing my own mini-language for defining menus from within Ruby itself, and it's super easy. This is also very easy to extend to something like, say, game entity scripting, so you can easily develop mini-languages for creating missions, levels, etc.: ship do name = CNV Titan position = [100, 200, 0] speed = 0 mode = :peaceful end or something similar. The possibilities are quite exhaustive for what can be accomplished with domain-specific languages. Anyhow, as I stated, that's a rather advanced feature of Ruby, but it gives you some sense of what is possible. It's an easy language, but no toy or Kids Programming Language. :P however, i didn't realise ruby could actually be coded in windows. i tried to download ruby but all i got was the interpreter. it didn't include any docs on how to script it or anything. Yeah, that's all there is to it. For a good introductory book, see: http://rubycentral.com/book and you say it can interface to dx? wow! No, I didn't say that. As far as I know, it can't. It does, however, work nicely with SDL which is a DirectX alternative. ___ Gamers mailing list .. Gamers@audyssey.org To unsubscribe send E-mail to [EMAIL PROTECTED] You can visit http://audyssey.org/mailman/listinfo/gamers_audyssey.org to make any subscription changes via the web.