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
LOLLERZ
Dec 9, 2003
ASK ME ABOUT SPAMMING THE REPORT FORUM TO PROTECT ~MY WIFE'S~ OKCUPID PERSONALS ANALYSIS SA-MART THREAD. DO IT. ALL THE TIME. CONSTANTLY. IF SHE DOESN'T HAVE THE THREAD, SHE'LL WANT TO TALK TO ME!

shrughes posted:

It's not my fault you're all optically challenged.
Shruges you should also consider that people are going to want to fly through this page with flick scrolling. If you make new posts really loving obvious it will let you scroll a lot faster and be sure you didn't miss anything.

Adbot
ADBOT LOVES YOU

Voronoi Potato
Apr 4, 2010
I'm actually with Shrughes. It's quite visible to me although somewhat subtle, and it's not in anyway unusable. I enjoy how it's a small enough change that it doesn't change the actual look of the page.

shrughes
Oct 11, 2008

(call/cc call/cc)

arvash posted:

I'm actually with Shrughes. It's quite visible to me although somewhat subtle, and it's not in anyway unusable. I enjoy how it's a small enough change that it doesn't change the actual look of the page.

I was sort of in denial/trolling about that. It looked fine on my computer screen, but while casually browsing HN on my phone yesterday, I noticed that the background looked completely white -- this was in Safari, not in my app. So I'm going to go with a little bold label saying the comment is new, or edited.

The Wizard of Oz
Feb 7, 2004

Flash-learning project. This is a thing to build things. It has obvious possibilities for making it more directed, thereby making a game out of it, but mostly I just want to build poo poo to do interesting things without having to hunt down breadboards and wires or gears. So essentially I am spending hundreds of times the energy to dick around.



My electronic simulation is based on water flow :P

AgentF
May 11, 2009
Very early work on my first dalliance in C#, using Visual C# 2010:

shrughes
Oct 11, 2008

(call/cc call/cc)
Alright, I've changed the app a bit, so that it shows unread comments with the word "(new)". And now it supports showing the number of unread posts whenever the title of a thread appears. Also, a few aesthetic improvements happened, like fixing the line height in the title and doubling the size of the voting arrows. Oh, and now you don't have to worry about fat-fingering your voting.


POKEMAN SAM
Jul 8, 2004

shrughes posted:

Oh, and now you don't have to worry about fat-fingering your voting.


Why don't you just have a Vote button, that when you press it, it says "Vote Up/Vote Down/Cancel"?

shrughes
Oct 11, 2008

(call/cc call/cc)

Ugg boots posted:

Why don't you just have a Vote button, that when you press it, it says "Vote Up/Vote Down/Cancel"?

Effort.

edit: Right now it just requires the insertion of a Javascript confirm(...) call in the javascript code at the right location. You can't use Javascript, as far as I know, to get arbitrary buttons. So you'd need to build the dialogue out of HTML.

shrughes fucked around with this message at 22:16 on Apr 19, 2010

POKEMAN SAM
Jul 8, 2004

shrughes posted:

Effort.

edit: Right now it just requires the insertion of a Javascript confirm(...) call in the javascript code at the right location. You can't use Javascript, as far as I know, to get arbitrary buttons. So you'd need to build the dialogue out of HTML.

Yeah, I didn't realize that you couldn't customize the confirm dialog. Lame.

Pfhreak
Jan 30, 2004

Frog Blast The Vent Core!
I've been toying with building a procedural terrain generation system.

Please excuse the texturing, the pixel shader was something slapdash to try and avoid the heightmap stretching on the y axis and the textures were more or less the first result for sand, rock, and grass.



It works by first generating noise (diamond square or perlin), smoothing the result, and mixing it with a Veroni diagram. Then it simulates rainfall across the mesh, resulting in some flatter areas and general smoothing, while accentuating the cliffs. Another smoothing pass or three to get rid of the artifacts of the erosion, and voila.

On my quad core machine, this process takes about 10 seconds to build a 1024x1024 quad mesh. I've also got it stitching together many such generated areas together, and I've let it build areas up to 8096x8096.

I've also got some picking of the terrain (using binary search, no linear search yet) and some highlighting of the terrain.

heeen
May 14, 2005

CAT NEVER STOPS

I added a live glsl editor to my project because I was sick of reloading the whole app just to debug a shader and because Qt is just so easy to work with (and they already had a syntax highlighter example).

Right now I'm just polishing my OpenGL framework and playing around with Qt. For instance I try to track opengl states to minimize state changes. if two consecutive materials use the same shaders, I don't issue calls to change the active shader. Same thing for vbos.

The Wizard of Oz
Feb 7, 2004

Mostly working on making it more usable/better implemented (still with terrible electrics), but I also changed all the graphics over to painted-SketchUp and added some crap:



The gear's for much, much, much later, I just felt like modeling it and painting it and doing its animation and then trying to figure out how to render two meshed gears. I apologise for it not having a shadow.

The Wizard of Oz fucked around with this message at 22:22 on Apr 21, 2010

DeathBySpoon
Dec 17, 2007

I got myself a paper clip!


I've been working on a level editor for a currently nonexistent Metroidvania game in XNA. All of the terrain is polygon based, and at the moment I can draw arbitrary shapes and the editor will triangulate it for drawing and collision. I can also toggle the grid and move vertices that have already been placed. Next up, brushes, and then I get to start on materials :D

Pfhreak
Jan 30, 2004

Frog Blast The Vent Core!

DeathBySpoon posted:



I've been working on a level editor for a currently nonexistent Metroidvania game in XNA. All of the terrain is polygon based, and at the moment I can draw arbitrary shapes and the editor will triangulate it for drawing and collision. I can also toggle the grid and move vertices that have already been placed. Next up, brushes, and then I get to start on materials :D

How are you dealing with physics and the long, narrow triangles? I had a friend who built something similar and ran into trouble when the triangles became extreme.

Also, I'd love to learn about the algorithm you used to build that. What's it called?

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh
Yeah, I'm actually a little surprised you chose to use triangles instead of just convex polygons. Do you actually need to render onto those exact shapes or could you use textures with an alpha channel?

DeathBySpoon
Dec 17, 2007

I got myself a paper clip!
Triangles seemed to be the best way to handle drawing the shapes as primitives, as well as eventually handling collisions. At the moment I don't have a game to go along with it, although I have rudimentary collisions by checking if a point is inside. Later I'll probably check for line intersects to handle situations like the one mentioned above. How would convex polygons be used? This is my first time programming something like this so it's more than possible I overlooked something simple. I used the ear clipping algorithm to turn the arbitrary polygons into triangles, there was a pretty good Java example I can try and find if you'd like.

DeathBySpoon fucked around with this message at 23:53 on Apr 23, 2010

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh
You can use the separating axis theorem to detect collision between any two convex polygons. Basically, any two convex shapes are non-intersecting if and only if there is a line that can be drawn between them without intersecting either shape. For convex polygons, this can be simplified: the line must be parallel to one of the edges.

Then the procedure is: for every edge, draw a line parallel to that edge. Next, draw a line orthogonal to that line: this is your axis. Project both polygons onto the axis. If the projections are disjoint, the two polygons are non-intersecting. If you don't find any disjoint projections, the two polygons are intersecting.

This technique is especially useful because it can easily be generalized to moving polygons, and in the moving case, the separating axis can give you useful information about how and where the objects collided.

Avenging Dentist fucked around with this message at 00:30 on Apr 24, 2010

DeathBySpoon
Dec 17, 2007

I got myself a paper clip!
Awesome, that should be really useful. Thanks for the help!

The Wizard of Oz
Feb 7, 2004

Another, simpler way is just to have the level geometry as a bitmap. To find intersections between shapes you just XOR their bitmaps together.

Generally that should work better than your polygons for a few reasons. It's much easier to paint in new caves or to cleave off steps. It allows you to use one system for painting both intersection and textures. It's much easier to use automatic generation, or filter. For example, you could have a stalactite filter, or a ground smoothing filter. You're also not yelling at floating-point quite as often. Finally, it makes collision detection work at a nearly constant rate, depending upon whether you stitch map sections together or not.

The way I did walking for a GBA game was that I detected how high the collision between the entity and the geometry was. If it was very low, I had the entity step up over it (first checking that it wasn't going to hit its head). If it was medium height, I had the entity mantle it if possible. Very simple and effective. Of course collision was a little more complex because the world used tiles.

Luminous
May 19, 2004

Girls
Games
Gains

Avenging Dentist posted:

You can use the separating axis theorem to detect collision between any two convex polygons. Basically, any two convex shapes are non-intersecting if and only if there is a line that can be drawn between them without intersecting either shape. For convex polygons, this can be simplified: the line must be parallel to one of the edges.

Then the procedure is: for every edge, draw a line parallel to that edge. Next, draw a line orthogonal to that line: this is your axis. Project both polygons onto the axis. If the projections are disjoint, the two polygons are non-intersecting. If you don't find any disjoint projections, the two polygons are intersecting.

This technique is especially useful because it can easily be generalized to moving polygons, and in the moving case, the separating axis can give you useful information about how and where the objects collided.

http://www.metanetsoftware.com/technique/tutorialA.html

That little flash game "N" that people used to play has done tutorials using just this. It's fun, since they have interactive demos for what is occurring.

DeathBySpoon
Dec 17, 2007

I got myself a paper clip!

Snodar posted:

Another, simpler way is just to have the level geometry as a bitmap. To find intersections between shapes you just XOR their bitmaps together.

Sorry, but I don't think this is really the best way to do it, at least not for what I'm going for. Calculating the angles of surfaces on a bitmap is a pain and the bitmap itself takes up a ton of space. If you want to animate surfaces or have them partially transparent it gets to be even more of a bother because then you have to have separate layers. It's also nearly impossible to re-use content. Lastly, that also kills any hope of the game being resolution independent. For a system like the GBA, storing level data like this (well, split into tiles, but the same general idea) works wonderfully. For an exploration game with a large seamless environment that will already have a huge amount of level design overhead, notsomuch.

Luminous posted:

http://www.metanetsoftware.com/technique/tutorialA.html

That little flash game "N" that people used to play has done tutorials using just this. It's fun, since they have interactive demos for what is occurring.

This is awesome.

DeathBySpoon fucked around with this message at 04:08 on Apr 24, 2010

The Wizard of Oz
Feb 7, 2004

DeathBySpoon posted:

Sorry, but I don't think this is really the best way to do it, at least not for what I'm going for. Calculating the angles of surfaces on a bitmap is a pain and the bitmap itself takes up a ton of space. If you want to animate surfaces or have them partially transparent it gets to be even more of a bother because then you have to have separate layers. It's also nearly impossible to re-use content. Lastly, that also kills any hope of the game being resolution independent. For a system like the GBA, storing level data like this (well, split into tiles, but the same general idea) works wonderfully. For an exploration game with a large seamless environment that will already have a huge amount of level design overhead, notsomuch.

I don't think you're giving a fair run at the idea. Reusing content is simple and intuitive. You're just blending layers together, which you can do during baking or at runtime, depending upon what you want; and again even if you used a hundred layers it wouldn't affect runtime speed one nanosecond if they're baked.

The space usage is minimal, as they're low-complexity so PNG (or even just RLE) absolutely ruins them. The other stuff (blending or colour) is murdered by JPEG or anything else due to the generally smooth transitions, and could usually be much lower-resolution. Making it seamless and avoiding issues at the seams is far easier than with polygons.

Animation depends upon what you want to do. Tunnelling is never easier. For most other purposes, using entities rather than trying to fiddle around with level geometry is more sensible.

As to angular information, take two balls that are offset from one another. Drop them to the surface. That is your angle, and it immediately adapts to anything you want to do, from moving platforms to shifting ground (although horizontally-moving platforms are of course more complex, no matter how you work with the level geometry). For having a ball rolling about, you just project the two intersecting balls in the direction of the velocity of the ball to gather surface direction, then use the closest intersecting pixels for the intersection vertices. Anything more complex than that is almost certainly outside your intent so it's irrelevant, but there are plenty of ways to fake almost anything.

Of course there are scenarios where it doesn't work well, but that's the same with polygons, and the scenarios tend to be easier to avoid because they're obvious and purely generated by your level design. Like if you're riding a buggy around and you get caught on a spike, just remove the spike. Much easier than if you're riding a buggy around and you suddenly get fired into the sky while driving on level ground.

It doesn't really have anything to do with resolution independence, any more than terrain resolution does. You can zoom in and out freely, and use alpha testing to keep the boundary smooth. Even if you have 10x the resolution it won't be 10x more noticeable because those men of the future will be stuffing 10x the pixels in the same or similar space.

I don't know what you're talking about with "partially transparent". It doesn't seem germane. Anything complex should be in entities.

As to speed of design, there is nothing that could beat bitmaps because you're just painting, not fiddling with vertices and trying to work around limitations or quirks.

DeathBySpoon
Dec 17, 2007

I got myself a paper clip!
To each their own; I've used that attempt many times before and found it limiting when working with a very small team and not much time. I've dealt a lot with the bugs associated with doing things through tiles / bitmaps and I really want to get away from fixing the same old things over and over again. Smooth angular movement is an absolute pain to do unless you build your entire engine around it (Sonic, etc). Painting isn't something I'm very good at and I really like the workflow with polygons so far. It's been way easier for me to create more interesting layouts. I'm trying to create something similar to UnrealEd 2, except in 2D. I want to be able to totally create a location in the world without having to change anything in code at all. By defining the level in polygons and allowing simple behavior to be mapped to each, I can add things like waving grass, running water, hanging vines, and a number of other elements all without programming anything new. This will allow me and anyone else who is designing maps to have a lot more creativity without interrupting the workflow. Don't get me wrong; using bitmaps is a perfectly legitimate approach, it's just one that I ruled out when deciding how to design my editor.

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


(Click to go to the LD page to play/download)

Here's my Ludum Dare entry named Every Man Is An Island. I probably only spent 18-20 hours on it and almost all of that was art (i'm terrible with art so it took me forever). There's a few bugs with the collision of the whale and it's incredibly short but i'm happy overall with the finished product.

