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
fankey
Aug 31, 2001

That Turkey Story posted:

Seconding this. Dials are always a little weird in software. They just don't translate over very well.

Dials that attempt to mimic the real world and require you to move the mouse in an arc have a special place in hell - even better if they don't capture the mouse and require you to move the indicator on the knob face accurately. Our software has had dials that increase value when you move up or right and decrease when you move down or left for quite some time and our users seem to prefer that over just using a vertical change. They really just become a more compact fader representation at that point.

Adbot
ADBOT LOVES YOU

Volte
Oct 4, 2004

woosh woosh
Another obvious problem -- what happens when the knob is on the left edge of the screen and turned down all the way? You won't be able to use it properly.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
The dial works in the real world because the wrist can twist it easily. The mouse can't detect such rotation, and your wrist is rarely over your mouse like that for it to be comfortable.

Just make a fader stylized as a dial if you really need to, but I wouldn't recommend it.

lord funk
Feb 16, 2004

ATM Machine posted:

I'll add something else on your design as well, this is more my personal perspective more than anything, but the ability to be able to double tap on a controller and input a value specifically would be great.

To me, double-tap should set the widget to its default value. I've gotten used to this in desktop music applications where you can snap the controller back to its original position. But I can see it popping open a text entry + keypad.

Current data entry status: nub + textfield + home grown numeric keypad (for iPad):


not shown: double tapping the nub sets it back to the default value.

Xerophyte
Mar 17, 2008

This space intentionally left blank
I've been writing a render plugin for Blender (using a proprietary path tracer made by Other, Smarter People) for the past couple of months. Today I set my office computer to do a nice 1080p render of this animation over the weekend ... and I forgot to reset Blender from my test renders so it only bothered rendering every 10th frame. And I can't remote in and restart the job from home.

At least I got the most appropriate shot.


:negative:

ATM Machine
Aug 20, 2007

I paid $5 for this

lord funk posted:

To me, double-tap should set the widget to its default value. I've gotten used to this in desktop music applications where you can snap the controller back to its original position. But I can see it popping open a text entry + keypad.

Current data entry status: nub + textfield + home grown numeric keypad (for iPad):


not shown: double tapping the nub sets it back to the default value.

Yeah, I agree on the double-tap to reset as well, but just quickly glancing over the dials on the music apps I have on my phone, double-tapping does nothing more than registering a touch event on some, with one app having a double-tap to reset, while having some of the dials with a dual function that you tap once to switch between dial modes, and double-tapping just flicks between them faster.

Perhaps holding down on the dial to input a value might be more normal, seeing as holding down on something for a few seconds is a more native feature to mobile phone interfaces. I wish I could say I've gotten used to double-clicking to reset dials, mine vary from double-clicking, to moving the mouse to the bottom dead zone area of the dial, to right clicking, to right clicking and bringing up a menu to reset to default. Then there's the plugins that don't have the ability to default at all. At least with the ones on the phone its either it defaults or it doesn't usually. Quite frustrating changing between the different environments after working for ages on another, though.

lord funk
Feb 16, 2004

ATM Machine posted:

Quite frustrating changing between the different environments after working for ages on another, though.

This is the big catch: we're turning into dinosaurs. I remember spending a week implementing Tab button functionality into my app to move between textfields. It worked, but eventually I took a step back and considered its usefulness. No user would ever use it when they're so used to just touching the next textfield they want.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
So, nothing new to show for this week... I've been converting Super Obelisk from DirectX (via SlimDX) to OpenGL (via the C# wrapper OpenTK). However this series of images I took as I was converting is kind of interesting.

http://imgur.com/a/dpAqs

Almost there, just need to finish up a problem I'm having with the lighting part.

Claeaus
Mar 29, 2010
Dug up my old Monte Carlo raytracer again. Everybody loves raytracing!

Xerol
Jan 13, 2007


Mug posted:

Because of the absolutely shithouse array handling in BASIC and lack of pointers, I had resigned that A* pathfinding would be impossible in Black Annex.

Well, after four days spent working on it (also vomiting a lot from some kind of food poisoning from eating lovely yogurt) I made it happen.


The doors are path nodes. I can path the entire map at 60fps constantly with no slowdown. The old pathfinding was dropping a couple of frames per run.

Might be a bit late for this project, but have you looked at FreeBasic? It's mostly syntax-compatible with QB (dunno what changes QB64 made over regular QB though) but has better pointers (QB/QB64 did/does have pointers, sort of). Seems to have pretty much the same library availability as well, if that's a concern.

Mug
Apr 26, 2005
Yeah, I know FreeBASIC but I've never actually used it. It's probably good.

If I wanted to use pointers I'd probably finally just move out of BASIC.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
A couple days late for Screenshot Saturday. I was busy converting to OpenGL (OpenTK, preparing myself for portability). I made a watermelon bomb item.

Blog post is here.

The explosion splat plus a bunch more about to blow:


Launching one across the screen:


Video of me blowing stuff up: https://www.youtube.com/watch?v=QxGOtI8I8_U&hd=1

I don't have an explosion graphic yet so the little watermelon splat will have to do for the time being!

Shalinor
Jun 10, 2002

Can I buy you a rootbeer?
Those poor bebbies, smashin' up against dem walls.

Looking good, and I don't really see any artifacts. Did the OpenGL port seriously take that little time?

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

Shalinor posted:

Those poor bebbies, smashin' up against dem walls.

Looking good, and I don't really see any artifacts. Did the OpenGL port seriously take that little time?
Maybe the wording in my post implied that I did it over the weekend, but the port took about a week and a half. Modern OpenGL and DirectX are pretty similar, and all of my hooks into the rendering API are abstracted into 2 or 3 classes, so it was mostly a matter of just learning the API (and GLSL).

Don Mega
Nov 26, 2005
I was bored over the last 2 weeks so I decided to whip up a cloth simulation using THREE.js, a 3D WebGL library. Any feedback would be greatly appreciated.

Workaday Wizard
Oct 23, 2009

by Pragmatica

Maybe it's just me, but I think it would be better if the walk speed was faster.

Top down games with low speed are very frustrating (cf. Magdalene from Binding of Isaac).

This is just my opinion.

PS: Nice sprites on the slimes and bombs. Did you make them?

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
Thanks, I'll definitely experiment with the speed--I haven't really played with it at all yet. If the main source of frustration is walking from room to room, there will definitely be a sprinting mechanic to help with that. Or did you just mean the general combat?

The sprites are by my artist. It bodes well that you picked those two out, as they're the only ones I'd dare to call 'finished assets'--literally everything else except the hearts in the corner are from when it was going to be a lower-res pixel-art game, and will be updated. The main character has some nice animations but the resolution looks dreadfully out of place, so I'm eager to get that worked on.

Workaday Wizard
Oct 23, 2009

by Pragmatica

Orzo posted:

Thanks, I'll definitely experiment with the speed--I haven't really played with it at all yet. If the main source of frustration is walking from room to room, there will definitely be a sprinting mechanic to help with that. Or did you just mean the general combat?

The sprites are by my artist. It bodes well that you picked those two out, as they're the only ones I'd dare to call 'finished assets'--literally everything else except the hearts in the corner are from when it was going to be a lower-res pixel-art game, and will be updated. The main character has some nice animations but the resolution looks dreadfully out of place, so I'm eager to get that worked on.

I think if you make the base walking faster it will be better for user experience (less time spent walking) and for gameplay (you can have enemy attacks that would otherwise be bullshit like laser attacks, curvy projectiles, mines, etc...).

Of course, it depends on who you are targeting and how much focus you are putting on the combat. Simple slow combat might be better afterall if you are targeting casuals with a story focused game for example.

(I should mention that I like fast arcadey games so take my opinion with a grain of salt)

Shalinor
Jun 10, 2002

Can I buy you a rootbeer?

Shinku ABOOKEN posted:

(I should mention that I like fast arcadey games so take my opinion with a grain of salt)
I don't like fast arcadey games as much, and I'd still say it's a touch slow. I'd recommend just watching a Link To The Past video, and more or less matching its movement speed:

https://www.youtube.com/watch?v=YSGjvBxYf_s

It struck a nice balance between being able to maneuver, while still being slow enough to not feel like you're sprinting through town. Unless you are actually sprinting through town.

EDIT: VV Good point. I went with it because it didn't have talking over it. I like LP's, but man, I miss gameplay footage without talking :cry: ... anyways, new clip of normal play.

