• What are you working on? May 2012
    2,222 replies, posted
Updated my scanner thingy. The glow part is all done in shaders. [vid]http://dl.dropbox.com/u/3077939/scanner2.webm[/vid]
[QUOTE=.py;35866346]:ohdear: snip[/QUOTE] No need to snip everything, you are just well advised not to use gyazo due to low bandwidth caps. I just use dropbox myself :v: Personally, i quite enjoy seeing the start of a project. An @ in a console lets everyone in the future know where you've progressed from in your project, and what you've accomplished Don't let your initial mistakes discourage you from posting here
[QUOTE=DrLuke;35866504]Please don't use gayzo, they 404 very often. Try using ZScreen or Puush for nice screen capturing tools, although I prefer ZScreen, because it's targeting thing is way better than puush's, but puush is a lot faster.[/QUOTE] [url=http://shotty.devs-on.net/en/Overview.aspx]Shotty master race with configurations for popular upload sites[/url]
[QUOTE=amcfaggot;35867177][url=http://shotty.devs-on.net/en/Overview.aspx]Shotty master race with configurations for popular upload sites[/url][/QUOTE] ZScreen can do that too.
[code]Program { Main { (2,3)Math.Pow } }[/code] Output 8. Those things you see? They're called nodes. They're sort of like a function, but not really, since they can contain sub-nodes, and data-only nodes. (sort of like variables, only more general-objectish like Lua's tables.) A function with function inside, they also act like namespaces. All in one. Classes-Functions-Namespaces These nodes form a tree. and they hold leaves which are instructions. Oh, and Math.Pow is an external bound function. [code] Huxley huxinst = new Huxley(); huxinst.Source(@"C:\Users\Family\Desktop\main.hx"); huxinst.Register("Math.Pow", typeof(HNumber).GetMethod("Pow")); huxinst.Run("Program.Main");[/code]
[QUOTE=Lexic;35860844]Uh, 1.1 came out in 1997, five years later.[sup][[url=http://en.wikipedia.org/wiki/OpenGL#OpenGL_1.1]1[/url]][[url=http://www.opengl.org/documentation/specs/version1.1/glspec1.1/index.html]2[/url]][/sup] [editline]7th May 2012[/editline] It's worth noting that VAs were finalised in [url=http://www.opengl.org/registry/specs/EXT/vertex_array.txt]1995[/url] and were probably available long before that as vendor extensions.[/QUOTE] Oh, my bad... turns out this page is wrong then: [url]http://www.opengl.org/wiki/History_of_OpenGL[/url] [editline]7th May 2012[/editline] on the plus side, I made my first contribution to the OpenGL wiki!
[QUOTE=Xeon06;35865014]Do you have any guide / instructions on how to build a run it?[/QUOTE] you need gcc, nasm, ruby 1.9, coffeescript, imagemagick and sudo
[QUOTE=swift and shift;35867706]sudo[/QUOTE] Why?
[QUOTE=swift and shift;35867706]you need gcc, nasm, ruby 1.9, coffeescript, imagemagick and sudo[/QUOTE] I installed all of those and got [code]make[1]: *** No rule to make target `/usr/share/fortune/perl', needed by `build/etc/fortune.txt'. Stop.[/code]
Aborted my roguelike game. Anyways, what now. What should I do?
Whatever you want to do. You're a programmer, which means you've basically got power to do anything you set your mind to.
[QUOTE=Jookia;35867944]Why?[/QUOTE] mount
[QUOTE=swift and shift;35868326]mount[/QUOTE] Mounting what?
[QUOTE=ZenX2;35868193]I installed all of those and got [code]make[1]: *** No rule to make target `/usr/share/fortune/perl', needed by `build/etc/fortune.txt'. Stop.[/code][/QUOTE] just delete that from the kernel/Makefile and manually create kernel/build/etc/fortune.txt Alternatively, if you could tell me where the fortune database is on your system I could fix it properly!
[QUOTE=ZenX2;35868321]Whatever you want to do. You're a programmer, which means you've basically got power to do anything you set your mind to.[/QUOTE] What should I do? I like doing things that are useful. What do [b]you[/b] (yes, that means the person who's reading) want me to do?
[QUOTE=Jookia;35868341]Mounting what?[/QUOTE] the hard drive image
[QUOTE=.py;35868306]Aborted my roguelike game. Anyways, what now. What should I do?[/QUOTE] That was fast.
[QUOTE=supersnail11;35868405]That was fast.[/QUOTE] It was. While I was in the middle of the project I discovered I want to write utilities instead of games.
[QUOTE=swift and shift;35868356]just delete that from the kernel/Makefile and manually create kernel/build/etc/fortune.txt Alternatively, if you could tell me where the fortune database is on your system I could fix it properly![/QUOTE] I looks like it's in usr/share/games/fortunes. There's stuff like "husse-funny" and "husse-funny.dat". I tried changing the path to that but it didn't work.
[QUOTE=swift and shift;35868367]the hard drive image[/QUOTE] I did make and everything went correctly, now what do I do with this?
It's been.. so long.. I'm failing at nested loops. [IMG]http://i.somethingawful.com/forumsystem/emoticons/emot-smithicide.gif[/IMG]
[QUOTE=.py;35868411]It was. While I was in the middle of the project I discovered I want to write utilities instead of games.[/QUOTE]The next plasma...
[QUOTE=ZenX2;35870064]I did make and everything went correctly, now what do I do with this?[/QUOTE] Boot it with your favorite VM software as the master device on the primary IDE channel
[QUOTE=graymic;35861958]Are you using some quad tree / fractal to generate infinite terrain or have you defined constant dimensions so it's not "infinite"? I've been trying to work out how to load "chunks" into the world with Jmonkey, but thus far I've only achieved this: [IMG]https://p.twimg.com/AsNlqRUCEAASFgX.jpg:large[/IMG][/QUOTE] Neither... the world has a simple map of ints -> bool and ints -> chunk*: [cpp] class world { private: std::map <int, std::map <int, std::map <int, bool > > > chunkexists; std::map <int, std::map <int, std::map <int, chunk*> > > chunks; public: chunk* getChunk(int x, int y, int z); //snip... }; [/cpp] When I request a chunk with getChunk(), it will check if the chunk already exists in memory. If it does, it will either generate the chunk, store the pointer and return it, or if too many chunks have already been generated this frame then it will return a null. (You can override this behaviour with the getChunkAlways() method - I do this when I'm raycasting to find the selected block). A chunk is a 32x32x32 region of the world; it's just a char buffer of all of the blocks in the chunk, and a couple of GLuint handles to the index buffers and stuff. It also has pointers to its neighbours, and methods to do things like update its mesh. When I draw, I just request all chunks in a sphere around the player that are in the player's field of view, and draw the ones that are available (have been generated). So yeah, it is infinite (until it runs out of memory - I need to retire chunks that are out of view...), but it doesn't use any fancy acceleration structures yet. Hopefully I've made sense there?
Hooray, it's my birthday and I'm starting it off by waiting for QEMU to compile :v:
[QUOTE=r0b0tsquid;35870928]Neither... the world has a simple map of ints -> bool and ints -> chunk*: [cpp] class world { private: std::map <int, std::map <int, std::map <int, bool > > > chunkexists; std::map <int, std::map <int, std::map <int, chunk*> > > chunks; public: chunk* getChunk(int x, int y, int z); //snip... }; [/cpp] When I request a chunk with getChunk(), it will check if the chunk already exists in memory. If it does, it will either generate the chunk, store the pointer and return it, or if too many chunks have already been generated this frame then it will return a null. (You can override this behaviour with the getChunkAlways() method - I do this when I'm raycasting to find the selected block). A chunk is a 32x32x32 region of the world; it's just a char buffer of all of the blocks in the chunk, and a couple of GLuint handles to the index buffers and stuff. It also has pointers to its neighbours, and methods to do things like update its mesh. When I draw, I just request all chunks in a sphere around the player that are in the player's field of view, and draw the ones that are available (have been generated). So yeah, it is infinite (until it runs out of memory - I need to retire chunks that are out of view...), but it doesn't use any fancy acceleration structures yet. Hopefully I've made sense there?[/QUOTE] You might want to use [url=http://en.cppreference.com/w/cpp/utility/pair]std::pair[/url] for your coordinates rather than maps within each other. [cpp]#include <map> #include <utility> #include <iostream> typedef std::pair<std::pair<int, int>, int> coordinate; struct chunk { int num; }; std::map<coordinate, chunk*> testmap; coordinate key(int x, int y, int z); bool exists(coordinate point); chunk* get(coordinate); int main() { chunk one = { 1 }, two = { 2 }; testmap[key(0,0,0)] = &one; testmap[key(0,1,0)] = &two; std::cout << get(key(0,0,0))->num << std::endl; return 0; } coordinate key(int x, int y, int z) { return std::make_pair(std::make_pair(x, y), z); } bool exists(coordinate point) { return testmap.find(point) != testmap.end(); } chunk* get(coordinate point) { if (exists(point)) return testmap.find(point)->second; else return NULL; }[/cpp]
After my tesla coil exploded randomly yesterday (once again), I had to rebuild some parts of it in a rush, as my project is due today. I did some ninja soldering to put everything together, and it works now. I won't touch it until my teacher saw it now :v:
[QUOTE=Lexic;35871271]You might want to use [url=http://en.cppreference.com/w/cpp/utility/pair]std::pair[/url] for your coordinates rather than maps within each other. [cpp]#include <map> #include <utility> #include <iostream> typedef std::pair<std::pair<int, int>, int> coordinate; struct chunk { int num; }; std::map<coordinate, chunk*> testmap; coordinate key(int x, int y, int z); bool exists(coordinate point); chunk* get(coordinate); int main() { chunk one = { 1 }, two = { 2 }; testmap[key(0,0,0)] = &one; testmap[key(0,1,0)] = &two; std::cout << get(key(0,0,0))->num << std::endl; return 0; } coordinate key(int x, int y, int z) { return std::make_pair(std::make_pair(x, y), z); } bool exists(coordinate point) { return testmap.find(point) != testmap.end(); } chunk* get(coordinate point) { if (exists(point)) return testmap.find(point)->second; else return NULL; }[/cpp][/QUOTE] I ended up trying a similar approach to this within jmonkey just a few hours ago now. Managed to load chunks into the world - albeit the framerate is about 200fps with a chunk the size of 256, 128, 256... Might scale it down now and add some LOD & culling to the vertices.
[QUOTE=DrLuke;35871531]After my tesla coil exploded randomly yesterday (once again), I had to rebuild some parts of it in a rush, as my project is due today. I did some ninja soldering to put everything together, and it works now. I won't touch it until my teacher saw it now :v:[/QUOTE] You make my tesla coil explode [img]http://i.somethingawful.com/forumsystem/emoticons/emot-smug.gif[/img]
[QUOTE=AtomiCasd;35871657]You make my tesla coil explode [img]http://i.somethingawful.com/forumsystem/emoticons/emot-smug.gif[/img][/QUOTE] I think you should see a doctor. [t]http://s.hruhf.in/2012-05/Project_TPC-2012-05-08_17.43.09.png[/t] Water kinda looking better and now slowly changes shade overtime
Sorry, you need to Log In to post a reply to this thread.