American Psychonauts
Dec 27, 2005

...but inside doesn't matter
I'm working on a few Flash games at the moment.

The first one's a flying/upgrading game. Still has a bunch of my coder art but otherwise it's looking pretty sweet.



This is just some strategy prototype thing with Fire Emblem graphics that I've been testing with flixel. I'm not sure what to do with it.

POKEMAN SAM
Jul 8, 2004
Been working on gameplay features for almost a year now, finally have something that I can see my work in: http://www.guildwars2.com/en/the-game/professions/elementalist/

heeen
May 14, 2005

CAT NEVER STOPS

brian posted:


(Click to go to the LD page to play/download)

Here's my Ludum Dare entry named Every Man Is An Island. I probably only spent 18-20 hours on it and almost all of that was art (i'm terrible with art so it took me forever). There's a few bugs with the collision of the whale and it's incredibly short but i'm happy overall with the finished product.

I don't know what GPU/CPU you develop on, but player movement seems 10x too fast for me. Also the player vanishes if you touch the whale.
Edit: you don't center the screen on the player if he respawns outside of the screen

heeen fucked around with this message at 19:29 on Apr 28, 2010

Doh004
Apr 22, 2007

Mmmmm Donuts...

Ugg boots posted:

Been working on gameplay features for almost a year now, finally have something that I can see my work in: http://www.guildwars2.com/en/the-game/professions/elementalist/

