General game design needs to be reexamined -- for everyone

Started by
8 comments, last by supervlad 17 years, 4 months ago
Hey guys, Doesn't it seem that we keep reiventing the wheel? We're always creating "Frameworks" and whatnot to help us cope with the GIANT that is game programming using C/C++ and DirectX/OpenGL. Deep down we know, though, that no matter how well designed our framework is, we can't fake the complexity of C/C++, or do away with the nasty aspects inherent with those languages(pointer to pointer, anyone). I few years ago, after much deliberation, I realized that the best, most elegant solution to this recurring problem would be to create a new game platform all together. Only this way could the whole design be tailored for game programming. This meant that I would be designing software I had never written before. Let's face it, we need a programming language just for game programming; one that is designed for humans, not computers; one that has native support common issues we face when designing games -- think native classes for cameras, models, special effects, sound, networking, along with automatic scene management, instant cross platform, builtin memory management, etc -- all simplified to their most basic form, yet retaining the raw power. Isn't that what we need? Damn it, we're computer engineers, it is our duty to device things like this. We should be astriving to design tools that will gain the respect of future engineers; tools that would allow non-gifted programmers (see John Carmack) to turn their vision into realities without spending years learning the tools needed to do it. This has to be done, there's no way around it. Fortunately I started the effort a few years ago. Now, I can finally release a 0.0.1-PreAlpha version of the Bolt Platform. The foundation is now set. However, althought the project is a few years old, it is still in its infancy. I have also purposedly left out many of the high level details( including most aspects of the programming language) because I feel I must consort with the community if this is really to be a community platform. If we can all put a little effort, we can all get big results. the Bolt Platform's home is located at http://www.agoba.com Please, at least take a look at the project, even if only to give it your critique. Thanks, vl@d
Advertisement
I guess many people will agree with you concerning the need for such a platform, on the other hand, combining dependencies such as OpenAL, SDL, OSG, ODE and an embedded scripting interpreter of your choice, you'll basically end up with a fairly powerful generic framework
it looks fairly interesting, however it's admittedly hard to get a comprehensive impression based on what you provided on the website, at least as long as you don't intend to directly download, compile, read the source code.

I think you could make it easier to get people interested by providing the source code itself via the website in a browser-readable fashion, i.e. the DoxyGen sources. Also, providing various real life examples - possibly syntax-highlighted- would probably be a good idea, too.

BTW: the youtube.com link doesn't work
You're big on marketing speak but low on results. Your sample script doesn't look too inspiring, appearing much like C# but with superfluous dollar signs on the variables. Do you have any idea how you're going to achieve any of this?
Quote:Original post by supervlad
Deep down we know, though, that no matter how well designed our framework is, we can't fake the complexity of C/C++, or do away with the nasty aspects inherent with those languages(pointer to pointer, anyone).

Eh? I never used a pointer to pointer, unless it was required by one of my libraries (Win32).

Quote:I few years ago, after much deliberation, I realized that the best, most elegant solution to this recurring problem would be to create a new game platform all together. Only this way could the whole design be tailored for game programming.

Why is this? What advantages does it provide over a library written in a general-purpose language? DSLs tend to die quite fast.

Quote:Let's face it, we need a programming language just for game programming;

Why, you keep stating these things, as though they were obvious, but I doubt many people agree.

Quote:one that is designed for humans, not computers; ... retaining the raw power.

Current techniques doesn't allow us to retain raw power and still make a language for humans, also what is meant by a language for humans? Just a high-level language? Something like a natural language?

Quote: one that has native support common issues we face when designing games -- think native classes for cameras, models, special effects, sound, networking, along with automatic scene management, instant cross platform, builtin memory management, etc -- all simplified to their most basic form, yet retaining the raw power.

All this is easy to create in a general-purpose language.

Quote:We should be astriving to design tools that will gain the respect of future engineers;

And you believe you will do that? Have you considered concurrency? If not then you don't have a huge chance of gaining the respect of future engineers.

Quote:tools that would allow non-gifted programmers (see John Carmack) to turn their vision into realities without spending years learning the tools needed to do it.

Are you implying John Carmack aren't gifted? He might not be the best, but he certainly is gifted.

