What's up guys?

Feel free to talk about anything and everything in this board.
nil
Halo Moderator
Halo Moderator
Posts: 1090
Joined: Sat Jul 05, 2008 8:38 am
Location: null zone

Re: What's up guys?

Post by nil » Fri Jul 26, 2013 12:59 pm

The dedicated server software we use for halo actually uses lua for scripting. Some of my older stuff uses python for scripting. Lua and other types of languages you consider 'hacky' are meant for developing quickly. Personally I prefer video games that are far away from realism otherwise it's boring. Unity is another game engine that I'd recommend checking out that I've used.
I am no longer active to Halo or MGM, and don't guarantee a response on the forums or through email. I will however linger around the discord room for general chatting. It's been fun!

WaeV
Peon
Posts: 126
Joined: Tue Aug 28, 2012 11:21 pm
Contact:

Re: What's up guys?

Post by WaeV » Fri Jul 26, 2013 2:47 pm

nil wrote:Lua and other types of languages you consider 'hacky' are meant for developing quickly.
Mm, this is what I like about them.

Excuse me if I ramble too much about these things; I'm a huge programming languages nerd:
  • "The difference between Lisp and Java, as Paul Graham has pointed out, is that Lisp is for working with computational ideas and expression, whereas Java is for expressing completed programs. As James Gosling says, Java requires you to pin down decisions early on. And once pinned down, the system make it as hard as it can for you to change those assumptions, on the assumption that all such changes are mistakes you're inadvertently making."

    I would include Python, Ruby, Javascript, Smalltalk, and LUA along with Lisp. On the other side, C++ and C# would align with Java.
Image

hx239
Operative
Posts: 233
Joined: Mon Aug 18, 2003 3:19 pm
Location: california usa
Contact:

Re: What's up guys?

Post by hx239 » Fri Jul 26, 2013 2:50 pm

I'm well aware of the benefits of higher level languages, it's just tough for me to handle. My first real language was c++, and when that's what you're used to, languages that require you do declare something to NOT be global, or don't even have different variable types, or rely on whitespace instead of something reasonable like {} to determine where you do things, just seem hacky and strange to me. I feel dirty when I write code in those languages. I have around a year of professional unity experience, so I'm also familiar with how powerful it is =p
I can't get enough of Gargoyles.

hx239
Operative
Posts: 233
Joined: Mon Aug 18, 2003 3:19 pm
Location: california usa
Contact:

Re: What's up guys?

Post by hx239 » Fri Jul 26, 2013 2:52 pm

I would agree with most of what you said waev, minus grouping c++ in with c# and java. It is a lower level language than them, and you have far more control over what you are doing. For examplle, not being able to directly handle garbage collection or memory allocation is a huge issue to me in games, and one of my biggest issues with unity, seeing as how it uses javascript and c#.
I can't get enough of Gargoyles.

WaeV
Peon
Posts: 126
Joined: Tue Aug 28, 2012 11:21 pm
Contact:

Re: What's up guys?

Post by WaeV » Fri Jul 26, 2013 3:17 pm

Yeah, manual memory management and techniques like RAII are huge advantages of C++. There (regrettably, in my opinion ;p) isn't really an alternative for game engine development.

On the other hand, I'm so used to Python that the excessive use of {} and ; in Javascript have been driving me insane. I don't mind it so much in C#, where the tooling is really good (gotta love Visual Studio) and the rules are sane and consistent.

Rust, under development by Mozilla, seems like it could be a great replacement for C++ when it comes of age. Unfortunately it's relatively immature at the moment. But then people said the same thing about D...
Image

nil
Halo Moderator
Halo Moderator
Posts: 1090
Joined: Sat Jul 05, 2008 8:38 am
Location: null zone

Re: What's up guys?

Post by nil » Fri Jul 26, 2013 3:19 pm

Those languages still have different types, at least. Lua has some odd behaviors like global by default, and indexes start at 1. It's also in a different type of OO language by being prototype based. Anyway, the languages all still have different types at runtime, just like in C++, Java, or C# (except these languages can have both a "static" and "dynamic" type for objects).

GC is probably a problem with games, yeah, question I'd wonder is how lua's GC gets by that better than what Unity could optimize \=.
I am no longer active to Halo or MGM, and don't guarantee a response on the forums or through email. I will however linger around the discord room for general chatting. It's been fun!

hx239
Operative
Posts: 233
Joined: Mon Aug 18, 2003 3:19 pm
Location: california usa
Contact:

Re: What's up guys?

Post by hx239 » Fri Jul 26, 2013 3:58 pm

You can manage Unity's GC to a certain extent if you know Unity really really really well. Basically you have to know exactly how every single thing you make or do is interperetted and handled by Unity, and know when/how to do things that will cause garbage. It's profiler is amazing, however it often does not tell you what exactly is going on. For instance, you might just see that renderer.alpha is taking up massive amounts of cycles, but good luck figuring out what you've done that is causing that as it can be any numer of about 6 different things, and it can be in code or within the unity objects themselves.

I see it as a great tool for small companies where everyone knows what everyone else is doing, and nobody wants to create their own engine, however also remember that because it is built to handle such a broad spectrum of games, it isn't particularly amazing at any one thing, so you would always get a better and more efficient game by writing your own engine to handle things.

waev - engines are typically written primarily in C, not C++, at least in the game industry.
I can't get enough of Gargoyles.

nil
Halo Moderator
Halo Moderator
Posts: 1090
Joined: Sat Jul 05, 2008 8:38 am
Location: null zone

Re: What's up guys?

Post by nil » Sat Jul 27, 2013 9:26 am

Interesting points on Unity's performance. It's true that nobody wants to create their own 3D engine which is where Unity shines on (because it's a lot of unappealing work). I was under the impression game engines were mostly written in C++ nowadays, where C was popular in the early Quake days. Feel free to hop in our IRC channel some time = ).
I am no longer active to Halo or MGM, and don't guarantee a response on the forums or through email. I will however linger around the discord room for general chatting. It's been fun!

Post Reply

Who is online

Users browsing this forum: No registered users and 33 guests