Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
bobthecheese
Jun 7, 2006
Although I've never met Martha Stewart, I'll probably never birth her child.


I'm making a multi-player/competitive version of conways Game Of Life.

It still needs work, but the current version is available here: Game of Life: Total War

Adbot
ADBOT LOVES YOU

a slime
Apr 11, 2005

Working on CS:GO stuff again. Click for gyfcat.

Internet Janitor
May 17, 2008

"That isn't the appropriate trash receptacle."
I just organized a successful CHIP-8 themed game jam! The results are in and all fully playable in the browser. Special thanks to SharpenedSpoonv2 for help building the jam webpage and everybody who participated.



You can try the games here:

http://octojam.com/games

Sauer
Sep 13, 2005

Socialize Everything!
Turnover '77 is legit fun to play.

Jewel
May 2, 2009

Ahah, yeah, these are really neat! I like that you let people pick their own palettes in chip8, good decision.

Sauer posted:

Turnover '77 is legit fun to play.

:allears: Did you make that Internet Janitor? (Asking because it has no name set)

It's actually based off a real game!

Edit: BOULDER DASH (rockto) :swoon:

Jewel fucked around with this message at 22:58 on Nov 1, 2014

Internet Janitor
May 17, 2008

"That isn't the appropriate trash receptacle."
Nope, I intentionally sat the jam out for the sake of fairness (even though it isn't really a competition) and bided my time with bugfixes and work on some fancy new features for Octo. The credit for Turnover '77 all belongs to Dr. Stab.

If it looks like fun, please don't let the end of the jam stop you from doing a bit of tinkering- I fully intend to organize another Octojam next year and the Chip8 thread would love to hear about any projects you guys come up with in the meantime.

TheresaJayne
Jul 1, 2011

Centripetal Horse posted:

They are great fun. In fact, I decided to roll another L-System thingamabob of my own.




Pictured are a capillary/tree thing, a dragon curve, a Hilbert curve, a Koch curve, a Peano curve, a Sierpinski gasket, a non-intersecting Sierpinski gasket, and some random baloney I made up because I like even numbers and I didn't want to post seven images. The colors are because I can.

In unrelated news, Chrome doesn't put a squiggly red line under "thingamabob."

Edit: I'm happy to share the code if you or anyone else want it. Be warned, though, it's ugly. I changed direction about a dozen times, and there's all kinds of things in classes that shouldn't be classes, the logic is illogical, the program structure is bizarre, and I think interfaces even made a brief appearance. Also, it's written in Monkey

The triangle one i learnt how to program that as part of my CS course.

Take 3 points then randomly choose one of the 3 points and move 1/2 the distance to that point, rinse and repeat.

we were taught it as a simple fractal.

Centripetal Horse
Nov 22, 2009

Fuck money, get GBS

This could have bought you a half a tank of gas, lmfao -
Love, gromdul
I've done some more fiddling with the L-System toy I posted about, earlier. I've added new features.

Draw the curve one segment at a time, instead of updating after each iteration:




Draw using ellipses instead of line segments:




Adjust the x- and y-radius of the ellipses for some cool effects:




I love working with these, but I am not sure if there is any practical application. Maybe I could make an L-System interpreter for creating cool images and animated gifs. I could clean it up and put into a proper library, but I don't know if there's any practical application for that.



TheresaJayne posted:

The triangle one i learnt how to program that as part of my CS course.

Take 3 points then randomly choose one of the 3 points and move 1/2 the distance to that point, rinse and repeat.

we were taught it as a simple fractal.

The figured generated by L-Systems are created by recursion and are self-similar. They are fractal in nature, but there are no calculations involved. Instead, you provide a set of instructions (move forward, turn left, etc), and turn them loose.

Tres Burritos
Sep 3, 2009

Centripetal Horse posted:

I love working with these, but I am not sure if there is any practical application. Maybe I could make an L-System interpreter for creating cool images and animated gifs. I could clean it up and put into a proper library, but I don't know if there's any practical application for that.

This always impressed the hell out of me.

Shalinor
Jun 10, 2002

Can I buy you a rootbeer?

Centripetal Horse posted:

I love working with these, but I am not sure if there is any practical application.
Yeah, there is, they can model plant growth. You need to add a few commands to the typical l-system set ("leaf node", "branch" with a "delay" argument, lines need to grow thicker with each second, etc), but they're excellent at modeling real-time growing plants. That in turn has a bunch of game applications in the area of farming sims, gardening sims, yada.

I'm really surprised no one's made a killer farming sim for the German market, for instance.

steckles
Jan 14, 2006


Finally got around to implementing sprites. As usual, overdraw is the enemy. Sorting the sprites near to far and using a z-buffer is almost 25% faster than drawing them in arbitrary order and almost 40% faster than drawing them back to front without a z-buffer.

The world scale is different, so ol' Caco here is looking a little more squat here than in Doom.

steckles fucked around with this message at 22:27 on Nov 4, 2014

toiletbrush
May 17, 2010
Thats awesome...utterly awesome. Is there still overdraw on sprites that partially occlude each other though? Or are there ways around that? Also how does your lighting work? I've got so many questions but I don't really want to ask them because I don't want my engine to be a total rip-off of yours (if I ever get round to writing it).

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.
Steckles, you could investigate span buffers if you want to get rid of overdraw but with better cache usage.

Careful Drums
Oct 30, 2007

by FactsAreUseless

Sereri posted:

You should make a Windows Phone version of Awful.app out of spite

i unironically need a better Awful windows phone app. does bootleg robot (the app says its from him) post around here?

I guess i could make it myself

NorthByNorthwest
Oct 9, 2012
Started playing around with Perlin Noise. Shaders are way too much fun.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

steckles posted:


Finally got around to implementing sprites. As usual, overdraw is the enemy. Sorting the sprites near to far and using a z-buffer is almost 25% faster than drawing them in arbitrary order and almost 40% faster than drawing them back to front without a z-buffer.

The world scale is different, so ol' Caco here is looking a little more squat here than in Doom.

You're lucky that the Doom world is completely devoid of tinted glass panes and jelly monsters.

Baloogan
Dec 5, 2004
Fun Shoe

steckles
Jan 14, 2006

toiletbrush posted:

Thats awesome...utterly awesome. Is there still overdraw on sprites that partially occlude each other though? Or are there ways around that? Also how does your lighting work? I've got so many questions but I don't really want to ask them because I don't want my engine to be a total rip-off of yours (if I ever get round to writing it).
Thanks! There's no overdraw between sprites as the z-buffer takes care of that. The texture mapper needs to compute world-space x,y, and z coordinates for each pixel, so distance2 is used as an index into an array that has a pre-gamma-corrected falloff curve. This number is then added to the sector light level and then clamped to 0-255.

As for questions, ask away. I was thinking of releasing the source code, assuming I can get it clean enough.

Sagacity posted:

Steckles, you could investigate span buffers if you want to get rid of overdraw but with better cache usage.
That's a good idea. Right now, sprites are drawn after the world is. The world rendering already uses a span-buffer of sorts to avoid overdraw, so it'd probably be pretty simple to generate spans for sprites and clip the world against them as well. That'd also let sprites terminate ray-sector traversal if a sprite column completely covers the span between sectors. That'd also work for walls with transparent segments.

Suspicious Dish posted:

You're lucky that the Doom world is completely devoid of tinted glass panes and jelly monsters.
Indeed. Although I don't think there's any solution for that except eating the cost of the overdraw.

Zaphod42
Sep 13, 2012

If there's anything more important than my ego around, I want it caught and shot now.

NorthByNorthwest posted:

Started playing around with Perlin Noise. Shaders are way too much fun.


That's a super slick animation. :)

Mmmm that 90s plasma texture...

Shalinor
Jun 10, 2002

Can I buy you a rootbeer?

Zaphod42 posted:

Mmmm that 90s plasma texture...
Plasma and fire demos were the best. THE BEST.

I still want to experiment with palette rendering / rotation in shader space, someday. You could do some truly trippy things with that at the base of some shader code.

Zaphod42
Sep 13, 2012

If there's anything more important than my ego around, I want it caught and shot now.

Shalinor posted:

Plasma and fire demos were the best. THE BEST.

I still want to experiment with palette rendering / rotation in shader space, someday. You could do some truly trippy things with that at the base of some shader code.

Doing trippy poo poo with palette rotation is how I learned to use shaders in the first place :)