Excuse while I go feel bad for myself and develop more lovely websites.

Showoff :saddowns:

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

heeen posted:

I don't know what GPU/CPU you develop on, but player movement seems 10x too fast for me. Also the player vanishes if you touch the whale.
Edit: you don't center the screen on the player if he respawns outside of the screen

Yeah it's a unity problem I fixed, it worked fine in the web player and in the editor I assumed it worked fine in the standalone. Totally stupid mistake but it should be all fixed now as everything was moved into the physics fixed time step system (like it should've been in the first place but I was really tired). Re-download it or just play it in the browser and it should all be fine :)

army_of_babies
Dec 5, 2004
Fighting for your color TVs
The XNA videogame that I've been working on for a class is due tomorrow, all I'm really going to do is fix up some of the small bugs that I find and then be done. Maybe I'll get around to making it not bound to copyright laws and publish it on xbox over the summer.

http://www.youtube.com/watch?v=Fd3neRm6YI0

Da Gaspodin
May 2, 2006

boxSpin(time);

Da Gaspodin posted:

This is something I've been planning of doing for ages and I finally got started on it.

A multiplatform player / authoring tool for visual effects / demoscene productions / any OpenGL work. Supports syncpoints
with a timeline, dynamically loading the effect files runtime (all the GL code is done with Lua) and sound hooks and playback from FMOD.

The tool consists of three parts:

- Compiled executable with FMOD interface and Lua interpreter. Pure C, ported to OSX, Linux and Windows.
- The timeline and runtime debugging features done with Lua.
- Effect code files done with Lua.



Okay, now I have something that was actually MADE with it, our first demoscene production built with this system:



http://www.youtube.com/watch?v=UpHMU7oFsjI (1080p recommended)

http://low.fi/~visy/bilotrip_bravo.zip (binaries for win32 / Intel OSX)

Inspired by government paranoia, telepathy and numbers stations.

leedo
Nov 28, 2000

I turned my web IRC client into a hosted service. It seems to be holding up pretty well with around 30 people using it simultaneously. Still needs a lot of work before it can handle serious traffic, though.

Profane Obituary!
May 19, 2009

This Motherfucker is Dead

leedo posted:

I turned my web IRC client into a hosted service. It seems to be holding up pretty well with around 30 people using it simultaneously. Still needs a lot of work before it can handle serious traffic, though.



Does this support WEBIRC commands?

leedo
Nov 28, 2000

Profane Obituary! posted:

Does this support WEBIRC commands?

Nope, I hadn't heard of that before now. Looks like it could be useful, so thanks. :)

Kennedy
Aug 1, 2006


hard to breathe?
Hmm, loads of work lately;

My dissertation was based on seeing how feasable it was to use HTNs to control AI on a per-agent level for gameplay. Long story short, it was something like 4% less efficient than the Valve AI in Half Life 2, but won 30/30 deathmatch games against the Valve AI. Resounding success.
https://www.youtube.com/watch?v=SOr4HwOhSVo


Second and most recent is a XNA space-sim I'm building. Hot off the presses as of a few mins ago:
https://www.youtube.com/watch?v=JTSO6Ugc7_U

Some custom shaders written for the sun combined with a tutorial-based post-processing bloom effect added (it's supposed to be subtle :ssh:).

(P.S any game devs in Dublin, Ireland looking for a graduate to shout at, give me a shout please :) )

Luminous
May 19, 2004

Girls
Games
Gains

Kennedy posted:

Hmm, loads of work lately;

