Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411528 Posts in 69382 Topics- by 58437 Members - Latest Member: isabel.adojo

May 02, 2024, 07:27:46 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsTerra Carve
Pages: [1] 2
Print
Author Topic: Terra Carve  (Read 15119 times)
delete me
Level 0
***

This account is very old, I don't use it.


View Profile
« on: October 08, 2011, 05:42:11 PM »

Just a videogabe i've been working on.


October 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                                      

November 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                      

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
Level 10
*****


@eigenbom


View Profile WWW
« Reply #1 on: October 09, 2011, 02:36:07 AM »

> OpenGL 4.1

For the tessellation shader?

Also,  neat website. :-)
Logged

Hangedman
Level 10
*****


Two milkmen go comedy


View Profile WWW
« Reply #2 on: October 09, 2011, 07:37:19 PM »

Gomez
Logged

AUST
ITIAMOSIWE (Play it on NG!) - Vision
There but for the grace of unfathomably complex math go I
sugarbeard
Level 5
*****



View Profile WWW
« 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
Level 10
*****


@eigenbom


View Profile WWW
« Reply #4 on: October 13, 2011, 08:58:13 PM »

Quote
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
Level 10
*****


@eigenbom


View Profile WWW
« 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
Level 10
*****


@eigenbom


View Profile WWW
« Reply #6 on: October 18, 2011, 02:15:24 AM »

indie ... designer ... artist ... lover ... lol wut..?!
Logged

Limne
Level 0
**


View Profile WWW
« Reply #7 on: October 18, 2011, 05:33:21 PM »

Nice video by the way Wink
Logged

- Laura Lake
- lauralake.ca
eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #8 on: October 20, 2011, 09:18:52 PM »

Yeh, I'm using a linear allocator too with my id system based on this: http://bitsquid.blogspot.com/2011/09/managing-decoupling-part-4-id-lookup.html. Also been thinking about the animation system too. We're probably both coding very similar bits at the moment!
Logged

eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« 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
Level 10
*****


@eigenbom


View Profile WWW
« Reply #11 on: October 24, 2011, 02:11:54 PM »

Lua yum yum Tongue
Logged

eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #12 on: October 24, 2011, 09:13:26 PM »

Yo, I has the same probs - and I redirect Lua's stdout in my software using a double pronged attack:

this way: http://www.gamedev.net/topic/532101-redirecting-console-output/
and also, with the StdRedirector here: http://www.qtforum.org/article/24554/displaying-std-cout-in-a-text-box.html

This works within my Qt app at work, and I plan on using a similar thing in moonman (sfml).

b

Logged

kukouri
Level 0
**



View Profile WWW
« 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
Level 10
*****


@eigenbom


View Profile WWW
« 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
Level 10
*****


@eigenbom


View Profile WWW
« Reply #15 on: October 28, 2011, 09:39:15 PM »

o i c. Smiley

Maybe something like this would be a tad clearer and more flexible, without populating your global namespace ..
Code:
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:
Code:
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. Gentleman
Logged

eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #16 on: October 28, 2011, 09:51:24 PM »

No probs! building games is hella fun isn't it. :D
Logged

Maxim Schoemaker
Level 1
*


Bloh


View Profile WWW
« Reply #17 on: October 29, 2011, 05:25:27 AM »

It's actually been done before. And it's quite a good game too Wizard

Z-Rox
Logged

Limne
Level 0
**


View Profile WWW
« 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
Level 0
**



View Profile WWW
« 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

Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic