• What Are You Working On? - December 2014
    1,204 replies, posted
[QUOTE=Fourier;46815115]Maybe it is just one of the math functions assigning NaN to them: - Division by zero - Tan function - Normalizing zero vector (division by zero again) This is all I can remember.[/QUOTE] That's the problem, I can't find any line of code matching the criteria. The only time energy is divided is by 2 for reproduction. I added guards to prevent it though. [editline]29th December 2014[/editline] [QUOTE=Darwin226;46815111]That's actually the most common behavior in these evolutionary simulations. If you have a bug that allows them to cheat, they will cheat.[/QUOTE] The problem is the amount of guesswork involved though. I have to make the simulation parameters both strict and flexible enough for anything viable to evolve.
[QUOTE=Darwin226;46815111]That's actually the most common behavior in these evolutionary simulations. If you have a bug that allows them to cheat, they will cheat.[/QUOTE] Surely you could use something like this for testing software. You set some goal and see if any odd results come out, showing bugs that might be hard to find otherwise.
[QUOTE=rookwood101;46815237]Surely you could use something like this for testing software. You set some goal and see if any odd results come out, showing bugs that might be hard to find otherwise.[/QUOTE] See [URL="http://en.wikipedia.org/wiki/QuickCheck"]QuickCheck[/URL]
[img]http://i.imgur.com/Lg3zflG.png[/img] Working on a top-down RPG. The player (blue dude) can kill the monster (red dude) in three hits. Unfortunately, hit detection is wonky, so you can get swallowed by walls. My issue [url=http://gamedev.stackexchange.com/questions/90418/collision-direction-detection]is here[/url] if anyone's interested. It's fun to see the monster walking into the wall every now and then though. The walls push him away and he turns and walks into another wall. Is there a good way to capture this?
[QUOTE=war_man333;46815467][img]http://i.imgur.com/Lg3zflG.png[/img] Working on a top-down RPG. The player (blue dude) can kill the monster (red dude) in three hits. Unfortunately, hit detection is wonky, so you can get swallowed by walls. My issue [url=http://gamedev.stackexchange.com/questions/90418/collision-direction-detection]is here[/url] if anyone's interested. It's fun to see the monster walking into the wall every now and then though. The walls push him away and he turns and walks into another wall. Is there a good way to capture this?[/QUOTE] Instead of pushing the player, try to just not allow walking if the player is going to go through wall
[QUOTE=MagicMaestro;46815480]Instead of pushing the player, try to just not allow walking if the player is going to go through wall[/QUOTE] I also do that, but the problem is that I depend on the way that the player is facing, to see what side of the wall he's trying to walk into. So if he's facing left, I'm preventing him from going left. The problem is that you can walk diagonally (let's say south-west) and he gets to slip through the wall magically.
Hey, what is good recording software for our unity game? Thanks!
[QUOTE=Fourier;46815695]Hey, what is good recording software for our unity game? Thanks![/QUOTE] sharex
[QUOTE=Trumple;46813084][IMG]http://orbit.bitnode.co.uk:53372/stream[/IMG] ^ this is being live streamed via my latest side-project, [B]mjpeg-relay[/B]. It's an MJPEG stream, sourced live from my Raspberry Pi's camera (pointed at my clock), which is being relayed via my VPS using mjpeg-relay [IMG]https://dl.dropboxusercontent.com/u/10518681/Screenshots/2014-12-29_01-30-08.png[/IMG] I made this because I had some issues getting common video streaming solutions such as VLC, ffmpeg/avconv to work at an acceptable standard on my Raspberry Pi (and also on my server). Either they crashed on startup (or at some point shortly after), were too resource hungry for my Raspberry Pi, didn't send the correct headers for MJPEG streaming, or introduced an unacceptable lag on the stream. After hours of trying, I gave up and made my own. It's dead simple, transparent, low-resource, and doesn't introduce unacceptable lag. I can only hope it works! Please rate disagree if you can't see it. I'll assume any other rating means you can see it. Source code: [URL]https://github.com/OliverF/mjpeg-relay[/URL] e: I know IE doesn't support mjpeg streaming so you're out of luck if that's what you're using, sorry! e: [IMG]https://dl.dropboxusercontent.com/u/10518681/Screenshots/2014-12-29_02-44-08.png[/IMG] whooooaarr :~)[/QUOTE] that is literally amazing. I started tripping out when I realised it wasn't a gif.
Okay, so i wrote a tool that makes processes unkillable because i don't like the fact steam in family sharing kills your game after the owner enters any other game after 5 minutes. But there's a side effect in source engine - it makes the options button in main menu crash the game. :v: [editline]29th December 2014[/editline] [thumb]http://i.imgur.com/tCq8hPq.jpg[/thumb] ehehehehehehe [editline]29th December 2014[/editline] Shit, the game crashed [editline]29th December 2014[/editline] Mind explaining what exactly so dumb about my experimentation is?
[url]http://www.lofibucket.com/articles/oscilloscope_quake.html[/url] This is pretty cool
[QUOTE=Fourier;46815092]But using only one instance of Random sucks because then you need to lock stuff and.. meh. Isn't it better to create multiple instances of Random, with different seed for each one?[/QUOTE] If you don't want to create a new instance in each Task/fork/whatever, you can also make a static field [I][ThreadStatic][/I] in C#, then use a lazy initialization property getter to create instances for each thread you use it from. Directly assigning the new instance in the declaration doesn't work because that's consolidated into the [I].cctor[/I] which only runs once.
[QUOTE=cartman300;46816136]Okay, so i wrote a tool that makes processes unkillable because i don't like the fact steam in family sharing kills your game after the owner enters any other game after 5 minutes. But there's a side effect in source engine - it makes the options button in main menu crash the game. :v: [editline]29th December 2014[/editline] [thumb]http://i.imgur.com/tCq8hPq.jpg[/thumb] ehehehehehehe [editline]29th December 2014[/editline] Shit, the game crashed [editline]29th December 2014[/editline] Mind explaining what exactly so dumb about my experimentation is?[/QUOTE] As tied to Steam as Source is you're going to probably have to emulate the steamapi for it.
[media]http://www.youtube.com/watch?v=UYaNc4jAEaM[/media] Some progress of making the metro train simulator. That's a teaser video we decided to release. This is a photo from real life: [img_thumb]http://i.imgur.com/P8HR58m.jpg[/img_thumb] This is a picture from simulator: [t]http://i.imgur.com/cqMx5XK.jpg[/t] The difference in brightness is [b]not a mistake[/b], in simulator surfaces are configured to have more rail dust on them. Rail dust is what covers bottom part of the tunnel, it's the material from brake pads that gets scrubbed off every time train brakes. In reality that tunnel is clean, but in simulator I configured tunnels as if they were the ones which are actively used (IRL this section is a dead end). If anyone remembers my post of train wheel physics, here's a bit outdated video of it in action. There is no lateral friction, there is a minor non-physics related glitch which made wheels jump up sometimes, but all was fixed by now: [media]http://www.youtube.com/watch?v=30a9pCiDp7A[/media] When it seems wheels are spinning really-really different than the speed of train, that's just me damping the wheel angular velocity (braking the wheels) so they enter slip.
Those are some unreal trains.
[QUOTE=BlackPhoenix;46817390][media]http://www.youtube.com/watch?v=UYaNc4jAEaM[/media] Some progress of making the metro train simulator. That's a teaser video we decided to release.[/QUOTE] That atmosphere is amazing.
[vid]https://dl.dropboxusercontent.com/u/27714141/cilium2.webm[/vid] Evolutionary Ballet: DANCE OR DIE [sp]if you dance you still die[/sp]
Sweet, got something rendering in GLES2: [img]http://i.imgur.com/BseYZ4x.png[/img] What was supposed to be a simple transition from GLES1 to GLES2 turned into a somewhat major refactoring of the game code, but now everything is shaping up. [editline]30th December 2014[/editline] Updated the shader matrices, and now we should be able to pan the 2D camera around with 2 fingers... [vid]http://a.pomf.se/aicgkb.mp4[/vid] Almost there. [editline]30th December 2014[/editline] Yup, turned off 3D mode by swapping aPosition and uTransform in the vertex position calculation. Math is wonderful. [vid]http://a.pomf.se/hjkigx.mp4[/vid]
[QUOTE=Rocket;46818875]Updated how Rant rhymes words. Now Rant supports [url=https://github.com/TheBerkin/Rant/pull/35]all these different types of rhymes![/url] While perfect rhymes are great, I like alliteration even better: [img]http://i.imgur.com/wH1GlRO.png[/img][/QUOTE] Awesome, that means I don't have to use this shitty workaround anymore: [img]http://i.imgur.com/WtKshnT.png[/img]
Are there any good articles or papers on genetic/evolutionary programming? This sort of thing has always interested me but I never really put much effort into reading up and immersing myself in it.
[video=youtube;XroVvR40V08]http://www.youtube.com/watch?v=XroVvR40V08&feature=youtu.be[/video] OK guys I whiped up this fresh ass demo for you. windows [URL]https://dl.dropboxusercontent.com/u/52825656/thespookycave_windows.zip[/URL] osx [URL]https://dl.dropboxusercontent.com/u/52825656/thespookycave_osx.zip[/URL] linux [URL]https://dl.dropboxusercontent.com/u/52825656/thespookycave_linux.zip[/URL] source [URL]https://dl.dropboxusercontent.com/u/52825656/thespookycave_source.zip[/URL] This is a very bad game, fight me irl. In all seriousness though its early be soft. Forgot to tell you the controls. wads move, shift sprint, arrows weapons, space shield, tab to go to inventory p.s. updated download links with the fix from the bug bellow
getting new combat system in the real game..... [IMG]http://puu.sh/dQ4fh/cffc8ee7f9.gif[/IMG] (all thanks to [B]fuccboiGDX[/B])
[QUOTE=polkm;46819854][video=youtube;XroVvR40V08]http://www.youtube.com/watch?v=XroVvR40V08&feature=youtu.be[/video] OK guys I whiped up this fresh ass demo for you. windows [URL]https://dl.dropboxusercontent.com/u/52825656/thespookycave_windows.zip[/URL] osx [URL]https://dl.dropboxusercontent.com/u/52825656/thespookycave_osx.zip[/URL] linux [URL]https://dl.dropboxusercontent.com/u/52825656/thespookycave_linux.zip[/URL] source [URL]https://dl.dropboxusercontent.com/u/52825656/thespookycave_source.zip[/URL] This is a very bad game, fight me irl. In all seriousness though its early be soft. Forgot to tell you the controls. wads move, shift sprint, arrows weapons, space shield, tab to go to inventory[/QUOTE] your game does some really, really cool things. Keep making it you have good ideas
[QUOTE=polkm;46819854] linux [URL]https://dl.dropboxusercontent.com/u/52825656/thespookycave_linux.zip[/URL] [/QUOTE] The game works but I get this error when starting it: [img]http://i.imgur.com/kIjmP5L.png?1[/img]
[QUOTE=WTF Nuke;46819784]Are there any good articles or papers on genetic/evolutionary programming? This sort of thing has always interested me but I never really put much effort into reading up and immersing myself in it.[/QUOTE] Try it man. If you understand the simple concept of random mutation and natural selection, you can make an evolutionary simulation. This goes for SO many things people ask similar questions about.
[QUOTE=Boost;46820290]The game works but I get this error when starting it:[/QUOTE] Thanks, I updated the downloads with a hotfix. It should work now hopefully.
[QUOTE=Darwin226;46820304]Try it man. If you understand the simple concept of random mutation and natural selection, you can make an evolutionary simulation. This goes for SO many things people ask similar questions about.[/QUOTE] Yes, but there is a difference between making an evolution simulator, and making a [b]good[/b] evolution simulator. There is a lot more to (organic) evolution than pure chaos. As intelligence evolves, the organisms gain awareness of their body, what they can voluntarily move, and how. This in turn influences how they use their body to interact with the environment. For example, the organism may become aware that it can move the weird stumpy things at the bottoms and tops of their trunk, and attempt to use them to drag itself around. Then, natural selection favors not only those with the best "dragging around" limbs, but also those with the intelligence to correctly use them. Independently, the organism may become aware that the hard bone in their eating hole can be used to soften up food, making it easier to swallow and get nutrition, and thus survive. Natural selection will then favor not only those with the best evolved food-mashers, but also those intelligent enough to correctly mash food (not too much that it becomes hard to swallow, not too little that it chokes and dies) and those with the intelligence to determine what best gives it nutrition (such as fruits) and what doesn't (such as dirt). Programming such complex tasks in an exceptionally malleable way is not something most people can do by hopping into the deep end of the pool head-first. If left to pure chaos, about the best one can get is either a restricted set of evolution (more specifically, a restricted set of parameters that can be modified, obeying hard-set algorithms and behaviors) or the equivalent of watching an amorphous blob go through millions of iterations of various mostly-minute changes that don't ultimately affect its behavior beyond "sit there and writhe" and don't come to approach anything remotely realistic beyond the single-cell world. Of course, if those are what you want, then have at it. Anything more complex, though? I feel some background knowledge would be necessary.
[QUOTE=Gmod4ever;46820452]Yes, but there is a difference between making an evolution simulator, and making a [b]good[/b] evolution simulator. There is a lot more to (organic) evolution than pure chaos. As intelligence evolves, the organisms gain awareness of their body, what they can voluntarily move, and how. This in turn influences how they use their body to interact with the environment. For example, the organism may become aware that it can move the weird stumpy things at the bottoms and tops of their trunk, and attempt to use them to drag itself around. Then, natural selection favors not only those with the best "dragging around" limbs, but also those with the intelligence to correctly use them. Independently, the organism may become aware that the hard bone in their eating hole can be used to soften up food, making it easier to swallow and get nutrition, and thus survive. Natural selection will then favor not only those with the best evolved food-mashers, but also those intelligent enough to correctly mash food (not too much that it becomes hard to swallow, not too little that it chokes and dies) and those with the intelligence to determine what best gives it nutrition (such as fruits) and what doesn't (such as dirt). Programming such complex tasks in an exceptionally malleable way is not something most people can do by hopping into the deep end of the pool head-first. If left to pure chaos, about the best one can get is either a restricted set of evolution (more specifically, a restricted set of parameters that can be modified, obeying hard-set algorithms and behaviors) or the equivalent of watching an amorphous blob go through millions of iterations of various mostly-minute changes that don't ultimately affect its behavior beyond "sit there and writhe" and don't come to approach anything remotely realistic beyond the single-cell world. Of course, if those are what you want, then have at it. Anything more complex, though? I feel some background knowledge would be necessary.[/QUOTE] All my research was biology classes and playing DarwinBots and that seemed to go pretty well. Besides, if you're looking to start with evolutionary simulations, why would you care about "not doing it right"? I've always found that if you haven't experienced why a method is bad, you can't appreciate a good one. What I did was make a simple stack based language to act as genetic code and then connect instructions in that bytecode to physical actions. Since the language is unstructured you can do mutation and crossover very easily and since it's Turing complete it can really do anything. What's left if carefully fine tuning the fitness function so it encourages development.
I'm writing an algorithm for mapping out a solution space for an optimization problem right now, pretty fun thinking about it so far I'm hoping to identify features in a way that's a bit more intelligent than simple gradient following and not stick maxima too strongly so I can get a wide spread of possible solutions Then I could use the data I got from the search to get a really good base population for a genetic algorithm. And I could even do this every couple generations, alternating between the algorithms instead of just using one. That would probably work pretty well, I could find feasible features automatically and evolve based on those, instead of getting caught at false maxima like genetic algorithms. This would bump them out of those little pits and get them towards something better, essentially
[QUOTE=ZenX2;46820583]I'm writing an algorithm for mapping out a solution space for an optimization problem right now, pretty fun thinking about it so far I'm hoping to identify features in a way that's a bit more intelligent than simple gradient following and not stick maxima too strongly so I can get a wide spread of possible solutions Then I could use the data I got from the search to get a really good base population for a genetic algorithm. And I could even do this every couple generations, alternating between the algorithms instead of just using one. That would probably work pretty well, I could find feasible features automatically and evolve based on those, instead of getting caught at false maxima like genetic algorithms. This would bump them out of those little pits and get them towards something better, essentially[/QUOTE] I think the way this usually works is having slightly (or more than slightly) varying living conditions for groups of units. This should encourage speciation so you get more interesting solutions. Then you can mix and match them periodically to see if you get something more awesome than the sum of it's parts.
Sorry, you need to Log In to post a reply to this thread.