The site is totally hammered right now but I managed to grab a copy and get a feel for what's in this. There's some truly exciting stuff to comb through since it's a well-used engine with a lot of history, not someone's hobby hack.
What I've seen so far:
A custom scripting language(GDScript) which is roughly Python-esque. The wiki explains that after trying the other common choices(Lua, Squirrel, Angelscript) over a period of years, they rolled their own solution that could be more closely integrated to the engine.
An in-editor help, it has some API docs.
Classes for GUI controls, including layout containers.
A fairly rich audio API, including positional audio, streamed audio, common sample playback controls(pan, volume, pitch, looping), and some effects(reverb, chorus, frequency filter).
Some networking functionality, including HTTP, TCP, and UDP(unclear?) mechanisms.
Keyboard, joystick, mouse, and touchscreen input classes.
And of course lots of rendering and physics-related stuff, including various shapes, cameras, meshes, sprites, animation, tilemaps, texture atlasing, internationalized fonts, particle systems, and multiple viewports.
One specific reason why they rolled a custom scripting language is that they needed vector/matrix types (i.e. vector3f, etc) exposed to scripts, and adding those through an interface like cpython or lua's embedding api would have produced scripts that were incredibly slow at manipulating vectors. Presumably luajit might have fixed this, but I can understand that they didn't go that far.
It looks pretty neat. I'm leery about their custom scripting language, but it at least sounds pretty bulletproofed. I'm interested in how much (if any) of the lower layers of their system are separated out from the higher ones; I'm more interested in how those layers could be used with my own engine than theirs itself.
The problem with these things is, they show you screenshots of the types of games you can supposedly make, but that is literally nothing to do with the game engine itself. That's art assets, which are a whole other ball of wax.
Most of these games, the programming itself is trivial. If you can't hack it together in Java without a game engine, then you're not going to be able to hack it together in the game engine.
If you want to make casual indie games that look great, you need to be focusing on your artwork, and how to make artwork that works well in games.
And for the love of god, do not neglect sound until the last minute. Good sound in a game can be as complex to create and program as graphics. You absolutely must develop it in tandem with the rest of your program. We are so focused on visuals, but bad sound will ruin a game more certainly than bad visuals, just as bad sound will ruin a movie more certainly than bad camera work. Bad visuals could be a stylistic choice, but bad sound never is.
Any suggestions on where to start with the artwork for a complete newbie? I'm very interested in game programming but the artwork has somewhat discouraged me for quite a bit.
Just playing around with this.... cross platform, doesn't try and be a "no programming required" environment, GDScript looks good enough. Whole env is intuitive. The live docs are decent. A couple of minutes in and I'm already making something. This is pretty damned cool!
Phaser, which uses the really awesome pixi.js rendering engine, can read in files from Tiled, the map editor, and Spine animations. No 3d really as such but pixi.js does have a webgl renderer that lets you add in glsl "filters" and has some built in.
I'm also curious about this. Ideally I'd like to find an engine which allows to develop a game in browser and then port it into a mobile app. I found this link through Google which lists available JS/HTML5 engines:
[https://github.com/bebraw/jswiki/wiki/Game-Engines]. It'd be great if anybody can make recommendations out of their experience.
It's not there yet, but we're working hard to make it happen at gootechnologies.com. Main focus is 3D games for now, but we're going to attack 2d in early summer.
Right now you can prepare your scenes and do some basic interaction, but to make a full game you'd export the scenes and code javascript directly against our goo engine.
It's still in private beta, but if you PM I might be able to speed things up.
I don't actually have any experience with it, but Monkey X looks like a nice way of creating HTML5 games (and cross platform) quickly: http://www.monkeycoder.co.nz/
The guy who coded it wrote the language I first learned to programme on (Blitz Basic, back on the Amiga in 1992 or so).
Has support for most things you'll want (3D, input, sound etc).
Sorry to go off on a tangent. I've only been into (indie) game development for the last year or so.
It looks to me like game development has lagged behind web development by decade or so in terms of the democratization of tools. Free (as in beer) and open source game development software have grown by leaps and bounds over the last few years. Unity, GameMaker, Unreal/UDK, Anarchy, many many others have become both viable and available.
In the 90's and early naughts, did web developers regularly write their own servers, templating engines, databases, and all else that goes into web development? Didn't game developers more-or-less have to write the whole thing from scratch or license an expensive engine?
These are not rhetorical questions. I'd love to hear the perspective of someone more knowledgeable than me.
Web development has stayed pretty democratic since the early days because there is a small number of people pushing technological boundaries while the vast majority work in a well understood space.
Game development has consistently been the opposite: in a race to better graphics, better physics, bigger and better everything, game complexity has only gone up. Companies are working with tech that is not open to access by "mere mortals" because they are often proprietary hardware from Microsoft/Sony/AMD/nVidia. As a result of the technological arms race, there is a LOT of platform fragmentation in the graphics world.
So the problem is that game development is consistently a "big team" task, and industry expertise is monopolized by companies. Tech trickles down very slowly to hobbyists, so while there are engines for the rest of us to use, they don't benefit from the kind of industry battle-testing that web technologies get.
Game engines like Unity and Godot seem to be changing this a little bit by simplifying game development - standardizing complexity by abstracting away low level optimization concerns that you'd really only care about when you need to push technological boundaries. But in general the concept of "convention over configuration" and its related ideas hasn't really caught on, so there isn't even a standard way of thinking about game engines.
The last thing to consider is how much more complex games are than web. Web is mostly a mixture of 2-D graphics and user input handling code. Games are often 3-D graphics (3-D is just much harder than 2-D), often have more algorithmically complex input problems, require audio, and sometimes require real-time networking for multiplayer (web can tolerate latency better). There's just a lot more in there.
Another problem: because of performance requirements, the vast majority of the core libraries for physics, graphics, etc. are written in C++. C++ is not easy to pick up.
Has anybody managed to run it on linux? I must be missing something obvious, but I don't know what to do once I downloaded it. Running `upx -d godot_x11.64` as mentioned on the download page doesn't do anything.
I have never done game programming. Can anyone recommend whether it is easier to pick this up compared to Unity? Also, isn't Unity expensive [edit: for a newbie]?
[+] [-] chipsy|12 years ago|reply
What I've seen so far:
A custom scripting language(GDScript) which is roughly Python-esque. The wiki explains that after trying the other common choices(Lua, Squirrel, Angelscript) over a period of years, they rolled their own solution that could be more closely integrated to the engine.
An in-editor help, it has some API docs.
Classes for GUI controls, including layout containers.
A fairly rich audio API, including positional audio, streamed audio, common sample playback controls(pan, volume, pitch, looping), and some effects(reverb, chorus, frequency filter).
Some networking functionality, including HTTP, TCP, and UDP(unclear?) mechanisms.
Keyboard, joystick, mouse, and touchscreen input classes.
And of course lots of rendering and physics-related stuff, including various shapes, cameras, meshes, sprites, animation, tilemaps, texture atlasing, internationalized fonts, particle systems, and multiple viewports.
[+] [-] kevingadd|12 years ago|reply
[+] [-] eropple|12 years ago|reply
[+] [-] azakai|12 years ago|reply
> One-Click deploy to several platforms, such as Windows, Linux, Mac, Android, iOS, BB10 and HTML5.
[+] [-] xacaxulu|12 years ago|reply
[+] [-] sjwright|12 years ago|reply
http://en.wikipedia.org/wiki/Waiting_for_Godot
(P.S. not what, but who.)
[+] [-] vram22|12 years ago|reply
[+] [-] moron4hire|12 years ago|reply
Most of these games, the programming itself is trivial. If you can't hack it together in Java without a game engine, then you're not going to be able to hack it together in the game engine.
If you want to make casual indie games that look great, you need to be focusing on your artwork, and how to make artwork that works well in games.
And for the love of god, do not neglect sound until the last minute. Good sound in a game can be as complex to create and program as graphics. You absolutely must develop it in tandem with the rest of your program. We are so focused on visuals, but bad sound will ruin a game more certainly than bad visuals, just as bad sound will ruin a movie more certainly than bad camera work. Bad visuals could be a stylistic choice, but bad sound never is.
[+] [-] Legend|12 years ago|reply
[+] [-] countersixte|12 years ago|reply
[+] [-] unknown|12 years ago|reply
[deleted]
[+] [-] malbs|12 years ago|reply
[+] [-] mariocesar|12 years ago|reply
[+] [-] jebblue|12 years ago|reply
[+] [-] wikiburner|12 years ago|reply
What would the framework of choice be for a browser-based multiplayer game?
[+] [-] TheZenPsycho|12 years ago|reply
[+] [-] um304|12 years ago|reply
[+] [-] daredevildave|12 years ago|reply
We've got the game-building stuff covered, with Javascript engine and designer tools.
And a few of our users are pushing the multiplayer part of it e.g.
http://apps.playcanvas.com/playcanvas/scifi/latest
http://boxes.moka.co/
[1]http://playcanvas.com/
[+] [-] hmbg|12 years ago|reply
Right now you can prepare your scenes and do some basic interaction, but to make a full game you'd export the scenes and code javascript directly against our goo engine.
It's still in private beta, but if you PM I might be able to speed things up.
[+] [-] adrianoconnor|12 years ago|reply
The guy who coded it wrote the language I first learned to programme on (Blitz Basic, back on the Amiga in 1992 or so).
Has support for most things you'll want (3D, input, sound etc).
[+] [-] Nr7|12 years ago|reply
[+] [-] malbs|12 years ago|reply
[+] [-] doyoulikeworms|12 years ago|reply
Sorry to go off on a tangent. I've only been into (indie) game development for the last year or so.
It looks to me like game development has lagged behind web development by decade or so in terms of the democratization of tools. Free (as in beer) and open source game development software have grown by leaps and bounds over the last few years. Unity, GameMaker, Unreal/UDK, Anarchy, many many others have become both viable and available.
In the 90's and early naughts, did web developers regularly write their own servers, templating engines, databases, and all else that goes into web development? Didn't game developers more-or-less have to write the whole thing from scratch or license an expensive engine?
These are not rhetorical questions. I'd love to hear the perspective of someone more knowledgeable than me.
[+] [-] munchbunny|12 years ago|reply
Game development has consistently been the opposite: in a race to better graphics, better physics, bigger and better everything, game complexity has only gone up. Companies are working with tech that is not open to access by "mere mortals" because they are often proprietary hardware from Microsoft/Sony/AMD/nVidia. As a result of the technological arms race, there is a LOT of platform fragmentation in the graphics world.
So the problem is that game development is consistently a "big team" task, and industry expertise is monopolized by companies. Tech trickles down very slowly to hobbyists, so while there are engines for the rest of us to use, they don't benefit from the kind of industry battle-testing that web technologies get.
Game engines like Unity and Godot seem to be changing this a little bit by simplifying game development - standardizing complexity by abstracting away low level optimization concerns that you'd really only care about when you need to push technological boundaries. But in general the concept of "convention over configuration" and its related ideas hasn't really caught on, so there isn't even a standard way of thinking about game engines.
The last thing to consider is how much more complex games are than web. Web is mostly a mixture of 2-D graphics and user input handling code. Games are often 3-D graphics (3-D is just much harder than 2-D), often have more algorithmically complex input problems, require audio, and sometimes require real-time networking for multiplayer (web can tolerate latency better). There's just a lot more in there.
Another problem: because of performance requirements, the vast majority of the core libraries for physics, graphics, etc. are written in C++. C++ is not easy to pick up.
[+] [-] archagon|12 years ago|reply
EDIT: Sorry if this sounded sarcastic. I was genuinely curious. Always happy to see a new engine out in the open!
[+] [-] pjmlp|12 years ago|reply
- you are not stuck with .NET 3.5
- you can use Linux as your development environment
- you have the full package, instead of the various SKUs
On the other hand, if you have Unity experience, it is a plus in the industry.
[+] [-] Gusfoo_2|12 years ago|reply
For my industry (gambling) Unity costs $200K/title. Price gouging IMO but it's their business to charge what they like.
[+] [-] SomeCallMeTim|12 years ago|reply
[+] [-] pikachu_is_cool|12 years ago|reply
Freedom.
[+] [-] negamax|12 years ago|reply
https://github.com/okamstudio/godot/blob/master/core/error_l...
[+] [-] tantalor|12 years ago|reply
https://github.com/okamstudio/godot/blob/0b806ee0fc9097fa7bd...
[+] [-] lee337|12 years ago|reply
This looks amazing!
[+] [-] al_dente|12 years ago|reply
[+] [-] ekianjo|12 years ago|reply
[+] [-] pavlov|12 years ago|reply
https://github.com/okamstudio/godot/tree/master/platform
[+] [-] rdtsc|12 years ago|reply
Very impressive project. I looked at the code in core folder and it looks very clean and there are is a lot of good stuff in there.
[+] [-] S4M|12 years ago|reply
[+] [-] recentdarkness|12 years ago|reply
[+] [-] beefsack|12 years ago|reply
[+] [-] Legend|12 years ago|reply
[+] [-] j_s|12 years ago|reply
> Unity Free is free for any individual to use
Feature comparison: http://unity3d.com/unity/licenses
[+] [-] CmonDev|12 years ago|reply
[+] [-] nunodonato|12 years ago|reply
[+] [-] klrr|12 years ago|reply
[+] [-] hpcorona|12 years ago|reply
Congrats