Perl + C++ = ???

Anything related in any way to game development as a whole is welcome here. Tell us about your game, grace us with your project, show us your new YouTube video, etc.

Moderator: PC Supremacists

Post Reply
User avatar
derbon
Chaos Rift Cool Newbie
Chaos Rift Cool Newbie
Posts: 54
Joined: Tue Jun 09, 2009 7:25 pm
Current Project: Big Nasty Enemies
Favorite Gaming Platforms: NES SMS snes PC N64 PS2 Vectrex The Arcade Machine
Programming Language of Choice: C++, Perl
Location: why shud i tell u u mite steal my tv
Contact:

Perl + C++ = ???

Post by derbon »

Guten Tag, I want to learn how to use Perl and C++/Allegro so then the scripts can be used in the program.
so like how do i do that. YO!

like what falco and kendal are going to use what peter does in lua

like how do i do that
:)
i think the best paint program would be microsoft paint + paint.NET+graphics gale + Paint shop Pro 7 + photoshop CS3, it would be called Paint Gale Pro Shop.NET,

http://youtube.com/gonduda
User avatar
Dever98
Chaos Rift Newbie
Chaos Rift Newbie
Posts: 3
Joined: Thu Oct 08, 2009 6:21 am
Current Project: Small engine for the gameboy advace
Favorite Gaming Platforms: NES PC I love gameboy advance
Programming Language of Choice: C++

Re: Perl + C++ = ???

Post by Dever98 »

Well from what I remember I think falco re-wrote lua into the engine BUT I've seen libarys that let you use lua and perl in C/C++
I'll see if I can get some links for you.
User avatar
hurstshifter
ES Beta Backer
ES Beta Backer
Posts: 713
Joined: Mon Jun 08, 2009 8:33 pm
Favorite Gaming Platforms: SNES
Programming Language of Choice: C/++
Location: Boston, MA
Contact:

Re: Perl + C++ = ???

Post by hurstshifter »

derbon wrote:Guten Tag, I want to learn how to use Perl and C++/Allegro so then the scripts can be used in the program.
so like how do i do that. YO!

like what falco and kendal are going to use what peter does in lua

like how do i do that
:)

looks like a job for google
http://tinyurl.com/yhwdwgy
"Time is an illusion. Lunchtime, doubly so."
http://www.thenerdnight.com
User avatar
Dever98
Chaos Rift Newbie
Chaos Rift Newbie
Posts: 3
Joined: Thu Oct 08, 2009 6:21 am
Current Project: Small engine for the gameboy advace
Favorite Gaming Platforms: NES PC I love gameboy advance
Programming Language of Choice: C++

Re: Perl + C++ = ???

Post by Dever98 »

User avatar
avansc
Respected Programmer
Respected Programmer
Posts: 1708
Joined: Sun Nov 02, 2008 6:29 pm

Re: Perl + C++ = ???

Post by avansc »

http://lua-users.org/wiki/LuaVersusPerl

id look at this first.

perl is much better than lua for lets say doing things in a commercial environment. datamining, etc.
but lua i believe is one of the if not the fastest interoperated languages, which makes it good for something like games.

it all depends what you wanna do with it. but you will be fine with lua in most cases.
Some person, "I have a black belt in karate"
Dad, "Yea well I have a fan belt in street fighting"
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: Perl + C++ = ???

Post by Falco Girgis »

Perl is meant for things like text manipulation, server-side scripting, CGI, and web-based applications. Lua was designed specifically to be embedded within C/++ applications. Lua is one of the fastest (the fastest that I know of) scripting language. Perl is one of the slowest.

Lua was written to be an embeddable scripting language. Perl was written to be a full-fledged standalone interpreted language.

If you plan to embed Perl into a C++ application, you can plan on enjoying shittier speeds and probably a harder time integrating the script with your application.

With that being said, if your application doesn't happen to be a game or isn't running on an embedded system, go for it. Just remember kiddies, programming languages have specific strengths and weaknesses by design. If there were a language that was good at everything, we would all be using it. You don't need to just be embedding <insert language here> just because you like the name or syntax.