Shalinor fucked around with this message at 18:40 on May 29, 2013

DeathBySpoon
Dec 17, 2007

I got myself a paper clip!
FYI, that's a TAS and it looks like he's abusing a glitch to walk faster. I'm pretty sure LttP switches your movement speed between 1px and 2px every other frame- I think he's abusing frame perfect input timing to move at 2px every frame. I could be wrong, though.

Programmer Humor
Nov 27, 2008

Lipstick Apathy


I created a file format for block geometry. Block types now have a list of geometry primitives, all tagged with a standard set of data. This includes both simple things like materials and colors, and more advanced things like conditional drawing based on neighbors. Adding new blocks is now painless as it's just about adding more lines to a text file.

Mug
Apr 26, 2005
I hacked SteamApps into QB64 by hijacking the LCASE$ function (which makes strings lower-case) every time you send a 24character string to it. So in QBASIC now if I call LCASE$(SPACE$(24)) the SteamApps API initializes and LCASE returns a response from the API hooks, which are written in C++.

I added PRINT LCASE$(SPACE$(24)) as one of the first lines of code in Black Annex then I made a Vine about it because I'm a trendy new age guy like that.
https://t.co/v0g6D1D1Rm

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
Can you not add new functions to QBASIC? Is that your only option?

Mug
Apr 26, 2005
I can add new functions but if I do that, I can only write them in QBASIC. SteamApps is C++, so I have to take an existing function that already exists in QBASIC and also already exists in the C++ backend and rip out the existing code.

Internet Janitor
May 17, 2008

"That isn't the appropriate trash receptacle."
Doesn't QBASIC have CALL or something like it? In many classic BASIC implementations you could do something like allocating an array, stuffing position-independent machine code into it, using VARPTR() to obtain the array's raw address and then CALL to JSR into the array. Presto: inline "assembly".

Mug
Apr 26, 2005
Yeah it has CALL ABSOLUTE. It calls assembly. I don't know assembly and I'm not sure how to work it in with the C++ header files for SteamApps.

edit: I've talked to the guy who made QB64, he's got a function called DECLARE DYNAMIC LIBRARY that he's built which lets you call C functions from inside QBASIC. I still need to write my own functions in C but I don't have to use a customer fork of QB64 for SteamApps with this. This should make things a bit easier.

I still have to use a custom build to disable Alt+Enter and Pause key, but that's an unrelated thing.

Mug fucked around with this message at 04:37 on Jun 1, 2013

Shalinor
Jun 10, 2002

Can I buy you a rootbeer?
SA GameDev 8 is on

Xerophyte
Mar 17, 2008

This space intentionally left blank

Xerophyte posted:

I've been writing a render plugin for Blender (using a proprietary path tracer made by Other, Smarter People) for the past couple of months. Today I set my office computer to do a nice 1080p render of this animation over the weekend ... and I forgot to reset Blender from my test renders so it only bothered rendering every 10th frame. And I can't remote in and restart the job from home.

I managed to bum some compute cluster time earlier this week and it's screenshot video saturday so...
https://www.youtube.com/watch?v=CIUtyUdEPq8

Pretty damned happy given that 4 months ago I'd just managed to get my Blender plugin to output this and now it's almost a real boy. Also, the person who made the car model and animation is a fine and upstanding citizen to whom I am deeply grateful but they really didn't know what to do with those rear side windows.

Suran37
Feb 28, 2009

Xerophyte posted:

I managed to bum some compute cluster time earlier this week and it's screenshot video saturday so...
https://www.youtube.com/watch?v=CIUtyUdEPq8

Pretty damned happy given that 4 months ago I'd just managed to get my Blender plugin to output this and now it's almost a real boy. Also, the person who made the car model and animation is a fine and upstanding citizen to whom I am deeply grateful but they really didn't know what to do with those rear side windows.

I have always been interested in writing a raytracer. Are there any books or materials you would suggest for a beginner?

Xerophyte
Mar 17, 2008

This space intentionally left blank

Suran37 posted:

I have always been interested in writing a raytracer. Are there any books or materials you would suggest for a beginner?

If you've got some background in graphics then Pharr & Humphrey's "Physically Based Rendering" is very comprehensive and covers everything you need to know but it's probably a bit dense if you're not already vaguely familiar with the subject. Suffern's "Raytracing From the Ground Up" is often recommended as a beginner text that makes no assumption about prior experience but I haven't read it myself.

Personally I started out by writing a really rubbish ray tracer about 3 years ago when doing a university course in graphics, found that was quite fun and then wrote a succession of slightly less rubbish ones based mostly on articles, technique recommendations and stuff from the internet until someone decided to start paying me for it. If you feel that you can write the code to solve a ray-sphere intersection test then you're good to go for a first effort, really.

Xerophyte fucked around with this message at 12:48 on Jun 2, 2013

DeathBySpoon
Dec 17, 2007

I got myself a paper clip!
I am an animation master.



I'm integrating Spine into my game and love it so far. I'm also awful at art, but once I get a decent skeleton going it's going to be a LOT easier than trying to sprite everything. It looks pretty cool when it goes through my shader:



I'll throw up a video or something once it doesn't look janky as hell, but I'm excited to get some real animation going.

Shalinor
Jun 10, 2002

Can I buy you a rootbeer?

DeathBySpoon posted:

I am an animation master.


Placeholder animations are awesome. (I was making a melee system, and all I had were the UDK emote anims)

https://www.youtube.com/watch?v=oHXZda_EH_o

DeathBySpoon
Dec 17, 2007

I got myself a paper clip!

Shalinor posted:

Placeholder animations are awesome. (I was making a melee system, and all I had were the UDK emote anims)

https://www.youtube.com/watch?v=oHXZda_EH_o

This is beautiful. Now I want a game jam centered around misused animations, because crotch thrust animations are obviously a versatile asset.

Polio Vax Scene
Apr 5, 2009




Not enough crotch-thrust.

hendersa
Sep 17, 2006

One of these days, I'm going to get back to making stuff that can actually be shown on a screen for a screenshot!



Since I have spent so much time working with the BeagleBone Black, I decided to run with it for my FPGA work. All of the FPGA cape boards are still in the beta/prototyping stage and aren't yet available for sale, so I decided to take an existing FPGA prototype board and interface that with the BBB as a sort of cape. It is my hope that I can use the BBB's SPI interface through the expansion header to communicate with the secondary FPGA board so that I can build a custom co-processor to crunch numbers or emulate an NES. Any data (data buffers, graphics, audio data, etc.) can be passed back over SPI to the BBB, where I can either bit-bang it into userspace for display or create a nice interrupt-driven kernel driver to pull the data over SPI without eating up CPU while polling.

Over at opencores.org there is a nice SPI master/slave VHDL core that I can drop into my FPGA design to handle the interfacing with the BBB. My FPGA board is a XuLA-200, which takes care of most of the glue circuitry that I need between the BBB and my FPGA. The 7-segment LED is just for debugging purposes.

The footprint of that setup is about the same as two credit cards side-by-side.

Claeaus
Mar 29, 2010

Suran37 posted:

I have always been interested in writing a raytracer. Are there any books or materials you would suggest for a beginner?

I started by implementing http://en.wikipedia.org/wiki/Line%E2%80%93sphere_intersection in a really easy way. No perspective at all, just send a ray forward for each pixel and check for hard coded spheres and save the result as a BMP file. And then gradually add more and more features.

Hammerite
Mar 9, 2007

And you don't remember what I said here, either, but it was pompous and stupid.
Jade Ear Joe
I spent time making this thing (as a component of a larger personal project), because I am a Literal Crazy Person. (It was kind of fun though.)

SavageMessiah
Jan 28, 2009

Emotionally drained and spookified

Toilet Rascal

Hammerite posted:

I spent time making this thing (as a component of a larger personal project), because I am a Literal Crazy Person. (It was kind of fun though.)



Haha, does that generate regexes that match all numbers in a given range?
I can't imagine what you would need that for, but it's cool!

Suspicious Dish
Sep 24, 2011

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

Hammerite posted:

I spent time making this thing (as a component of a larger personal project), because I am a Literal Crazy Person. (It was kind of fun though.)



Google asked me to do something like this in a phone interview. I thought it was strange.

Adbot
ADBOT LOVES YOU

Delta-Wye
Sep 29, 2005

Suspicious Dish posted:

Google asked me to do something like this in a phone interview. I thought it was strange.

I just saw someone do it. It is strange. :staredog:

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