• What are you working on? May 2012
    2,222 replies, posted
  • [QUOTE=Mordi;35851651]I found GLFW to be perfect, except for the fact that it doesn't have a function to get the window's position. Weird that the person who made it forgot about that![/QUOTE] I found GLFW to be perfect, except for the fact that it doesn't have any kind of debugging information what so ever. Apparently she's fixed that in v3 though. What do you need the window position for?
  • Gonna learn Java [sp]the hard way[/sp] [img]http://new.tinygrab.com/7cfbd51783dd89c8e06da04cfa27c0ded7774eb7a2.png[/img] :dance:
  • Regarding Java, I thought about something.. There's been a lot of talk about Java VM being stack-based (somehow slower?) and Lua and Parrot using register-based VM. So my question is this: Is Java VM faster than Parrot VM? I'm talking about the virtual machines themselves, not the languages that run on them. Because Java has been implemented in Parrot, so if Parrot performs better, I'd totally try programming Java in Parrot, just for the kicks.
  • [QUOTE=Darkwater124;35852467]Gonna learn Java [sp]the hard way[/sp] [img]http://new.tinygrab.com/7cfbd51783dd89c8e06da04cfa27c0ded7774eb7a2.png[/img] :dance:[/QUOTE] We had to do this at school. Luckily I had gVim and love working on a CLI
  • [IMG]http://i.imgur.com/SaIZM.png[/IMG] Why didn't I use XNA before, it's so nice to use :D Took about 15 minutes to get a teapot loading and drawing with a normal shader. Wonder if XNA 5.0 will be DirectX 10/11... Geometry shaders would be nice.
  • [QUOTE=esalaka;35852770]We had to do this at school. Luckily I had gVim and love working on a CLI[/QUOTE] Vim + CLI = Multilanguage IDE. Works wonders.
  • Does anyone have a simpler explanation of this? [url]http://gafferongames.com/game-physics/fix-your-timestep/[/url]
  • [QUOTE=Richy19;35853673]Does anyone have a simpler explanation of this? [url]http://gafferongames.com/game-physics/fix-your-timestep/[/url][/QUOTE] I honestly don't think you can get much simpler than that.
  • [QUOTE=ben1066;35853013][IMG]http://i.imgur.com/SaIZM.png[/IMG] Why didn't I use XNA before, it's so nice to use :D Took about 15 minutes to get a teapot loading and drawing with a normal shader. Wonder if XNA 5.0 will be DirectX 10/11... Geometry shaders would be nice.[/QUOTE] I doubt we will ever see XNA 5.0
  • [QUOTE=Richy19;35853673]Does anyone have a simpler explanation of this? [url]http://gafferongames.com/game-physics/fix-your-timestep/[/url][/QUOTE] Here's an alternative explanation? [url]http://www.koonsolo.com/news/dewitters-gameloop/[/url]
  • I want to go back to java but I know I'll kill myself if I have to deploy anything ever again
  • [QUOTE=Overv;35853893]I honestly don't think you can get much simpler than that.[/QUOTE] I think its the fact he uses t and dt, also does it mean that every drawn object needs to be times by the accumulator? [editline]6th May 2012[/editline] Also started working on a little framework for OpenGL to wrap Image loading (via SOIL), window creation and input(via GLFW) and 3d maths(via GLM). The result is this: [cpp] #include <iostream> #include <soglf/BaseProgram.hpp> #include <soglf/Window.hpp> #include <soglf/WindowSettings.hpp> using namespace SOGLF; class Program : public BaseProgram { public: Program(){} ~Program(){} virtual bool Initialize() { ///Init some stuff here SOGLF::WindowSettingsClass::Settings.Title = "Test Window"; SOGLF::WindowSettingsClass::Settings.Width = 1024; SOGLF::WindowSettingsClass::Settings.Height = 576; SOGLF::WindowSettingsClass::Settings.OGLMajor = 2; SOGLF::WindowSettingsClass::Settings.OGLMinor = 1; ///Initialize base class at the end return BaseProgram::Initialize(); } virtual bool LoadContent() { ///Load content here return true; } virtual void Update() { ///Update stuff here } virtual void Draw() { SOGLF::WindowClass::Window.Clear(); ///Draw stuff here SOGLF::WindowClass::Window.Display(); } }; int main() { Program p; if(p.Initialize()) if(p.LoadContent()) p.Run(); return 0; } [/cpp] It reminds me of a mishmash between XNA and SFML
  • Creating a (evil) programming language in Ruby for an assignment. test.evil: [code] plan NoteThat(A, B) print(A, ": ", B, "\n"). finished. NoteThat("Hello", "World"). NoteThat("5+5", 5+5). [/code] $ ruby wmd.rb test.evil: [code] Initializing Weapons of Mass Destruction. Executing file test.evil... Parsing program... Program parses to: #<EvilStatements:0x7f159ac8b228 @statements=[#<EvilPlan:0x7f159acab0a0... Running program. "Hello": "World" "5+5": 10 Stopping system. We hope you enjoyed this bout of world domination. [/code] (Yes, I know about the redundant string literals in the output. It's because I'm cheating at the moment and running the ruby print function directly) [B]Edit:[/B] Added static typing and a better parsed program output test.evil: [code]plan Math(string A, int B) print(A, "=", B, "\n"). finished. plan NoteThat(string A, string B) print(A, ": ", B, "\n"). finished. NoteThat("Hello", "World"). Math("5+5", 5+5). NoteThat("5/0.5", 5/0.5). # Will cause a crash[/code] $ ruby wmd.rb test.evil: [code]Initializing Weapons of Mass Destruction... Executing file test.evil... Parsing program... Program parses to: plan Math(string A, int B) print(A, "=", B, "\n"). finished. plan NoteThat(string A, string B) print(A, ": ", B, "\n"). finished. NoteThat("Hello", "World"). Math("5+5", 5+5.). NoteThat("5/0.5", 5/0.5.). Running program. "Hello": "World" "5+5"=10 ERROR! Mismatching type for argument B; int given, string expected Stopping system. We hope you enjoyed this bout of world domination. [/code] Dunno where all those empty lines are coming from, but it's not that big an issue.
  • [QUOTE=ace13;35854356]Creating a (evil) programming language in Ruby for an assignment. test.evil: [code] plan NoteThat(A, B) print(A, ": ", B, "\n"). finished. NoteThat("Hello", "World"). NoteThat("5+5", 5+5). [/code] $ ruby wmd.rb test.evil: [code] Initializing Weapons of Mass Destruction. Executing file test.evil... Parsing program... Program parses to: #<EvilStatements:0x7f159ac8b228 @statements=[#<EvilPlan:0x7f159acab0a0... Running program. "Hello": "World" "5+5": 10 Stopping system. We hope you enjoyed this bout of world domination. [/code] (Yes, I know about the redundant string literals in the output. It's because I'm cheating at the moment and running the ruby print function directly)[/QUOTE] If you ever add numerical literal suffixes make sure you add MILLIONDOLLARS in the mix.
  • [QUOTE=Nigey Nige;35854049]I want to go back to java but I know I'll kill myself if I have to deploy anything ever again[/QUOTE] I keep telling you I'll show you how to properly deploy
  • First publicly-available custom EDGE map: [url]http://willkirkby.me/uploads/edge/edge_wk_helix.zip[/url] edit: install.txt refers to a file "mapping.xml".. this is inside /levels in the game's install dir.
  • [QUOTE=origamiguy;35854956]First publicly-available custom EDGE map: [url]http://willkirkby.me/uploads/edge/edge_wk_helix.zip[/url][/QUOTE] this is really impressive! are you going to release tools / documentation on how to make these?
  • I tried to make ambient occlusion, but it came out as some kind of funky border detector: [img]http://i.imgur.com/NXuy8.png[/img] Guess it needs some more work.
  • Meet Huxley: [code] main: 3 3 + : test: : [/code] And the output (with debug token output): [img]http://filesmelt.com/dl/output202.png[/img] It's not turing complete yet, but I've coded the interpreter and parser to be SUPER modular, so that I can throw in new shit very easily. Something unique about Huxley is there is no concept of like an instruction pointer. There are only control words which manipulate the execution tree.
  • Hmm, arrays act like arrays up until you try to feed them to a function, then they suddenly just become a number of values. test.evil: [code]plan NoteEverything(array Inp) every Item in Inp? puts(Item). repeatedly. finished. Arr = [1,2,3,4,5,["Hello", "World"]]. every I in Arr? puts(I). repeatedly. NoteEverything(["Hello", "World", 3,1,4,1,5]). # Why???[/code] $ ruby wmd.rb test.evil: [code]Initializing Weapons of Mass Destruction... Executing file test.evil... Parsing program... Program parses to: plan NoteEverything(array Inp) every Item in Inp? puts(Item). repeatedly. finished. Arr=[1, 2, 3, 4, 5, ["Hello", "World"]]. every I in Arr? puts(I). repeatedly. NoteEverything(["Hello", "World", 3, 1, 4, 1, 5]). Running program. 1 2 3 4 5 "Hello" "World" ERROR! NoteEverything given 7 arguments, 1 expected Stopping system. We hope you enjoyed this bout of world domination.[/code] I think it's time to sleep on this, still programming the day after you woke up never leads to good code.
  • [QUOTE=i300;35855121]this is really impressive! are you going to release tools / documentation on how to make these?[/QUOTE] An editor is in the works and documentation will be released alongside it.
  • [QUOTE=ZenX2;35844832]I think we need more of supersnail's [url=http://facepunch.com/threads/1174646?p=35407513&viewfull=1#post35407513]WAYWO fanfic[/url] Or a least a game based on it[/QUOTE] [QUOTE=Nigey Nige;35847200]Hey guys I'm gonna do some programming tod- [IMG]http://i.imgur.com/22XsJ.png[/IMG] [IMG]http://i.imgur.com/gRy6s.png[/IMG] never mind I'm gonna do some revision instead[/QUOTE] Run. This was the only thought in Nigey's head. After the accident he had to go into hiding. He cut contact with all of Facepunch. And yet, he still felt unsafe. As the global use of GeeUI increased, the young programmer feared the day he would have to implement it in his creations. So he fled. Grabbed a one-way ticket to the only place where he knew he would be safe. Brooklyn, NY. Setting up for a new life was easy enough. Nigey became an assistant at some local company. He worked there for about two months when all hell broke loose. He was assigned to write some new piece of software. As he looked through the docs, he noticed something horrible. The project used GeeUI. So Nigey just ran. He traced him even here. When Nigey got home, his apartment was trashed. He instantly knew what this meant. So he just ran. He had no money for a taxi, and the closest police station was miles away. It was already night, and the poor progreammer just kept running. He was being followed. He turned into a dark alley. It was a dead end. He stood there, trying to open some maps on his phone. It was too late when he noticed that Geel was standing behind him. Do you know the last words a programmer hears before they die? Geel does.
  • I've been inadvertently learning some opengl in the whole opencl -> opengl interop thing Is it just me, or is the whole concept of immediate mode (in terms of performance) obviously flawed? Pushing your vertices every frame to the graphics card is asking for performance issues. Plus, it's difficult to find resources on opengl which aren't deprecated (ie immediate mode). The interface is ugly, and everything seems a little bit.. randomly named/functioning. I also dislike the fact that it works as a state machine, because that means having to unnecessarily bind and unbind textures and everything else everytime you think about using them, as well as all the matrices and etc that you might want to associate with them. It makes the code a complete, obtuse scattering of functions The whole thing is a mess of deprecated and non deprecated functions. Someone needs to scrap all of it and go for a new, cleaner and much simpler standard I would love to hear any counterarguments against any of my points. Perhaps i've missed a particularly helpful resource page, or maybe I haven't quite grasped something. But currently my opinion of OpenGL is that it is pretty awful
  • [QUOTE=Icedshot;35855824]I've been inadvertently learning some opengl in the whole opencl -> opengl interop thing Is it just me, or is the whole concept of immediate mode (in terms of performance) obviously flawed? Pushing your vertices every frame to the graphics card is asking for performance issues. Plus, it's difficult to find resources on opengl which aren't deprecated (ie immediate mode). The interface is ugly, and everything seems a little bit.. randomly named/functioning. I also dislike the fact that it works as a state machine, because that means having to unnecessarily bind and unbind textures and everything else everytime you think about using them, as well as all the matrices and etc that you might want to associate with them. It makes the code a complete, obtuse scattering of functions The whole thing is a mess of deprecated and non deprecated functions. Someone needs to scrap all of it and go for a new, cleaner and much simpler standard I would love to hear any counterarguments against any of my points. Perhaps i've missed a particularly helpful resource page, or maybe I haven't quite grasped something. But currently my opinion of OpenGL is that it is pretty awful[/QUOTE] This is pretty much the reason DirectX is used more in the industry than OpenGL. That and somewhere between 2000 and now the guys in charge pretty much ignored developers over what it needed.
  • [QUOTE=Ezhik;35855676]Run. This was the only thought in Nigey's head. After the accident he had to go into hiding. He cut contact with all of Facepunch. And yet, he still felt unsafe. As the global use of GeeUI increased, the young programmer feared the day he would have to implement it in his creations. So he fled. Grabbed a one-way ticket to the only place where he knew he would be safe. Brooklyn, NY. Setting up for a new life was easy enough. Nigey became an assistant at some local company. He worked there for about two months when all hell broke loose. He was assigned to write some new piece of software. As he looked through the docs, he noticed something horrible. The project used GeeUI. So Nigey just ran. He traced him even here. When Nigey got home, his apartment was trashed. He instantly knew what this meant. So he just ran. He had no money for a taxi, and the closest police station was miles away. It was already night, and the poor progreammer just kept running. He was being followed. He turned into a dark alley. It was a dead end. He stood there, trying to open some maps on his phone. It was too late when he noticed that Geel was standing behind him. Do you know the last words a programmer hears before they die? Geel does.[/QUOTE] EVERY TIME YOU BLINK A PROJECT USES GEEUI
  • [QUOTE=Icedshot;35855824]I've been inadvertently learning some opengl in the whole opencl -> opengl interop thing Is it just me, or is the whole concept of immediate mode (in terms of performance) obviously flawed? Pushing your vertices every frame to the graphics card is asking for performance issues. Plus, it's difficult to find resources on opengl which aren't deprecated (ie immediate mode). The interface is ugly, and everything seems a little bit.. randomly named/functioning. I also dislike the fact that it works as a state machine, because that means having to unnecessarily bind and unbind textures and everything else everytime you think about using them, as well as all the matrices and etc that you might want to associate with them. It makes the code a complete, obtuse scattering of functions The whole thing is a mess of deprecated and non deprecated functions. Someone needs to scrap all of it and go for a new, cleaner and much simpler standard I would love to hear any counterarguments against any of my points. Perhaps i've missed a particularly helpful resource page, or maybe I haven't quite grasped something. But currently my opinion of OpenGL is that it is pretty awful[/QUOTE] New Age OpenGL is great, but like you pointed out - it's hard to find resources that tell you about it.