So embedding Perl in a C++ application is not a bad idea. You stand to gain a lot from the power of Perl, but depending on what you want to do, it could be a dumb idea.
User avatar
Trask
ES Beta Backer
ES Beta Backer
Posts: 738
Joined: Wed Oct 29, 2008 8:17 pm
Current Project: Building a 2D Engine
Favorite Gaming Platforms: Sega Genesis and Xbox 360
Programming Language of Choice: C/C++
Location: Pittsburgh, PA
Contact:

Re: Perl + C++ = ???

Post by Trask »

Interesting that you say all that Falco, considering that Perl was being used in ES at first, if I remember correctly. Did you guys know of the limitations of Perl and game dev at the time or did you learn about them as you went along and discovered Lua as a result?

I\\\'m just asking as a curious viewer, tis all, no sarcasm meant if it comes across that way. I personally didn\\\'t even look into scripting languages with game development until I started following you guys... it just never came up.
MarauderIIC wrote:You know those people that are like "CHECK IT OUT I just made Linux run on this piece of celery [or other random object]!!"? Yeah, that's Falco, but with ES.
Dear god, they actually ported ES to a piece of celery!
Martin Golding wrote: "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: Perl + C++ = ???

Post by Falco Girgis »

You have it all wrong.

We never used Perl as an embedded language. We used it as the language to create tools and support the development of the game. That's something that it's good at, and that's something that we still use it for to this day.

Perl was never used to do what we now use Lua to do. And there aren't "limitations" of Perl--consider the fact that it is EXTREMELY more capable than Lua. Lua doesn't have a 10th the capabilities that Perl does, but Perl was never meant to be an embedded scripting language.
User avatar
Trask
ES Beta Backer
ES Beta Backer
Posts: 738
Joined: Wed Oct 29, 2008 8:17 pm
Current Project: Building a 2D Engine
Favorite Gaming Platforms: Sega Genesis and Xbox 360
Programming Language of Choice: C/C++
Location: Pittsburgh, PA
Contact:

Re: Perl + C++ = ???

Post by Trask »

Duh, that\'s right. Thinking back on it, it was used for tools... maybe I was thinking about the level editor, I believe that there was a time when Peter\'s scripts were doing jobs that the level editor couldn\'t/wouldn\'t. Even then, it didn\'t touch the engine in that regard.

Is Perl being used at all anymore? For tools and such in ES?
MarauderIIC wrote:You know those people that are like "CHECK IT OUT I just made Linux run on this piece of celery [or other random object]!!"? Yeah, that's Falco, but with ES.
Dear god, they actually ported ES to a piece of celery!
Martin Golding wrote: "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
User avatar
dandymcgee
ES Beta Backer
ES Beta Backer
Posts: 4709
Joined: Tue Apr 29, 2008 3:24 pm
Current Project: https://github.com/dbechrd/RicoTech
Favorite Gaming Platforms: NES, Sega Genesis, PS2, PC
Programming Language of Choice: C
Location: San Francisco
Contact:

Re: Perl + C++ = ???

Post by dandymcgee »

Trask wrote: Is Perl being used at all anymore? For tools and such in ES?
GyroVorbis wrote:We used it as the language to create tools and support the development of the game. That's something that it's good at, and that's something that we still use it for to this day.

Code: Select all

#---------------------
# Peter's DevCock
# Deadsky Dreamcast
# NPC Maker
# 1/15/08
#---------------------
;)
Falco Girgis wrote:It is imperative that I can broadcast my narcissistic commit strings to the Twitter! Tweet Tweet, bitches! :twisted:
User avatar
Trask
ES Beta Backer
ES Beta Backer
Posts: 738
Joined: Wed Oct 29, 2008 8:17 pm
Current Project: Building a 2D Engine
Favorite Gaming Platforms: Sega Genesis and Xbox 360
Programming Language of Choice: C/C++
Location: Pittsburgh, PA
Contact:

Re: Perl + C++ = ???

Post by Trask »

I read that at work, didn't catch that line. Thanks ;)
MarauderIIC wrote:You know those people that are like "CHECK IT OUT I just made Linux run on this piece of celery [or other random object]!!"? Yeah, that's Falco, but with ES.
Dear god, they actually ported ES to a piece of celery!
Martin Golding wrote: "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
User avatar
Pyrogre
Chaos Rift Newbie
Chaos Rift Newbie
Posts: 2
Joined: Sun Oct 18, 2009 2:41 am

Re: Perl + C++ = ???

Post by Pyrogre »

Perl is actually a pretty zippy language itself compared to the other popular scripting languages. I've seen it beat Python, PHP, and Ruby by considerable amounts in a benchmark I read online on a blog somewhere (I READ IT ONLINE!! ON A BLOG!! so it must be true z0mg)! But realistically take that with a grain of salt anyways, because the benchmarks were for server side scripting producing a web page (something Perl excels at).

For the PC and modern gadgets, they're all going to be pretty quick languages. Except PHP, which comedically failed miserably, taking last place by a mile in the benchmark I refer to. It's especially funny considering PHP is specifically built for web development and was the only language that was actually embedded right into the apache http server instead of being run through some kind of CGI layer. You can't really go wrong with any general-purpose scripting language to be honest though. It'd be interesting to compare their performance in an environment like the Dreamcast where you're limited to a small amount of memory and processing power.

I'll also just point out that Perl has been embedded in C++ games with great success, so it's definitely doable if you want to go that route. EQEmulator, a pirate bootleg server emulator for Sony's uber leet bestest MMO ever ever EverQuest, uses Perl exclusively for it's quest system. As you can read in their wiki, it is just as robust as the Lua wrappers for Elysian Shadows are/can be (albeit implemented in different ways, since it is manipulating server data and not really doing anything on the client-side [except through packets it ends up sending through the server engine], but the point still stands because you can still do a ton of powerful shtuff with it).

When it really comes down to it, Python > all! :twisted: Although I may take another look at Lua if it really is as light-weight and awesome as you people lead on, I'm a stickler for performance.

Now my personal opinion... don't use perl. Or PHP. Or lisp. At least for this purpose.

hint: python
User avatar
eatcomics
ES Beta Backer
ES Beta Backer
Posts: 2528
Joined: Sat Mar 08, 2008 7:52 pm
Location: Illinois

Re: Perl + C++ = ???

Post by eatcomics »

I have to say that I'm impressed with what I've seen done with python and pygame, I'm prolly gonna start learning it and try and see what it can do on the iPod touch :)
Image
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: Perl + C++ = ???

Post by Falco Girgis »

Pyrogre wrote:I'll also just point out that Perl has been embedded in C++ games with great success, so it's definitely doable if you want to go that route. EQEmulator, a pirate bootleg server emulator for Sony's uber leet bestest MMO ever ever EverQuest, uses Perl exclusively for it's quest system. As you can read in their wiki, it is just as robust as the Lua wrappers for Elysian Shadows are/can be (albeit implemented in different ways, since it is manipulating server data and not really doing anything on the client-side [except through packets it ends up sending through the server engine], but the point still stands because you can still do a ton of powerful shtuff with it).
I hope you realize what a flawed comparison this is.

You're comparing a scripting language processing something at the server-side to a scripting language embedded into an application (that could potentially be running on a microprocessor) on the client side.

These two aren't even comparable. Sure, you can do the same things that we do with Lua in the ES Engine with Perl (or any other scripting language of your choice). But no, it wouldn't run a tenth the speed or be a tenth as efficient to implement. Lua was designed with these tasks in mind.
User avatar
avansc
Respected Programmer
Respected Programmer
Posts: 1708
Joined: Sun Nov 02, 2008 6:29 pm

Re: Perl + C++ = ???

Post by avansc »

dont know where too put this. but anyways. falco. i tested out some ocaml shit. and its amazingly fast. significantly faster than lua.
i was surprized.. thought id just share that.

i know you can compile ocaml. but i did all the rest as interpreted only.
Some person, "I have a black belt in karate"
Dad, "Yea well I have a fan belt in street fighting"
Post Reply