TheresaJayne
Jul 1, 2011

NorthByNorthwest posted:

Started playing around with Perlin Noise. Shaders are way too much fun.


That would make an amazing Teleport Effect in a game.

brian
Sep 11, 2001
I obtained this title through beard tax.

Zaphod42 posted:

Doing trippy poo poo with palette rotation is how I learned to use shaders in the first place :)

Perhaps you might be of help with my palette based shader question in the 3D thread? I feel like i'm missing something important about sampler lookups :(

http://forums.somethingawful.com/showthread.php?threadid=2897255&userid=0&perpage=40&pagenumber=47#post437237097

Jewel
May 2, 2009

For everyone who was talking about L-Systems earlier: There's a twitter bot that generates random L-Systems, draws them, then tweets them :allears:

You can find it here: https://twitter.com/LSystemBot

Some of the latest ones aren't that great but keep going back and there's some wonderful ones. Just click any of them and then you can use the right arrow to cycle quickly along.

Jewel fucked around with this message at 00:43 on Nov 9, 2014

shodanjr_gr
Nov 20, 2007

NorthByNorthwest posted:

Started playing around with Perlin Noise. Shaders are way too much fun.


Perlin Noise Best Noise.

The guy got an Academy Award for coming up with that stuff.

Centripetal Horse
Nov 22, 2009