Quote:This has to be done, there's no way around it.

Sure there is, many. DSLs written in a general-purpose language for example.

How are we supposed to criticize the actual project? We have no information at all, all we know is that you don't believe libraries is sufficient, however according to you a separate DSL would have lots of advantages, you just haven't mentioned them yet.

Would you mind pointing us to some documentation about your project, a commercial isn't enough.

I know your source is open, but very few people have time to figure out how to make it work with no documentation.
It sounds like you're talking about a game engine with a scripting language along the lines of UnrealScript, no?
Wake UP
[ my blog ]
Yeah it is called XNA...

theTroll...
What advantages, exactly, does bluring the line between game engine and language bring you? I'm not seeing it. Your example script certainly dosn't illustrate this (and also hints at the wrong kind of OOP - Object Obsessed Programming). Such FAQ entries as "Think of a pleasant combination of PHP/Java/ActionScript" alone are enough to scare me off - "(their good aspects)" or not. My thoughts are roughly "What good aspects?" and "What you think their good aspects are.", in that order. Given your earlier snippet, and given how much even professionals screw things up at times, quite frankly, I don't trust what you think. I need convincing with actual examples illustrating it's strengths, rather than some fancy hogwash about the language somehow abstracting away more details than an equivilant game engine.

Because as is, if I'm going to contribute to some community effort, I'd rather focus on a game or graphics engine that:
1) Won't distract me with helping implement and develop on an alpha language.
2) Allows me to use my existing codebases of library code.
3) Has a better chance at community adoption, as the two points above would infulence others even if they didn't infulence me.

Or, you know, one of the more mature "game centric language" wheels that you've reinvented (DarkBASIC anyone? I'm sure there's numerous OSS equivilants, at least of comprable progress to your own project).
@ anynymous poster
Quote:
I guess many people will agree with you concerning the need for such a platform

Undoubtedly, the need exists.
Quote:combining dependencies such as OpenAL, SDL, OSG, ODE and an embedded scripting interpreter of your choice, you'll basically end up with a fairly powerful generic framework

This is correct, to an extent. It would be more accurate to say "A fairly powerful language generic enough to create any game"

@ other anynymous poster
Quote:
it looks fairly interesting, however it's admittedly hard to get a comprehensive impression based on what you provided on the website, at least as long as you don't intend to directly download, compile, read the source code.

I think you could make it easier to get people interested by providing the source code itself via the website in a browser-readable fashion, i.e. the DoxyGen sources. Also, providing various real life examples - possibly syntax-highlighted- would probably be a good idea, too.

Thank you. This is precisely the kind of feeback I'm looking for.

@ Kylotan
Quote:
Your sample script doesn't look too inspiring, appearing much like C# but with superfluous dollar signs on the variables.

There's a reason why Microsoft, Sun, Zend, Adobe/Macromedia, AT&T chose similar syntax for C#/java/PHP/ActionScript/C++ -- because they work. The goal isn't to create a new model for a language, but to improve on the models set forth by our predecessors, which have amassed combined centuries worth of man hours creating it for us. If we choose to ignore what they have done, we would just be wasteful and foolish.

@Ctar
Quote:
Eh? I never used a pointer to pointer, unless it was required by one of my libraries (Win32).

So you have used it, good to know.
Quote:
What advantages does it provide over a library written in a general-purpose language? DSLs tend to die quite fast.

Sure, you could use a rock to hammer a nail, but if we spend the time to create the hammer, it would end up saving us countless hours worth of work(not to mention painful joints). I don't know why DLSs (I assume this is "Domain Specific Language") die often, but the ones that survive tend to change history(see PHP, ActionScript).


@ 3rd anonymouse poster.
Quote:
It sounds like you're talking about a game engine with a scripting language along the lines of UnrealScript, no?

Basically, yes.


Overall, thanks for the comments, guys. I realize that I haven't covered all the bases you guys would like, but you guys remember that "Even a 1000 mile journey must start with a single step". I'm committed to finish this journey, I can only hope you guys continue to provide constructive support.

PS. I know the youtube link doesn't work yet. I'm looking for a screen capture software for Linux. This is a place holder for now. It will be up soon.

This topic is closed to new replies.

Advertisement