• What are you working on? v67 - March 2017
2,976 replies, posted
Look at all the amazing shit I can't do Look at all the things I can do that literally everyone else can
[QUOTE=TeamEnternode;51894175]Look at all the amazing shit I can't do Look at all the things I can do that literally everyone else can[/QUOTE] You'll always see someone above yourself, but don't let that discourage you! Work on what you find interesting and turn yourself into your own awesome creator, with your own unique set of skills!
I'm garbage as fuck but I don't give a damn. Ain't gonna stop me from making spicy games. Edit: Also, thanks for the new thread. I'm glad to see monthlies again. That's the best part of waywo.
Okay so maybe I post a lot I should probably get out more :v [editline]edit[/editline] I don't want to look too deeply into ratings, but I could probably try to make my posts more interesting. I can be... A bit verbose. Just a little bit though [editline]edit[/editline] I've been running large series of tests, to better understand what various parameters do in the noise functions. Lacunarity is an interesting one, and frequency is kind of a misnomer. Frequency is better understand as the scale, but lower scale does result in lower frequency and such. This is applied to the point once, before it is fed into the noise function, thus scaling each point into vaguely the correct domain regardless of octave. Lacunarity is what we multiply each point by in the loop: [cpp] // Ridged multi thread function: 1.0f - fabsf(perlin_value) for (size_t i = 0; i < octaves; ++i) { int seed = (init_seed + i) & 0xffffffff; result += (1.0f - fabsf(perlin2d(point,seed))) * amplitude; // Modify vars for next octave. point.x *= lacun; point.y *= lacun; amplitude *= persist; } [/cpp] This has the effect of increasing the frequency of successive octaves, and it rapidly becomes non-linear at higher values. Past 2.50, things become [I]too[/I] noisy most of the time, and below 1.0 there's very little to see. Part of what I've been doing with my large tests run though is just outputting pngs and stitching them together with ffmpeg. Here's a run where I increase the lacunarity from 0.01 up to 3.0: [vid]https://giant.gfycat.com/OpenVictoriousCrocodileskink.mp4[/vid] I made another one too, where I was testing to see how my noise looked when I panned slowly in the +X direction. I increase and decrease persistence in this one, and persistence is pretty much what it says on the tin, just increasing and decreasing how much the noise from successive octaves persists into the final output: [vid]https://giant.gfycat.com/RemorsefulTheseBarb.mp4[/vid] There's a good chance I could render the two videos above in real-time, as the vast majority of my time is spent transferring data from the host and then writing the png output. The kernels themselves complete in a few ms, but if I can get the texture LUT noise working again that should drop as low as sub-ms timing I think
[QUOTE=TeamEnternode;51894175]Look at all the amazing shit I can't do Look at all the things I can do that literally everyone else can[/QUOTE] im not aiming to offend but any time you say something like that i get reminded of those girls on facebook or some shit who post flattering pictures of themselves and then talk about how ugly they are so they can fish for compliments maybe that's not what you're doing but i get reminded of it
It's sheltering when you were brought up to do better than others through your whole life (school) and all the sudden everyone is better than you so much that it would take several college years to catch up to them. It makes you feel worthless. I guess I'm just venting a bit... [editline]1st March 2017[/editline] The worst part is I don't know anyone irl that can program at all. I have noone to really talk to about it. The only two people I know by association is a java programmer my age (which I do not know) and a C++ programmer that lives in Japan. Thus, different time schedules, and I don't get to talk to them very often. And because I know so little compared to everyone here the majority of the time I have no fucking clue what you guys are even talking about, let alone participate in any real discussion that isn't one-sided. It sucks.
[QUOTE=TeamEnternode;51895774]It's sheltering when you were brought up to do better than others through your whole life (school) and all the sudden everyone is better than you so much that it would take several college years to catch up to them. It makes you feel worthless. I guess I'm just venting a bit... [editline]1st March 2017[/editline] The worst part is I don't know anyone irl that can program at all. I have noone to really talk to about it. The only two people I know by association is a java programmer my age (which I do not know) and a C++ programmer that lives in Japan. Thus, different time schedules, and I don't get to talk to them very often. And because I know so little compared to everyone here the majority of the time I have no fucking clue what you guys are even talking about, let alone participate in any real discussion that isn't one-sided. It sucks.[/QUOTE] Find a local association or something, a hackerspace of some kind you can go to once a week or something like that, if there's anything like that around, could be a nice way to meet some likeminded people. I have a friend who did that after she realised nobody she worked with was actually interested in programming at all outside of what was necessary to do the work (bigcorp java programming stuff). I wouldn't worry too much about people here "knowing so much" anyways, most of us are confused part of the time when someone else is talking because we all have our specialties, so you're hardly alone there. .. I definitely don't break out in cold sweat as soon as Fourier posts. :downs:
Sometimes reading the documentation helps: Managed to squeeze out a bit more albedo resolution out of the scans, pretty much for free: [t]https://puu.sh/upXAm.jpg[/t] Also did a second scan of an interesting looking stump I found. [t]https://puu.sh/upVy4.jpg[/t] [t]http://puu.sh/upW2H.jpg[/t] [t]https://puu.sh/upVyU.jpg[/t] If the weather permits I'm going to try and scan some rocks tomorrow!
writing [url=https://github.com/Planimeter/lgameframework]lgf[/url] as a replacement for love has shown me what we're doing wrong with grid unfortunately it also shows me what a lot of people are doing wrong with love altogether, and what things are wrong with love, leave a bad taste, or leave things to be desired additionally, as a result of a year of mostly downtime, [url=https://github.com/Planimeter/grid-sdk/releases]grid 8[/url] is still not out I left the engine in a state of disrepair in a massive engine-wide update while trying to clean things up my downtime has been a result of me spending much of my time with my soon-to-be fiancée I am not sure if I will ever get to finish my game, but I don't regret my decisions, I only wish I had more time [img]http://i.imgur.com/Ca1lsdW.png[/img] I'm working on fixing bugs in the master branch at the moment, so hopefully I'll get back to working on game logic soon
[QUOTE=TeamEnternode;51895774]It's sheltering when you were brought up to do better than others through your whole life (school) and all the sudden everyone is better than you so much that it would take several college years to catch up to them. It makes you feel worthless. I guess I'm just venting a bit... [editline]1st March 2017[/editline] The worst part is I don't know anyone irl that can program at all. I have noone to really talk to about it. The only two people I know by association is a java programmer my age (which I do not know) and a C++ programmer that lives in Japan. Thus, different time schedules, and I don't get to talk to them very often. And because I know so little compared to everyone here the majority of the time I have no fucking clue what you guys are even talking about, let alone participate in any real discussion that isn't one-sided. Of course, this requires you to actually have time to do it, which unfortunally is not a reality for most people. It sucks.[/QUOTE] The best way of solving this is partitioning your daily routine to include time for you to tinker around and actually do it. Years of "college" will give you a great deal of foundation to build upon, and loads of ideas to build with, but it will never replace actually owning up and doing it. Choose easy milestones and conquer them, slowly building up difficulty/complexity. Whenever you get easy assignments, try to up their difficulties and make them more engineered than they need to be, but without going so far you can't finish it. Learn to understand and appreciate the time budget [B]you[/B] need to do these things.
[QUOTE=andrewmc;51896466]writing [url=https://github.com/Planimeter/lgameframework]lgf[/url] as a replacement for love has shown me what we're doing wrong with grid unfortunately it also shows me what a lot of people are doing wrong with love altogether, and what things are wrong with love, leave a bad taste, or leave things to be desired[/QUOTE] Would you care to write about any of these findings?
-snip-
[QUOTE=TeamEnternode;51895774]It's sheltering when you were brought up to do better than others through your whole life (school) and all the sudden everyone is better than you so much that it would take several college years to catch up to them.[/QUOTE] Hate to say it, but that sounds like the opposite of sheltering dude. It sounds like a reality check, and a totally overdue one at that. How can you expect to be the best at things that you have little practice in? If people became expert programmers overnight it wouldn't be in demand or satisfying to work in. Everything takes time and every person here who is doing impressive stuff had to work at it for months and years, and many will dedicate their whole life to being better developers. I'm at game developers conference and junior and senior developers alike are here to improve their skills. Don't worry about not knowing others who program in the real world. You've got the community here to inspire you and answer questions. Just worry about improving your own skills incrementally and before you know it you'll be on the other end of the fence. Believe in yourself, comparison is the thief of joy.
[QUOTE=Socram;51896662]Hate to say it, but that sounds like the opposite of sheltering dude. It sounds like a reality check, and a totally overdue one at that. How can you expect to be the best at things that you have little practice in? If people became expert programmers overnight it wouldn't be in demand or satisfying to work in. Everything takes time and every person here who is doing impressive stuff had to work at it for months and years, and many will dedicate their whole life to being better developers. I'm at game developers conference and junior and senior developers alike are here to improve their skills. Don't worry about not knowing others who program in the real world. You've got the community here to inspire you and answer questions. Just worry about improving your own skills incrementally and before you know it you'll be on the other end of the fence. Believe in yourself, comparison is the thief of joy.[/QUOTE] [QUOTE=JohnnyOnFlame;51896473]The best way of solving this is partitioning your daily routine to include time for you to tinker around and actually do it. Years of "college" will give you a great deal of foundation to build upon, and loads of ideas to build with, but it will never replace actually owning up and doing it. Choose easy milestones and conquer them, slowly building up difficulty/complexity. Whenever you get easy assignments, try to up their difficulties and make them more engineered than they need to be, but without going so far you can't finish it. Learn to understand and appreciate the time budget [B]you[/B] need to do these things.[/QUOTE] Thanks guys. Sorry for looking like an attention whore. In other news, I finally got [url=https://github.com/TeamEnternode/Command-Line-Calculator]the calculator I mentioned last thread[/url] to actually do something. It can divide polynomials! The code is complete spaghetti but I'll clean that up. But this is probably the best thing I've made... But who cares I fucking made it and I fucking love it. [img]http://i.imgur.com/4Aqo7iZ.png[/img] And it's actually correct! Perhaps after I clean it up a bit I can get it to factor polynomials. That'd be great.
[QUOTE=Perl;51896499]Would you care to write about any of these findings?[/QUOTE] one example is a grid-specific thing we do, so this isn't a love issue, it's just a poor design choice on my part we have a concept of a framebuffer stack, which was originally implemented for the ui when a framebuffer invalidates, let's say after a resolution change, the next time it goes to render, we do this: [lua]function framebuffer:render() local renderStack = framebuffer._renderStack love.graphics.setCanvas( self._framebuffer ) table.insert( renderStack, self._framebuffer ) self._func() table.remove( renderStack, #renderStack ) love.graphics.setCanvas( renderStack[ #renderStack ] ) end [/lua] [editline]1st March 2017[/editline] here's another one: grid expects all `line` mode rectangles to have "borders", not for lines to be based on vertices, then later triangulated by an underlying framework as a result our `love.graphics.line` function looks like [lua]function love.graphics.rectangle( mode, x, y, width, height, rx, ry, segments ) if ( mode == "line" ) then local lineWidth = love.graphics.getLineWidth() x = x + lineWidth / 2 y = y + lineWidth / 2 width = width - lineWidth height = height - lineWidth end rectangle( mode, x, y, width, height, rx, ry, segments ) end [/lua] [editline]1st March 2017[/editline] I might be overreaching when I say this, but my guess is that to the uninformed, these implementations are just subtle enough to not warrant surprise or outrage. However, with enough background knowledge, these are unfortunately, outrageous. Now that I'm "enlightened," I sadly have to fix many places where these design choices have been introduced, as well as rework a significant portion of UI functionality.
[QUOTE=andrewmc;51896466]writing [url=https://github.com/Planimeter/lgameframework]lgf[/url] as a replacement for love has shown me what we're doing wrong with grid unfortunately it also shows me what a lot of people are doing wrong with love altogether, and what things are wrong with love, leave a bad taste, or leave things to be desired additionally, as a result of a year of mostly downtime, [url=https://github.com/Planimeter/grid-sdk/releases]grid 8[/url] is still not out I left the engine in a state of disrepair in a massive engine-wide update while trying to clean things up my downtime has been a result of me spending much of my time with my soon-to-be fiancée I am not sure if I will ever get to finish my game, but I don't regret my decisions, I only wish I had more time [img]http://i.imgur.com/Ca1lsdW.png[/img] I'm working on fixing bugs in the master branch at the moment, so hopefully I'll get back to working on game logic soon[/QUOTE] I would probably start off with trying to find a way to do Multithreading while keeping complexity low. Just crapping out Legacy OpenGL calls on the main thread isn't acceptable for desktop, let alone for mobile. Which probably means you have to move closer to a more full-blown engine like design, rather then a media framework, and that's difficult while keeping the appeal of Love2D. But maybe having the engine 'middleware' relatively simple and easily accessible/modifiable is good enough
I've been working on a scripting language and VM for the past 2 weeks. No generators. Very simple and generic so far, but it's something. The long-term goal is to very heavily specialize it for 2D game development implement it into my game engine with a JIT compiler. [video=youtube;FZ6pwJwX70s]https://www.youtube.com/watch?v=FZ6pwJwX70s[/video]
I participated in my first hackathon last semester at uni and I actually won a category - best use of Amazon Web Services, I just used them to host lol. I had never before (or since) used http, it was awful. The theme was "Civic Engagement" or something, so I had the idea of creating a site that could point you in the right direction of a place to donate food or clothing based on zipcode. I even thought of implementing a forum thing for volunteer organizations to post looking for anyone to volunteer time. Well that was hard and I couldn't for the life of me figure out zipcode stuff so I made a small drop down list and went from there. It's really, really hacked together but I've always loved coming to WAYWO and seeing the cool stuff all y'all put together so I figured it'd be nice to post content for once. I'm not a CompSci major btw, I think I'd be failing if I was. [URL="http://oconnellpatrick.com/"]Link[/URL]
[QUOTE=Tamschi;51893460]Purely for information, what's the reply size/request size ratio on that? [/QUOTE] 1:1, no actual information (other than a "this is a ping packet" identifier) is sent to the game server, and the game server sends a response back (identifying as "this is a ping response packet")
[QUOTE=fewes;51896187]Sometimes reading the documentation helps: Managed to squeeze out a bit more albedo resolution out of the scans, pretty much for free: [t]https://puu.sh/upXAm.jpg[/t] Also did a second scan of an interesting looking stump I found. [t]https://puu.sh/upVy4.jpg[/t] [t]http://puu.sh/upW2H.jpg[/t] [t]https://puu.sh/upVyU.jpg[/t] If the weather permits I'm going to try and scan some rocks tomorrow![/QUOTE] I like the details of these, now that you say weather. Are you taking pictures and sanning them into models? Sorry, if it's a rather stupid question. But I'm not familiar with this concept.
[QUOTE=freshfruits;51898406]I like the details of these, now that you say weather. Are you taking pictures and sanning them into models? Sorry, if it's a rather stupid question. But I'm not familiar with this concept.[/QUOTE] Not a stupid question at all! I am indeed taking a bunch of pictures and using them to scan the object with a program called Agisoft PhotoScan. [t]http://puu.sh/uqxGP.jpg[/t] The software aligns the photos automatically (if they are good enough) and can then generate a point cloud -> mesh -> textures, which I finally bake down to a low poly model. Since I don't want any lighting information at all, it's a good idea to try and scan objects which are in shadow, or when it's overcast outside. Reflections also mess up the scans, so scanning wet objects is a no-go. Even with good lighting conditions however, the scans always contain some amount of ambient lighting. This has to be removed post-scan and there are several methods of doing so, including baking ambient occlusion and inverting it, using baked object normals to filter out directional light etc. It's also important to adjust the color so the object does not appear to be already colored by the sky. Right now I am pretty much winging this but I plan on getting a color checker passport, which you can photograph along with your scans and use to adjust colors in Photoshop.
[QUOTE=fewes;51898456]Not a stupid question at all! I am indeed taking a bunch of pictures and using them to scan the object with a program called Agisoft PhotoScan. [t]http://puu.sh/uqxGP.jpg[/t] The software aligns the photos automatically (if they are good enough) and can then generate a point cloud -> mesh -> textures, which I finally bake down to a low poly model. Since I don't want any lighting information at all, it's a good idea to try and scan objects which are in shadow, or when it's overcast outside. Reflections also mess up the scans, so scanning wet objects is a no-go. Even with good lighting conditions however, the scans always contain some amount of ambient lighting. This has to be removed post-scan and there are several methods of doing so, including baking ambient occlusion and inverting it, using baked object normals to filter out directional light etc. It's also important to adjust the color so the object does not appear to be already colored by the sky. Right now I am pretty much winging this but I plan on getting a color checker passport, which you can photograph along with your scans and use to adjust colors in Photoshop.[/QUOTE] That's actually pretty awesome. By any chance, are you currently in the phase to develop a VR game? As this could actually be pretty interesting, by getting the models the way you're doing it.
[QUOTE=TeamEnternode;51894175]Look at all the amazing shit I can't do Look at all the things I can do that literally everyone else can[/QUOTE] I've been posting here for like, 7 years now, which is around as long as I've been programming, although I think I only started posting here post the PSP era of me learning to code. If you go back to my earliest posts, a lot of it is like "look guys i can add numbers together", 99% of everything i've done from shit to making this game is on here Programming takes a very long time to get even remotely good, I'd still consider myself a relatively bad programmer, and everyone else *seems* like they're much better than you are. But really its just a culmination of 100000000s of hours of work, nobody is doing anything special
[QUOTE=freshfruits;51898511]That's actually pretty awesome. By any chance, are you currently in the phase to develop a VR game? As this could actually be pretty interesting, by getting the models the way you're doing it.[/QUOTE] I was actually working on a VR game a while back but I've sort of lost interest in it. Photoscanning can be used pretty well with VR though, as seen in the two photoscanned environments found in Valve's Lab renderer. It's really hard to use for anything other than static environments though, which makes such a VR experience sort of dull in my opinion.
I need a project to work on but I don't feel motivated by anything. There's a feature I plan to implement for my ECS but I just don't want to right now because I know it's going to be a lot of wrangling that I don't feel like right now. Was trying to work on some sort of AI shooting sim but the more I think about it (having to add physics/collision in 3d, etc) the less I want to.
[QUOTE=TeamEnternode;51894175]Look at all the amazing shit I can't do Look at all the things I can do that literally everyone else can[/QUOTE] Not everyone else! I personally can't do a fuckin thing my guy
I think there's a sort of [url=https://en.wikipedia.org/wiki/Cheerleader_effect]cheerleader effect[/url] going on. We all seem like a lot more competent programmers when seeing this stream of our collective work. Not to say that there's no competent people posting here :) But I do think there's a cognitive bias.
[QUOTE=fewes;51898456]Not a stupid question at all! I am indeed taking a bunch of pictures and using them to scan the object with a program called Agisoft PhotoScan.[/QUOTE] Reminds me of Photosynth/SeaDragon. Too bad they got axed :(
[url]https://www.dropbox.com/s/yy3o8ee6go6jthg/bezierfit.pdf?dl=0[/url] Not a computer program but working out the formula to make a G2 continuous Bezier curve for graphing a function with SVG Bezier curves. Lets you generate a cubic Bezier curve between two points with specified dy/dx and d^2/dx^2 at those two points.