Fuck money, get GBS

This could have bought you a half a tank of gas, lmfao -
Love, gromdul

Jewel posted:

For everyone who was talking about L-Systems earlier: There's a twitter bot that generates random L-Systems, draws them, then tweets them :allears:

You can find it here: https://twitter.com/LSystemBot

Some of the latest ones aren't that great but keep going back and there's some wonderful ones. Just click any of them and then you can use the right arrow to cycle quickly along.

Oh, come on. Really? I was so pleased with my little project, and then this. I thought my thing was so cool, but it is not. LSystemBot is cool.

I don't want to poo poo up the thread with too much of my L-System fun, but I think these two are pretty nice:


NorthByNorthwest posted:

Started playing around with Perlin Noise. Shaders are way too much fun.


This is also cool.

Schmerm
Sep 1, 2000
College Slice

NorthByNorthwest posted:

Started playing around with Perlin Noise. Shaders are way too much fun.


Is that oldschool Perlin Noise or the updated Simplex Noise algorithm?

http://en.wikipedia.org/wiki/Simplex_noise

MarsMattel
May 25, 2001

God, I've heard about those cults Ted. People dressing up in black and saying Our Lord's going to come back and save us all.
I wrote a blog about implementing Dual Contouring: http://ngildea.blogspot.co.uk/2014/11/implementing-dual-contouring.html

NorthByNorthwest
Oct 9, 2012

Schmerm posted:

Is that oldschool Perlin Noise or the updated Simplex Noise algorithm?

http://en.wikipedia.org/wiki/Simplex_noise

