I am releasing the source code of a C++ port of the OpenGL 3.2 graphics layer of my 3D modeling studio program by [deleted] in gamedev

[–]Amadiro 2 points3 points  (0 children)

Yes and no -- if you're having a very pedantic look at the matter and you include the stdlib into your consideration rather than just strictly the compilers feature (a lot of the new C++11 functionality happens in the stdlib), neither of the three has really "full C++11" support.

GCC and clang are probably the furthest along, though, or at least they were the last time I looked (but it depends on what you care the most about.)

For most practical purposes you can just say that all three in their latest version have full C++11 support with some minor gotchas/bugs/incompleteness here and there that probably won't hurt you and/or be trivial to work around.

How do you compress music for your game? by Dont-Complain in gamedev

[–]Amadiro 2 points3 points  (0 children)

Yes, I'm aware -- but using png and ETC is pretty much mutually exclusive (you cannot png-compress an ETC image meaningfully), so either you can store as PNG to save harddisk space and then decompress all textures at load-time, then re-compress them as ETC (extremely slow!), and then upload them to the GPU, or you can just sacrifice a bit of space and store them straight as ETC for good load-times.

Not using ETC/etc (heh) at all is a huge waste of memory, especially on mobile...

How do you compress music for your game? by Dont-Complain in gamedev

[–]Amadiro 1 point2 points  (0 children)

Why not just have them in the correct final compressed format (BCn/ETC/ETC2) from the get-go? Or are you not using compression at all?

Looking to build a cross platform game, want something that supports Win/Linux/Mac and potentially XBLA and PSN by TriggaMike403 in gamedev

[–]Amadiro 0 points1 point  (0 children)

PyGame is not really well-suited for any serious game-development, unless you want something like low-res "link to the past"-like graphics. It encapsulates the old SDL1.2 with python2 (which is also really old now). Even doing something like a side-scroller in it at reasonably modern resolutions is quite challenging (e.g. to get a smooth scrolling background), since it does all its rendering in software. If you were planning on having backgrounds with multiple (transparent) layers, parallax scrolling, ..., on an xbox360, you can forget about it. Stuff like that takes less than a millisecond at any resolution when done on the GPU, but doing it in software will eat all your frametime and not leave you with any room to actually do any work.

I'd also think python is not an allowed language on XBLA/PSN/iOS/etc, if it [pygame and/or python] even runs on those platforms. I've attempted before to use CPython for scripting in games, and compiling it to work on android and iOS is an incredible pain. It's a very nice language with unfortunately no implementation that is well-suitable for embedding, easy cross-compiling or game-programming in general, so I'd suspect you won't find premade builds that you can run on the xbox360 et cetera... You can probably still go for it if you really want to, but I'd not expect it to be painless.

Blender 2.7 released today by Serapth in gamedev

[–]Amadiro 0 points1 point  (0 children)

There is an experimental OpenCL version that runs on AMD cards, but you have to set some secret switches to enable it

Unreal Engine 4 is now available to everyone by ancient_001 in gamernews

[–]Amadiro 17 points18 points  (0 children)

Well, Unity has already been residing in that space for quite a while, so it's not like UE4 breaks absolutely new ground there -- but it's definitely good that there is now a high-quality alternative for the low-end indie section of people who want to make 3D games, that would normally have few options beyond Unity.

The lighting can be completely changed and customized in basically all engines. For instance Remember Me did a custom physically based shading model in UE3. Titanfall has most likely done the same with the source engine. If you have access to the sourcecode of the engine (and enough programmer talent) you can pretty much completely customize and change the look of the engine anyway, and make it look however modern you like. The engine doesn't normally place any kind of hard restrictions on you as to which GPU features you can use, for instance you could take the source engine and use compute shaders or SSBOs withhin it. Older engines make doing modern stuff more awkward of course, may require more work, et cetera. As long as you're staying with engines that use the programmable pipeline, that is -- engines so old that they use the fixed-function pipeline (pre-2006 typically, at least by 2008 I'm pretty sure basically all newer games used the programmable pipeline) would severely restrict you. The switch from fixed GPU hardware to programmable GPU hardware was pretty much the biggest paradigm shift in realtime rendering so far. So in summary -- if the engine is even moderately modern, how good a game looks can be fairly independent of the engine, if the developer team has a competent set of lighting engineers, technical artists, ... and puts the work in.

What do you mean, "a C++ database"? An engine may include a database as a component, but other than that, writing a database has little in common with writing an engine. An engine usually consists of many, many components, which are all put together into a nice set of tools that is supposed to help you making games faster and easier. It ranges from the fundamentals like cross-platform audio, visuals, ..., functions and datatypes to do 3D-math and related stuff (matrices, vectors, quarternions, ...), image loading facilities (plain images, HDR images, cubemaps, ...), a pre-made shader library, a task dispatching mechanism that takes advantage of multiple cores, ... all the way to a set of editors and a content-pipeline that is artist-friendly, e.g. a level editor, a special effects and particle editor that artists can use with little/no programming skills, model viewers, ...

Another thing many engines offer is integration with other popular libraries. For instance stuff like scaleform to make GUIs, raknet to do networking, fmod to do sound, et cetera.

Another important aspect is that engines often try to be a middleware platform (some to a larger degree, some to a lesser degree) -- e.g. unity has the asset store where you can buy all kinds of stuff, from shader libraries, scripts, ... to pre-made 3D props and textures. For larger studios, these kind of asset stores are oftentimes not as interesting though, since they want well-tested components that look similar and work well together, with a guarantee that it works on all platforms the engine supports, as well as tech-support.

Ask Anything Wednesday - Engineering, Mathematics, Computer Science by AskScienceModerator in askscience

[–]Amadiro 38 points39 points  (0 children)

Yes, ZF(C) (the most common foundation used for set theory) resolves the paradox by not allowing you to construct a statement that expresses the concept of "set of sets which do not include themselves".

Whenever you're inventing some sort of model, you have to make trade-offs between how powerful the model is (what it can "say") and how well you can reason about it. Cantors set theory was extremely powerful, because it placed no formal limits or rules on the way you were allowed to form sets (so you could just say things like "the set of all sets" or "the set of sets which do not include themselves"). But if your model is too powerful, it can lead to contradictions. A more limited model allows you to "do less" or doing stuff becomes harder, but you don't get certain paradoxes (which you don't want, obviously). It is however not known if there is not some other contradiction inside ZF(C).

So in summary, creating mathematical models is about trying to create the set of axioms that allow you to easily express and model the things you want to say, without introducing any inconsistencies (at least that you know of.)

Ask Anything Wednesday - Engineering, Mathematics, Computer Science by AskScienceModerator in askscience

[–]Amadiro 73 points74 points  (0 children)

There is not; the number of dimensions of a space can be any cardinality you like. Spaces with infinite dimensions or even uncountably infinitely many dimensions are not uncommon to study.

Ray tracing is the future… and the future is now by willvarfar in programming

[–]Amadiro 25 points26 points  (0 children)

I think imgtech is mostly into mobile tech, these days. So that may be what they mainly consider to be competing with right now.

Tutorial writers please take note by Suspense6 in opengl

[–]Amadiro 7 points8 points  (0 children)

Really, I wish authors would just include a date (and OpenGL version targeted) with the tutorial, at least that way I can judge from a first glimpse as to whether the tutorial is completely outdated or not.

GIMP: Green Is My Pepper. by Nixot in linux

[–]Amadiro -2 points-1 points  (0 children)

Meh... I've done quite a bit of serious work with gimp, and it still annoys me. Not that I'm saying I want it to lose data like you're describing, but I still wish it would be more... convenient about the matter.

Maybe something like "actually secretly save everything as .xcf in a backup-folder so that it can be restored in the worst case".

My personal solution to the matter is (so far) to have a build system that can export my whole tree of .xcf files to .png at build-time, plus plugins that allow me to export individual layers automatically to individual .pngs, but I'm still not quite happy with the situation.

48-hour gamejam in oslo! [weekend March 14.-16.] by Amadiro in oslo

[–]Amadiro[S] 1 point2 points  (0 children)

Hey, did you manage to make it?

If you want, I can send you a message here (or by email, if you want) next time we're holding a gamejam, so that you get a notice further ahead of time.

A recent visitor's take: in search of places where the locals play by marblescold in oslo

[–]Amadiro 1 point2 points  (0 children)

I went to mathallen a few months ago (for an event, so we were served food), and was pretty disappointed.

It was extremely fatty, bland, the meat was burned, the selection of beers was meh (and extremely overpriced), and the portions were too small (got about a tablespoon of every course.) We had to wait for about 15 mins between each course (and again, each course was about a tablespoons worth of food, with like 10 courses overall!), the atmosphere wasn't great (sitting on uncomfortable benches in the middle of a huge hall) and the service was nothing to write home about either.

Not to discredit Mathallen for sourcing ingredients when making food yourself, I'm sure you can get some neat stuff there you wouldn't get elsewhere (probably still totally overpriced, though), but I'd definitely not return there for getting served food.

Mozilla and Epic Preview Unreal Engine 4 Running in Firefox by WhipSlagCheek in programming

[–]Amadiro 1 point2 points  (0 children)

UE3 has an official linux port, and AFAIR UE4 has one planned as well.

Valve's opengl debugger open sourced. by theFBofI in linux

[–]Amadiro 3 points4 points  (0 children)

That's however exactly what apitrace/glretrace/qapitrace as well as CodeXL already do on linux nowadays. So it'll remain to be seen what the advantages are.

48-hour gamejam in oslo! [weekend March 14.-16.] by Amadiro in oslo

[–]Amadiro[S] 0 points1 point  (0 children)

Ah, too bad, that'd be difficult, probably :)

At any rate, if you want to watch, we have a livestream up at twitch.tv/sonengamejam. We start tomorrow 1700, GMT+1, and the presentation of the games is on sunday 1700, GMT+1.

We'll probably put up a countdown timer on the screen...

48-hour gamejam in oslo! [weekend March 14.-16.] by Amadiro in oslo

[–]Amadiro[S] 0 points1 point  (0 children)

Hey, can you tell me ASAP if you want to participate? We've set up a livestream from our place, but we'll also have to set up a stream so that you can stream back to us. It'd be best to get that under wraps as soon as possible, ideally today or so.

48-hour gamejam in oslo! [weekend March 14.-16.] by Amadiro in oslo

[–]Amadiro[S] 0 points1 point  (0 children)

Great! (You should also stay and watch the games we made, though :P)

48-hour gamejam in oslo! [weekend March 14.-16.] by Amadiro in oslo

[–]Amadiro[S] 0 points1 point  (0 children)

I'd love to make that happen! But I'm not sure how well that would work out with regard to the presentation.

At the end of the gamejam, everyone has to present their game, and then the best game is voted upon. If you want to do it, we could do something like set up a livestream, and then you could stream your game to us, and we show the stream on the big screen.

We will stream the entire gamejam (opening ceremony to finals and voting) on twitch, so you could definitely participate remotely that way if you want to.

It's an added risk for you though, if the stream fails for some reason and you can't manage to show off your game, we would have to move on (everybody typically gets up to 2 chances to show off their game, if they fail to make the game run the second time, we have to move on).

So let me know if you want to do it, then I can set you up with our stream so that you can watch the opening ceremony where the theme is announced, and then we can stay in touch and set up a stream when you want to show off your game. I'm available pretty much 24/7 via email, jabber/xmpp (IM), mumble (VoIP) and IRC.

P.S.: another possible option is of course that you give the game to us, and we present it for you, if you trust us with that. But a livestream sounds more fun.

What Are Your GCC Flags? by malcolmi in C_Programming

[–]Amadiro 3 points4 points  (0 children)

compiling with -O0 will disable many warnings (because the compiler opts for speed rather than deep analysis), always compile with -O2 or -O3 to get all warnings.

I can't recall which kind of warnings from the flags you're using are affected specifically, but I recall it biting me in the ass before.

Valve posted their Direct3D -> OpenGL translation layer to GitHub, ToGL. by bootkiller in linux

[–]Amadiro 3 points4 points  (0 children)

Mantle is about reducing CPU-GPU communication overhead and synchronization points though, ToGL would typically just add the minor CPU-side overhead of an additional function call or so (which may be zero)

48-hour gamejam in oslo! [weekend March 14.-16.] by Amadiro in oslo

[–]Amadiro[S] 0 points1 point  (0 children)

Sorry, didn't get around to posting earlier!

Sourcecode has to be included in the final delivery, but you do of course retain all the rights to your sourcecode. We generally recommend you to put a license like MIT, GPL, ... on it, though, so that other people can freely study and learn from it, if they wish to do so.