My dissertation was based on seeing how feasable it was to use HTNs to control AI on a per-agent level for gameplay. Long story short, it was something like 4% less efficient than the Valve AI in Half Life 2, but won 30/30 deathmatch games against the Valve AI. Resounding success.
https://www.youtube.com/watch?v=SOr4HwOhSVo


Second and most recent is a XNA space-sim I'm building. Hot off the presses as of a few mins ago:
https://www.youtube.com/watch?v=JTSO6Ugc7_U

Some custom shaders written for the sun combined with a tutorial-based post-processing bloom effect added (it's supposed to be subtle :ssh:).

(P.S any game devs in Dublin, Ireland looking for a graduate to shout at, give me a shout please :) )

Those are both really cool. Is the AI video from the perspective of your bot vs valve bots? Or is it you versus your bots? I assume by the last comment in the video that you are the player and the bot is what you are shooting at, who is not doing anything, but I wanted to be sure.

Zakalwe
May 12, 2002

Wanted For:
  • Terrorism
  • Kidnapping
  • Poor Taste
  • Unlawful Carnal Gopher Knowledge

Kennedy posted:

Hmm, loads of work lately;

My dissertation was based on seeing how feasable it was to use HTNs to control AI on a per-agent level for gameplay. Long story short, it was something like 4% less efficient than the Valve AI in Half Life 2, but won 30/30 deathmatch games against the Valve AI. Resounding success.
https://www.youtube.com/watch?v=SOr4HwOhSVo


Second and most recent is a XNA space-sim I'm building. Hot off the presses as of a few mins ago:
https://www.youtube.com/watch?v=JTSO6Ugc7_U

Some custom shaders written for the sun combined with a tutorial-based post-processing bloom effect added (it's supposed to be subtle :ssh:).

(P.S any game devs in Dublin, Ireland looking for a graduate to shout at, give me a shout please :) )


Apply to Havok. They always have openings. Demonware are another good bet. If you're a TCD alumnus, then I believe Stefan Weber in the Lloyd Institute is a good man to talk to. He has a lot of contact in the development and research council.

seregrail7
Nov 3, 2006

Kennedy posted:

(P.S any game devs in Dublin, Ireland looking for a graduate to shout at, give me a shout please :) )

Unfortunately there's sweet gently caress all in Ireland. As said there's Demonware and Havok, PopCap have a place in Dublin and were recently looking for someone to port their framework to XNA, I applied and didn't hear anything which was no surprise considering they wanted someone with 5 years experience. There's some online MMO place(Gala I think) but they only ever seem to be looking for game masters. Any other developers I'm aware of are indies making games in their spare time.

I'm still deciding on whether or not I'm going to apply for the Masters in Interactive Entertainment in Trinity this year, I graduated last year but was a bit burned out with college so thought I'd leave it. I'm just not really into the whole academic stuff though and a masters is going to be even more of that than in my degree so that's putting me off.

You should have an ask in this thread, there's plenty of guys from the UK in it, so there might be something there if you're willing to move.

Zakalwe
May 12, 2002

Wanted For:
  • Terrorism
  • Kidnapping
  • Poor Taste
  • Unlawful Carnal Gopher Knowledge

seregrail7 posted:

I'm still deciding on whether or not I'm going to apply for the Masters in Interactive Entertainment in Trinity this year, I graduated last year but was a bit burned out with college so thought I'd leave it. I'm just not really into the whole academic stuff though and a masters is going to be even more of that than in my degree so that's putting me off.

IET is a great course. Nobody I've met who's done it has had a bad thing to say about it. Have a chat to John Dingliana about it (GV2, Ground floor, Lloyd institute). I believe he heads it up now.

Adbot
ADBOT LOVES YOU

Sebbe
Feb 29, 2004

I've been working a bit on some sorting algorithm visualization, á la these Java ones.

It's done in Python with PyGame, available on github if you're curious; or you could just watch an example of it running quicksort without having to download anything:

Only registered members can see post attachments!

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