I'll admit I cheated a bit and used GLSL's implementation (https://www.opengl.org/sdk/docs/man/html/noise.xhtml), which I quickly found out wasn't supported on all cards.
Looks like i've got some more reading to do!

shodanjr_gr
Nov 20, 2007

NorthByNorthwest posted:

I'll admit I cheated a bit and used GLSL's implementation (https://www.opengl.org/sdk/docs/man/html/noise.xhtml), which I quickly found out wasn't supported on all cards.
Looks like i've got some more reading to do!

Which cards is the noise function actually supported on?

clockwork automaton
May 2, 2007

You've probably never heard of them.

Fun Shoe


Better bounding boxes for my game thing. At first I calculated them by hand, and then my friend clued me in that I was being dumb and I could just check for the transparent edges in the PNG file and build the bounding boxes from that which I am doing now.

Jewel
May 2, 2009

clockwork automaton posted:



Better bounding boxes for my game thing. At first I calculated them by hand, and then my friend clued me in that I was being dumb and I could just check for the transparent edges in the PNG file and build the bounding boxes from that which I am doing now.

Really really cute style, I'm digging this a lot!!

Voronoi Potato
Apr 4, 2010

clockwork automaton posted:



Better bounding boxes for my game thing. At first I calculated them by hand, and then my friend clued me in that I was being dumb and I could just check for the transparent edges in the PNG file and build the bounding boxes from that which I am doing now.

bbbut hit polys are the way of the future! Loving the art style, it reminds me of something but I can't put my finger on it.

LP0 ON FIRE
Jan 25, 2006

beep boop

clockwork automaton posted:



Better bounding boxes for my game thing. At first I calculated them by hand, and then my friend clued me in that I was being dumb and I could just check for the transparent edges in the PNG file and build the bounding boxes from that which I am doing now.

Is this a bounding box for collision? I found collision boxes that change shape in 2D games can cause issues and it's better to have a rectangle that stays the same size, and it's okay to have some of the animation not detect collision. Also wouldn't the lower right detect a collision, even though a lot of the time it's not a part of the bird?

Superschaf
May 20, 2010

Generally try to make the collision box smaller than the object it is attached to (unless you are doing an FPS or otherwise want to actually hit a thing). You don't want the player to get frustrated when they clip something by a pixel, give them some leeway instead.

LP0 ON FIRE
Jan 25, 2006

beep boop

Superschaf posted:

Generally try to make the collision box smaller than the object it is attached to (unless you are doing an FPS or otherwise want to actually hit a thing). You don't want the player to get frustrated when they clip something by a pixel, give them some leeway instead.

Right. A few examples where it would be noticeably unfair, is if you hit something in these areas:



Looks silly, but the best collision box would be something like this:



That, or have multiple rectangles, as long as you aren't detecting collision that stops the bird from moving, because then you can get hung up on a corner.

clockwork automaton
May 2, 2007

You've probably never heard of them.

Fun Shoe

LP0 ON FIRE posted:

Right. A few examples where it would be noticeably unfair, is if you hit something in these areas:



Looks silly, but the best collision box would be something like this:



That, or have multiple rectangles, as long as you aren't detecting collision that stops the bird from moving, because then you can get hung up on a corner.

Yeah, I can give that I try. Luckily this is just a collision check with another single rectangle that will cause a game over so it won't cause it to get hung up. Though, oddly when I was looking up how to check transparent pixels in PNGs with love2d I found someone that was using that entirely for their collisions so they were comparing the pixels of two pngs, which seems so nuts.

LP0 ON FIRE
Jan 25, 2006

beep boop

clockwork automaton posted:

Yeah, I can give that I try. Luckily this is just a collision check with another single rectangle that will cause a game over so it won't cause it to get hung up. Though, oddly when I was looking up how to check transparent pixels in PNGs with love2d I found someone that was using that entirely for their collisions so they were comparing the pixels of two pngs, which seems so nuts.

I guess it depends on how busy your game is doing checks. It might be worth the expense if not much else is going on. You might as well give it a try if you think it would be neat to have it that accurate, and you can see how much it slows things down, if at all. Otherwise, you should use multiple rectangular areas that are fair. I guarantee you that part of a feather that doesn't have a bounding box going through a wall won't look weird to the player. Or, if you don't mind doing the extra research of how to check for collision, maybe a polygon with angles would be good to use.

NorthByNorthwest
Oct 9, 2012

shodanjr_gr posted:

Which cards is the noise function actually supported on?

From what I can tell, no NVidia cards, and only a few ATI. IOS might've supported it for a while too.
I guess I'll give texture lookups or simplex a try next. Seems a bit more flexible anyway.

Adbot
ADBOT LOVES YOU

SupSuper
Apr 8, 2009

At the Heart of the city is an Alien horror, so vile and so powerful that not even death can claim it.

NorthByNorthwest posted:

From what I can tell, no NVidia cards, and only a few ATI. IOS might've supported it for a while too.
I guess I'll give texture lookups or simplex a try next. Seems a bit more flexible anyway.
There's also this popular implementation (GLSL shaders that work across hardware): https://github.com/ashima/webgl-noise/wiki

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply