Cube_

LD28

OwO I love game development

Yeah… that’s really all I had to say, but I really can’t pass that off as a post, now can I?

So… I decided to talk about my current project(/s)!
My main project is a request from my R&D team (aka my friend/co-developer/co-conspirator who tries to figure out what people want made) and it is essentially not much more than a sandbox game inspired by minecraft, the main gameplay scope as far as the alpha is concerned is essentially minecraft but more will come as the game continues to grow
That project isn’t really of much interest to me though and I’ll release it as FOSS (sourceforge or github, which do you recommend?)

A project I planned to make but scrapped (you can have the idea if you want it, it’s unlikely that I’ll pick it up since I had another much better idea) would be Tetris the MMORPG, no one seemed interested though (I wonder why…)

Oh, and I also do game art and I am the only artist on my team (and one of two programmers…. then again it’s a two man team)
I’m working on a few other projects but none of which are moving right now (ugh, I’m the only artist and I’m tied up in a project)

Anyhow, enough babbling about me, more about the ludum dare
I’ve considered joining a ludum dare since 2012 (I think?), and I finally decided that I’ll join the next ludum dare as soon as I have an alpha out (oh my current primary project)
Any hints for properly managing time during the ludum dare? (Especially since I mostly do 3D games OwO)

LD33

I’m definitely going to try my best to participate this year

After reviewing the rules I decided to challenge myself, I will be using a custom engine written from scratch (starting after this post), this is allowed in both the compo and the jam (source code will be provided regardless).
If that fails (which, realistically, it could) I’ll use SDL and box2D, even then my source code will be provided.

I’m not entirely certain what featureset it’ll support but it will be basic, I want to challenge myself by not having fancy features available.
Probably will have shader support though.

Anyway, I can’t be wasting time here! I have an engine to write.

CubeGod out!

as mentioned earlier I’m still in

And it looks like I’ll still be using a custom engine, aside from a 2 day struggle with emscripten just refusing to work and some… err, minor setbacks I’m still somehow on schedule

The rendering code I need has been written, I need to write some more complex shaders and some AABB bounding box intersection code for physics but other than that I’ve written almost the entire engine (well, I still have sound support but that’s optional 😛 I can always just rush in mp3 support for looping bgm and not use sound effects, that works I hope).

Now if emscripten would just accept my std::vectors that’d be lovely, of all the things that break one of the critical data structures has to be one of them. bloody hell.

And I wrote such nice shader compilation code too (ha! told you I’d use shaders) :/

Ah well, I filed a bug report, if it’s not an emscripten bug it sure as hell is a documentation bug, I read it cover to cover and nowhere did it say that vectors are defunct.
I suppose I should convert my logging function to use C style arrays instead of vectors, I can’t really test my code without the debug logging (and it would never be invoked during normal gameplay so that’s fine, the only way it would be invoked is if shader compilation or linking failed; something that won’t happen past release because I test my shaders :3)

Ah well so far so good, I really enjoy crunch time; so much gets done.

Fun fact: WebGL shaders are way different from GLSL shaders

I’m not entirely certain how I can pull data from the vertex shader into the fragment shader, after writing a quick test shader and butchering it until it worked I didn’t manage to pull vertex colors.

But that’s fine, that’s actually fine. This works too; I just have to be a bit more peculiar about it (I WAS going to pull vertex colors as a lazy way to color sprites because that would save a huge time), if I can’t get my engine to support that I’ll just work around it.

(webgl shaders are essentially GL ES 1.0 shaders and they don’t support in/out or inout)

Regardless, still in.
On the bright side, there’s no API I could possibly know better than that of my engine, I wrote it after all (in two days nonetheless!); it’s deceptively simple with only five four graphical functions.

Sprites.
Tiles.
Textures (global resources set up for use by sprites, tiles and shaders).
Shaders.

add simple bounding box intersection physics and a very crude SDL2 audio wrapper and you have yourself a deceptively simple engine with a potentially huge power:simplicity ration (because shaders, all the magic happens in the shader code… and it’s not that interesting, it’s really rather close to the reference implementation because the OpenGL documentation is very robust).

Also licensing. I have to figure out if the ludum dare supports the CC-BY-NC-SA license, because when I invariably release my source code I will release it as such, it’s for people to learn from, not earn from. 😉

Anywho, back to coding, if someone has a clue as to how one would solve my shader predicament that’d be lovely but in worst case I’ll just not use vertex colors, that’s fine too.
I need to finalize my interfaces, do a bit more unit testing and polish up my audio implementation.

Comments

20. Aug 2015 · 09:00 UTC
what about varyings?

varyings are shared between vertex and fragment shaders.
20. Aug 2015 · 09:20 UTC
The “show us the code” aspect is really only to discourage cheating. Its not you giving people permission to *use* the code.
20. Aug 2015 · 09:49 UTC
Not sure what exactly you are trying to do with your shaders, but I can tell you that WebGL is virtually identical to OpenGL ES 2.0 (not 1.0). You can pass data from vertex shader to fragment shader just fine, using a varying variable (as mentioned by snooze82). It works like this:
CubeGod
20. Aug 2015 · 17:17 UTC
@snooze82, yes I eventually managed to dig that info up from apple’s iOS documentation of all places (about the last place I’d ever think of looking)

And I pretty much fofeit :/

It was an educational experience for sure but couple tools not cooperating and my computer deciding to die and not start during the final stretch of the compo I’m about completely fed up.

I might change my mind in an hour or two and decide to push the final stretch and actually finish my game (currently needed: level parser, room pager, fleshing out the player class, six basic enemy ais, boss ai, and a basic box2D setup (because I ran out of time on my own physics engine)); I have enough time but I have no more patience with this, I’ll probably upload the sourcecode later today or tomorrow if anyone wants to read it but I doubt it’s much use to anyone; I’ll finish the game later but for now I can’t be bothered, I lost at least five years from my life expectancy due to this.

[insert white flag here, the international symbol of surrender is fitting methinks]

Comments

Felsiland
24. Aug 2015 · 14:09 UTC
We know the feeling, bro!