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
hendersa
Sep 17, 2006

Say, is that a Super Nintendo in your pocket, or are you just happy to see me?

Oh... it's a Super Nintendo. :(

I connected the USB audio dongle to the USB hub by soldering it directly to the hub via a ribbon cable:



The hub, wrapped in electrical tape for insulation, fit nicely in the gap between the P8 and P9 connectors on the BeagleBone Black. The audio dongle (also wrapped in electrical tape) fit next to the ethernet jack and sits on top of the P8 connector:



The LCD3 cape board pins the audio dongle and USB hub in place. The odd angle of the LCD3 cape comes from the FTDI debug cable having a high profile when inserted that keeps one side of the cape from being completely plugged in. The USB host port for the gamepad is accessible next to the BBB's host port (which is taken up by the cable of the new USB hub):



The audio jacks (actually a mic in and an audio out) are conveniently located next to the ethernet jack:



Overall, not too bad. The footprint is no bigger than the LCD3 cape and BBB would normally be by themselves:



The four cables coming out are the gamepad (right), audio out (top-left), FTDI debug cable (middle-left), and 5V power cable (bottom-left). The debug cable is optional, of course, meaning the big loose-end is creating a battery pack for the unit that plugs into the 5V power barrel connector.

Adbot
ADBOT LOVES YOU

BlockChainNetflix
Sep 2, 2011
After following the sage advice of "Make games, not game engines", I've been making a Sokoban clone for Android. While nowhere near as impressive as the pocket sized SNES or the robotic musician that will one day rule us all with a latex fist, I'm quite happy with how it's turning out.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

BLT Clobbers posted:

While nowhere near as impressive as the pocket sized SNES or the robotic musician that will one day rule us all with a latex fist,

No more of this. I've seen it a couple times, but I'm picking on you for it now (sorry).

First off, we'll be the judge of how impressive it is (my answer for you is: impressive!). But really, I find everything in this thread impressive. I mean, even "hello world" requires overcoming so much user-hostile poo poo that I'm impressed whenever anyone finally negotiates a victory.

Show your work and be proud!

Superschaf
May 20, 2010

I've finished porting PPSSPP to OpenEmu. With MAME ported as well we're starting to have all big emulators covered. If you have a Mac and want to emulate something, check it out. Right now we're still in beta, but building it yourself is easy and we hope to get 1.0 out soon (hopefully :ohdear:).

KoRMaK
Jul 31, 2012



pokeyman posted:

First off, we'll be the judge of how impressive it is (my answer for you is: impressive!). But really, I find everything in this thread impressive. I mean, even "hello world" requires overcoming so much user-hostile poo poo that I'm impressed whenever anyone finally negotiates a victory.

Show your work and be proud!
I'm with you here, but I also get how BLT Clobbers is feeling. Post like no one cares (wait I guess that's the opposite of what you would want if you are posting it to the internet...)

Post like at least one person will care but will never tell you, which is perfectly fine for them to do.



The procedural graphics utilizing project I'm working on finally has the first inkling of being a game. It's written in AS3 so that means you need Flash. You can check it out here if you'd like: http://liquid-software.com/blog/bitroamer/

Mata
Dec 23, 2003
Getting these lil dudes to walk around has been challenging... Originally my plan was to handle animations using hardware instanced skinning but implementing that was 2hard4me. It's really more of a directx10 technique and I'm using XNA.

Claeaus
Mar 29, 2010

fletcher posted:

Way awesome!! It's always so fun to program something that makes something move in real life, rather than just pixels on the screen. Now all you need is a head with some googly eyes on it and a giant spring for a neck, so he (she?) just carelessly wobbles about while serenading us.

Do this, record it playing a well-known song and you'll have a Youtube video with millions of hits.

go play outside Skyler
Nov 7, 2005


Claeaus posted:

Do this, record it playing a well-known song and you'll have a Youtube video with millions of hits.

I had this planned, but I'm still looking for a song that is:
- Popular
- Makes sense on a Xylophone
- Impressive enough to be played (Somebody That I Used To Know, for example, is too slow)

Any ideas for the head? I'm thinking Nic Cage or Cosby but I think I can do better.

Sirocco
Jan 27, 2009

HEY DIARY! HA HA HA!
Flight of the Bumblebee, man.

go play outside Skyler
Nov 7, 2005


Sirocco posted:

Flight of the Bumblebee, man.

I will consider it, but it has its limits. The limit depends on how far apart are the notes, but from my tests it seems I can't go over 120BPM if I'm using sixteenths (semiquavers). I'm still fiddling with the motor acceleration ramps and such, but I'm reaching a physical limit of the design.

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

I can play this at about 75% of the speed in the video, but the hands start overheating :)

hendersa
Sep 17, 2006

Sir Davey posted:

I had this planned, but I'm still looking for a song that is:
- Popular
- Makes sense on a Xylophone
- Impressive enough to be played (Somebody That I Used To Know, for example, is too slow)

Any ideas for the head? I'm thinking Nic Cage or Cosby but I think I can do better.

Katchaturian's "Sabre Dance" might be a good choice: https://www.youtube.com/watch?v=gqg3l3r_DRI
Also, Kabalevsky's "Comedian's Gallop": https://www.youtube.com/watch?v=Mw0oQ4sD4us

KoRMaK
Jul 31, 2012



Are you adding more arms? Emulating a human is cool but surpassing human capabilities is amazing. Add like 2 more arms, that way you can cover the tonal ranges and cadence patterns most bands cover. (bass, voice, guitar one, drums)

I think the song should be be gangam style, or something more current but I don't think there is anything surpassing it right now. If you were able to cover the low notes and the highs at the same time it would be amazing to hear from a xylophone.

Can I program your robot and make songs for it? Does it take midi input?

e.g. see https://www.youtube.com/watch?v=xnfC0VlWMLc
Also, to emphasize the importance of more than 2 notes at a time, see this https://www.youtube.com/watch?v=DkaUsBwe0fo
adding more arms would also increase your speed. But as a musician I've found that in rock n roll 16th notes at 120bpm is the max: van halen, zakk wydle, slash, megadeth, all their solos' maximum note speed in a row is 16th notes at 120 bmp.

ee: After watching that pianist playing in the video maybe increasing the appendages to 10 arms to emulate the human hand's dexterity would be a good idea.

KoRMaK fucked around with this message at 13:49 on Jul 19, 2013

Scaramouche
Mar 26, 2001

SPACE FACE! SPACE FACE!

Sir Davey posted:

I had this planned, but I'm still looking for a song that is:
- Popular
- Makes sense on a Xylophone
- Impressive enough to be played (Somebody That I Used To Know, for example, is too slow)

Any ideas for the head? I'm thinking Nic Cage or Cosby but I think I can do better.

The head has to be Richard Nixon.

What are you using motion power? It looks like pneumatics from the video but I'm not sure, would switching to electro-mechanical actuators improve things?

zeekner
Jul 14, 2007

Scaramouche posted:

The head has to be Richard Nixon.

What are you using motion power? It looks like pneumatics from the video but I'm not sure, would switching to electro-mechanical actuators improve things?

From the video it looks to be made of steppers and solenoids, so it's already pretty ideal. It's definitely a great looking design.

Schweinhund
Oct 23, 2004

:derp:   :kayak:                                     
do Yakety Sax

Kumquat
Oct 8, 2010
Just do Still Alive from Portal and make a kick starter so you can start printing Spergmoney (buttcoins).

SuicideSnowman
Jul 26, 2003
I bit the bullet and bought a copy of Spline (http://esotericsoftware.com/)

I was on the fence between it and SmoothMoves for Unity but I figured later on down the road I could use it for non Unity projects as well. Paired with 2D Toolkit this is an amazing tool.

For those that don't know, it's basically a tool that allows you to add bones to your 2D images so that you can quickly animate them using an interface similar to any 3D animation tool. As a developer with no artistic ability whatsoever I can see it greatly improving my ability to prototype better looking games. You can export in a variety of formats, including JSON but it will also allow you to export your animation as a gif:



This was made in about an hour which was mostly me learning the Spine interface. I can't wait to dig in and create some more animations.

hendersa
Sep 17, 2006

I was contacted not too long ago by a company that was interested in speaking with me about the BeagleBone Black projects of mine that I have been sharing with all of you. They had a few projects in-house that they were working on, and they wanted to have me consult to answer a bunch of their development questions and help bootstrap their dev efforts. I thought that there would be a lot of difficult, low-level embedded systems development questions, but it turns out that many of their questions were actually answered in the PDF documentation that I put together for my BeagleSNES project. I was later told that one of their engineers came across the BeagleSNES PDF, flipped through it, and then told his boss "we need to bring this guy in on these projects because just look at this amazing documentation".

I signed off on their NDA, cleared my schedule for two days, and then spent that time exchanging e-mails with their engineers and having several two to three hour long conference calls. I sent off an invoice and that was that. Today, the following check arrived in my mail:



I guess the moral of the story is that writing good documentation occasionally does pay off. Sadly, this money won't be going towards anything exciting (unless you consider paying back Sallie Mae student loans "exciting").

Take the time to write your drat documentation. :eng101:

Bahama.Llama
Aug 17, 2006

Scary Money
:smug::respek::smug:

Your documentation is drop dead sexy though and you deserve said props. I particularly love the section in your acknowledgements where you mention how it would be a shame for SNES to fade away. :japan:

Tres Burritos
Sep 3, 2009

hendersa posted:

I was contacted not too long ago by a company that was interested in speaking with me about the BeagleBone Black projects of mine that I have been sharing with all of you. They had a few projects in-house that they were working on, and they wanted to have me consult to answer a bunch of their development questions and help bootstrap their dev efforts. I thought that there would be a lot of difficult, low-level embedded systems development questions, but it turns out that many of their questions were actually answered in the PDF documentation that I put together for my BeagleSNES project. I was later told that one of their engineers came across the BeagleSNES PDF, flipped through it, and then told his boss "we need to bring this guy in on these projects because just look at this amazing documentation".

I signed off on their NDA, cleared my schedule for two days, and then spent that time exchanging e-mails with their engineers and having several two to three hour long conference calls. I sent off an invoice and that was that. Today, the following check arrived in my mail:



I guess the moral of the story is that writing good documentation occasionally does pay off. Sadly, this money won't be going towards anything exciting (unless you consider paying back Sallie Mae student loans "exciting").

Take the time to write your drat documentation. :eng101:

Uggghhh you got a link to the documentation somewhere?

Bahama.Llama
Aug 17, 2006

Scary Money

Tres Burritos posted:

Uggghhh you got a link to the documentation somewhere?

http://beaglesnes.sourceforge.net/documentation.html

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

BeagleSNES Docs posted:

The background music that is played behind the menu comes from the group ViRiLiTY. It was originally the tracked background music of an illicit serial number generator used for the piracy of the "ALO Power Audio Converter" software.

Those keygens were the best. Whatever music encoded at 1kbps, silly scrolling credits, ridiculous window shapes, as it automatically filled in the serial if the installer was running.

Awesome.

SneakyPriest
Oct 31, 2011
I've been working on a Breakout clone using Python/Pygame as a way to learn it... Being self-taught, I'm sure my code belongs in the Coding Horrors thread, but I've finally produced something that I'm proud of, otherwise. If anyone has any suggestions for ways I can improve my code, please offer them!

Python code

GIF of the game itself (far from perfect!):


High score screen:


It still needs a ton of work (especially with regards to the high scores - I just got that screen working today, it won't accept new scores yet), but I'm really happy with what I've done so far.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

SneakyPriest posted:

I've been working on a Breakout clone using Python/Pygame as a way to learn it... Being self-taught, I'm sure my code belongs in the Coding Horrors thread, but I've finally produced something that I'm proud of, otherwise. If anyone has any suggestions for ways I can improve my code, please offer them!

Python code

GIF of the game itself (far from perfect!):


High score screen:


It still needs a ton of work (especially with regards to the high scores - I just got that screen working today, it won't accept new scores yet), but I'm really happy with what I've done so far.

Nicely done.

You can be self-taught and produce nice code. Certainly, being not-self-taught has little bearing on whether the code you produce ends up in Coding Horrors.

Contains Acetone
Aug 22, 2004
DROP IN ANY US MAILBOX, POST PAID BY SECUR-A-KEY

Contains Acetone fucked around with this message at 17:39 on Jun 24, 2020

hendersa
Sep 17, 2006

Bahama.Llama posted:

:smug::respek::smug:

Your documentation is drop dead sexy though and you deserve said props. I particularly love the section in your acknowledgements where you mention how it would be a shame for SNES to fade away. :japan:

Thanks! I appreciate it.

pokeyman posted:

Those keygens were the best. Whatever music encoded at 1kbps, silly scrolling credits, ridiculous window shapes, as it automatically filled in the serial if the installer was running.

Awesome.

You can get a ton of good keygen background music tracks from KeyGenMusic.

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.
Lots of that music is used without attribution, from demoscene guys. Check out www.chiptune.com.

Grawl
Aug 28, 2008

Do the D.A.N.C.E
1234, fight!
Stick to the B.E.A.T
Get ready to ignite
You were such a P.Y.T
Catching all the lights
Just easy as A.B.C
That's how we make it right

hendersa posted:

You can get a ton of good keygen background music tracks from KeyGenMusic.

ESET is throwing a fit on that page, saying a gif-image by c0rk.org might do stuff. Might be a false positive, but with these sites I better post it anyway.

e: Also this is the best site for chiptune music, even has a live radio - https://www.scenemusic.net/demovibes/

duck monster
Dec 15, 2004

SneakyPriest posted:

I've been working on a Breakout clone using Python/Pygame as a way to learn it... Being self-taught, I'm sure my code belongs in the Coding Horrors thread, but I've finally produced something that I'm proud of, otherwise. If anyone has any suggestions for ways I can improve my code, please offer them!

Python code

GIF of the game itself (far from perfect!):


High score screen:


It still needs a ton of work (especially with regards to the high scores - I just got that screen working today, it won't accept new scores yet), but I'm really happy with what I've done so far.

At a very fast skim, its clean, its readable, easy to follow and your not going utterly berk with convoluted solutions to problems that have far simpler and obvious solutions.

Your doing fine and your code is pythonic enough.

aerique
Jul 16, 2008

Oh, that is nice. The documentation mentioned it was created using http://www.latextemplates.com/template/the-legrand-orange-book so I am definitely going to check that out. Getting a little tired of delivering my docs in the default LaTeX look.

SneakyPriest posted:

If anyone has any suggestions for ways I can improve my code, please offer them!

Python code

As someone else mentioned earlier, quickly skimming the code it looks good enough: mostly small functions, good comments. There's a few larger functions that might be candidates for cutting up into smaller pieces... for example in the function "moveOrDirectionChange" I would put everything within an "if" like this into its own function:

code:
if direction== DR:
    # everything below in its own function
    ballx+=speed
    bally+=speed
    if ballx>=620:
        direction=DL
    #if the y coordinate of the ball is this far, it should be game over
    elif bally>=460:
        direction=-1
so "moveOrDirectionChange" could be grokked in one look. However this a matter of taste and can be discussed until the end of time. Some people only like to create functions for code that's used more than once.

The function would then look like this (more or less, my Python isn't very good):

code:
def moveOrDirectionChange(ballx, bally, bumperx, bumpery, direction):
    #returns the x and y positions of the ball, and the direction
    #if the y coordinate of the ball hits the bottom of the screen
    #then the method returns -1
    if hitBumper(ballx, bally, bumperx, bumpery,direction):
	direction = sensibleFunctionNameHitBumper(direction)
    if direction == DR:
	(ballx, bally, direction) = sensibleFunctionNameDR(ballx, bally, direction)
    elif direction == DL:
	(ballx, bally, direction) = sensibleFunctionNameDL(ballx, bally, direction)
    elif direction == UR:
	(ballx, bally, direction) = sensibleFunctionNameUR(ballx, bally, direction)
    elif direction == UL:
	(ballx, bally, direction) = sensibleFunctionNameUL(ballx, bally, direction)   
    return ballx, bally, direction
This could then be further improved. If the ball was an object one could just pass along the "ball" instead of all the extra parameters and set "ball.x", "ball.y" and "ball.direction" in the functions.

As it is now, I wouldn't actually go gently caress around with your code since it would take time away from completing your game. Just keep it in mind for your next project. If you're susceptible to code OCD you'd just get lost in tweaking the look of your code without actually making any progress (trust me, I speak from experience).

aerique fucked around with this message at 12:28 on Jul 22, 2013

nuvan
Mar 29, 2008

And the gentle call of the feral 3am "Everything is going so well you can't help but panic."

aerique posted:

stuff...
If you're susceptible to code OCD you'd just get lost in tweaking the look of your code without actually making any progress (trust me, I speak from experience).

I never thought of it that way, but it's the PERFECT explanation for why it takes me so long to do ANYTHING on personal projects

tef
May 30, 2004

-> some l-system crap ->

nuvan posted:

I never thought of it that way, but it's the PERFECT explanation for why it takes me so long to do ANYTHING on personal projects

It isn't really OCD, it's procrastination. You're avoiding writing your game by making meaningless tweaks.

(At a code review I got pulled into, my coworker said "That's the tidiest source code i've ever seen. This worries me".)

seiken
Feb 7, 2005

hah ha ha

tef posted:

It isn't really OCD, it's procrastination. You're avoiding writing your game by making meaningless tweaks.

(At a code review I got pulled into, my coworker said "That's the tidiest source code i've ever seen. This worries me".)

Nonsense. It's not procrastination, it's not meaningless. Tidying up source code is like a kind of micro-refactoring and helps keep it readable. The bigger the project, the more important it is.

Also, see broken windows theory. The cleaner your code is, the more effort everyone (including yourself) is going to make to keep it that way when they change it. If it's messy, it'll only get messier.

seiken fucked around with this message at 16:32 on Jul 22, 2013

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

SneakyPriest posted:

I've been working on a Breakout clone using Python/Pygame as a way to learn it... Being self-taught, I'm sure my code belongs in the Coding Horrors thread, but I've finally produced something that I'm proud of, otherwise. If anyone has any suggestions for ways I can improve my code, please offer them!

Python code

Oh, one thing I forgot to mention is that generally python functions and methods are top_left_coords() instead of topLeftCoords unless you're matching the prevailing style in a larger code base. No biggie, but something to keep in mind.

Shalinor
Jun 10, 2002

Can I buy you a rootbeer?

seiken posted:

Nonsense. It's not procrastination, it's not meaningless. Tidying up source code is like a kind of micro-refactoring and helps keep it readable. The bigger the project, the more important it is.

Also, see broken windows theory. The cleaner your code is, the more effort everyone (including yourself) is going to make to keep it that way when they change it. If it's messy, it'll only get messier.
That's what we tell ourselves when we're procrastinating, to justify the behavior ;)

Sure, that's a theoretical benefit, but... code almost never needs to be THAT pretty.

SneakyPriest
Oct 31, 2011

aerique posted:

This could then be further improved. If the ball was an object one could just pass along the "ball" instead of all the extra parameters and set "ball.x", "ball.y" and "ball.direction" in the functions.

duck monster posted:

At a very fast skim, its clean, its readable, easy to follow and your not going utterly berk with convoluted solutions to problems that have far simpler and obvious solutions.

Your doing fine and your code is pythonic enough.

Thanks for the feedback! I thought about making the ball an object, I'm not quite sure why I didn't... But, then, that's something good to know for the next time, or whenever I get around to a refactor.

Thermopyle posted:

Oh, one thing I forgot to mention is that generally python functions and methods are top_left_coords() instead of topLeftCoords unless you're matching the prevailing style in a larger code base. No biggie, but something to keep in mind.

I realized maybe about a week into the project that I should've checked to see what the code conventions for python were. Again, this seems like a good thing for whenever I refactor my code; it's really been my own laziness at code cleanup that has prevented me from tackling it previously. Thanks for the suggestion!

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
Screenshot... not Saturday.

I spent a couple hours putting together a fairly detailed blog post about how I render graphics, with an emphasis on the newest feature, distortion effects, in my game/engine, Super Obelisk. I am hoping at least four to five people find it mildly interesting.

http://superobelisk.blogspot.com/2013/07/distortion-effects.html

Some random distortion balls and a rain-on-glass effect:


Here is the accompanying video: https://www.youtube.com/watch?v=IilEyMzqCrU&hd=1

Null Pointer
May 20, 2004

Oh no!
I've been writing an engine replacement for Dark Forces 2.



Video showing some scripts running: https://www.youtube.com/watch?v=V5T7nrU5210

Still pretty early so there isn't too much to talk about other than scathing criticism of 1997's finest computer software design. No idea if I'll ever finish it, but it's been keeping me busy between interviews.

tef
May 30, 2004

-> some l-system crap ->

seiken posted:

Nonsense. It's not procrastination, it's not meaningless. Tidying up source code is like a kind of micro-refactoring and helps keep it readable. The bigger the project, the more important it is.

The only effective way of tidying up of source code is deleting it. Everything else creates more work.

Adbot
ADBOT LOVES YOU

Doctor w-rw-rw-
Jun 24, 2008

Null Pointer posted:

I've been writing an engine replacement for Dark Forces 2.

Still pretty early so there isn't too much to talk about other than scathing criticism of 1997's finest computer software design. No idea if I'll ever finish it, but it's been keeping me busy between interviews.

Holy crap, that was one of my first Star Wars games that wasn't X-Wing vs. TIE Fighter, and I remember it fondly. Updating the engine to something even half as bad would be amazing. Keep going!

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