delete me
|
|
« on: October 08, 2011, 05:42:11 PM » |
|
Just a videogabe i've been working on. October 2011 November 2011 December 2011 01 | 02 | 03 04 | 05 | 06 | 07 | 08 | 09 | 10 11 | 12 | 13 | 14 | 15 | 16 | 17 18 | 19 | 20 | 21 | 22 | 23 | 24 25 | 26 | 27 | 28 | 29 | 30 | 31
About this devlog: Here I develop Terra Carve and Xoorfram. Xoorfram is a very large C++/OpenGL engine being used for multiple games. Terra Carve is a massive 3D game, and I have a couple smaller 2D ones up my sleeve as well. I'll talk more about the games here when they've matured a bit more. If you're interested in testing any of my games or tech, comment and/or contact me at [email protected] and I'll add you to the mailing list.
Timeline: 2+ years. Targets: PC/Linux/Mac Language: C, C++, Lua, HTML/CSS/JS, Val Graphics: OpenGL 4.1
Author: Jared Thomson Contributors: Kaylee Ménard Testers:
|
|
« Last Edit: December 13, 2011, 08:00:52 AM by xoorath »
|
Logged
|
|
|
|
eigenbom
|
|
« Reply #1 on: October 09, 2011, 02:36:07 AM » |
|
> OpenGL 4.1
For the tessellation shader?
Also, neat website. :-)
|
|
|
Logged
|
|
|
|
Hangedman
|
|
« Reply #2 on: October 09, 2011, 07:37:19 PM » |
|
|
|
|
Logged
|
|
|
|
sugarbeard
|
|
« Reply #3 on: October 10, 2011, 05:30:53 AM » |
|
I support all things by Jared.
1) Screens. 2) Sound designer / musician. Think about it...
|
|
|
Logged
|
|
|
|
eigenbom
|
|
« Reply #4 on: October 13, 2011, 08:58:13 PM » |
|
However I've made it so any line that isn't a valid attribute entry is considered a comment. So you can just label things and add block text without any issues where ever you want. Nice idea at first glance, but then I thought "How do you get feedback on an incorrectly formatted attribute?" If users are to be modifying these files, you should print errors for incorrectly formatted attributes, rather than assuming they are comments.
|
|
|
Logged
|
|
|
|
eigenbom
|
|
« Reply #5 on: October 13, 2011, 11:56:45 PM » |
|
Alright yeh I see what you are saying, especially as you are (i think) allowing real-time editing and reloading of the attribute files. As you suggest, have a log (which you can turn off) that tells the user about badly formatted attributes.
|
|
|
Logged
|
|
|
|
eigenbom
|
|
« Reply #6 on: October 18, 2011, 02:15:24 AM » |
|
indie ... designer ... artist ... lover ... lol wut..?!
|
|
|
Logged
|
|
|
|
Limne
|
|
« Reply #7 on: October 18, 2011, 05:33:21 PM » |
|
Nice video by the way
|
|
|
Logged
|
- Laura Lake - lauralake.ca
|
|
|
|
eigenbom
|
|
« Reply #9 on: October 21, 2011, 05:24:20 PM » |
|
Yeh that article is really just about using IDs/handles instead of pointers. There's another article on that blog that covers custom memory allocation stuff.
The idea of the ID system is just to use integers instead of pointers to refer to your entities. Pros: gives more flexibility in how your subsystems manage their data (they can rearrange things in memory without breaking external connections), and it makes serialisation and networking much easier. Cons: An added level of indirection and requires more coding to get going.
|
|
|
Logged
|
|
|
|
Theophilus
Guest
|
|
« Reply #10 on: October 24, 2011, 10:30:15 AM » |
|
Same desktop wallpaper for the win.
|
|
|
Logged
|
|
|
|
eigenbom
|
|
« Reply #11 on: October 24, 2011, 02:11:54 PM » |
|
Lua yum yum
|
|
|
Logged
|
|
|
|
|
kukouri
|
|
« Reply #13 on: October 24, 2011, 11:39:54 PM » |
|
Love the name you picked for the game. Got me to look at it just based on that.
|
|
|
Logged
|
|
|
|
eigenbom
|
|
« Reply #14 on: October 28, 2011, 08:43:37 PM » |
|
Sounds interesting, could you give an example of your shader lua scripts plz..?
|
|
|
Logged
|
|
|
|
eigenbom
|
|
« Reply #15 on: October 28, 2011, 09:39:15 PM » |
|
o i c. Maybe something like this would be a tad clearer and more flexible, without populating your global namespace .. shader { vertex = "simple_shader.vert", fragment = "simple_shader.frag", depth_test = false, uniforms = {{"foo",range_from,range_to},{...}} }
With luabind you can parse this easily enough: void shader(const luabind::object& o){ if (o["vertex"]) { std::string vs = luabind::object_cast<std::string>(o["vertex"]); ... load vertex shader ... }
... foreach(const luabind::iterator& i, o["uniforms"]){ // luabind::object_cast<std::string>(*i[0]) -> name of uniform // luabind::object_cast<float>(*i[1]) -> minimum val // luabind::object_cast<float>(*i[2]) -> maximum val } }
void main(){ ... luabind::module(L)[def("shader",shader);]; ... luaL_dofile(L, "path/to/simple_shader.lua") }
But, then again, over-engineering is EVIL! So ignore all my suggestions.
|
|
|
Logged
|
|
|
|
eigenbom
|
|
« Reply #16 on: October 28, 2011, 09:51:24 PM » |
|
No probs! building games is hella fun isn't it. :D
|
|
|
Logged
|
|
|
|
Maxim Schoemaker
|
|
« Reply #17 on: October 29, 2011, 05:25:27 AM » |
|
It's actually been done before. And it's quite a good game too Z-Rox
|
|
|
Logged
|
|
|
|
Limne
|
|
« Reply #18 on: October 29, 2011, 06:07:55 AM » |
|
Maybe it would work if you had a monitor with a monstrous refresh rate. It's kind of like the concept behind an interlaced TV brought to the 11th, isn't it? Maybe if you weren't so strict and had the band be a few pixel's thick at a time it might work, kind of like a Sonor. Come to think of it, maybe if the image was simpler and of a higher contrast, white blobs on a black background, it might be more visible.
I figure strict 1D gameplay ought to be possible too if you mirror the one band on every line. Then it should be perfectly visible while still being technically 1-D. The thing would be developing a solid concept (and I think there's something there)
Or, you know, have several bands of a certain thickness in pixels (so as to be properly visible) and arrange them in columns or rows but have them functionally be a continuation of each other so that objects can only move along the one axis. eg.
Column 0: 0 <-> 1 Column 1: 1 <-> 2 Column 2: 2 <-> 3 Column 4: 3 <-> 4 ...
but you still make use of the entire screen.
|
|
|
Logged
|
- Laura Lake - lauralake.ca
|
|
|
noct
|
|
« Reply #19 on: October 29, 2011, 05:06:20 PM » |
|
Now discarding transparent pixels on dxt1 with 1bit alpha. I imagine this will likely be the most common file type for sumo unless we get crazy with transparent textures. I am just assuming it's going to look bad for a while though until I do something about aliasing.
Typically, anti-aliasing won't help much with edges within textures (FSAA can, but the cost can be prohibitive, especially with 1bit alpha). For 2D with hand-drawn images, you're probably best off with uncompressed textures unless you're planning on drawing a large number of sprites. Particles and other fairly noisy textures however, can use DXT5 with little reduction in quality. DXT1 is primarily intended for images with no alpha channel.
|
|
|
Logged
|
|
|
|
|