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
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

Jewel posted:

Ahah, oh gosh I never knew about this page. So many things I didn't think of. But should I go back to it....

It's a requirement.

Adbot
ADBOT LOVES YOU

Jewel
May 2, 2009

Grawl posted:

It's a requirement.

Well too bad! It was really annoying to try and solve 1-1 techniques and I don't think I can get the energy to work on this any more.

But I did realize that "holy poo poo I was only checking for '1 adjacent tile next to a value of 1 is a bomb' instead of 'n adjacent tiles next to a value of n are all bombs'" so I went back and fixed that and it goes a lot better now. Here's the last video on the matter though!

https://www.youtube.com/watch?v=tcEd3Nigtok&hd=1

Tres Burritos
Sep 3, 2009



My silly editor can now do rotations! Yaaaaay.

It rotates on local axiseses and it's a little wonky sometimes but it works. Movement is in the global space, just because I likes it that way. I also made a couple hotkeys that'll swap between the two modes and zero out their values. Now I gotta add lights and stuff.

I also think I accidentally made a looping gif.

Internet Janitor
May 17, 2008

"That isn't the appropriate trash receptacle."
I think this weekend I'm going to have my middle-schoolers write an ELIZA program.

Vankwish
Dec 3, 2012

Game Dev

Tres Burritos posted:



My silly editor can now do rotations! Yaaaaay.

It rotates on local axiseses and it's a little wonky sometimes but it works. Movement is in the global space, just because I likes it that way. I also made a couple hotkeys that'll swap between the two modes and zero out their values. Now I gotta add lights and stuff.

I also think I accidentally made a looping gif.

You know, all of these tools are going to turn into something very cool in time. Right now it might not seem like much but I expect this little project will grow beyond your expectations.

Pie Colony
Dec 8, 2006
I AM SUCH A FUCKUP THAT I CAN'T EVEN POST IN AN E/N THREAD I STARTED

Jewel posted:

Here's a project I started last night and finished off today. Thought it'd be fun to make a Minesweeper solver bot! It gets the handle of a current open Minesweeper game and processes based on that. It reads the image of the window, processes the image to work out where the tiles are, feeds that tile data into a MinesweeperBoard, and that board then processes all the tiles that can be worked out, if there's any definite bombs, and any definite safe locations. If there's any of those, it clicks them and continues. If there's none of those, it's forced to choose a random location.

I thought minesweeper didn't have any random elements in it until I made this, and I realised sometimes you just click once and get a single "1" or something, with no way to possibly tell where the bombs are without clicking again in another location, probably clicking a bomb. So the bot keeps restarting until it can find a possible game solvable by humans. It'll try and click somewhere random, but it has just as good a chance as we do to get it right (not very much).

Always sad seeing it fail with only a few tiles left though. It's written in C++ using standard WinAPI functions to get the window handle and SDL to process the image of the board. Works on every board size too, automatically calculates how many tiles.

Anyway enough babble, here's a video!

-snip-

Also that video IS realtime. The click speed is one click every 20ms. Any smaller and windows click handler starts to bug out a little bit.

The saddest part about this is that 50% of the time it took to make it was trying to mess with the stupidly ancient WinAPI functions with cryptic names such as LPCZSTR and such.

Also if anyone's interested here's the process to "solving" the current state of a minesweeper game. I just simplified a typical thought process into steps.

1) Loop over grid and find value cells
2) Loop over value cells, find definite bombs (value cell with a single unknown adjacent cell)
3) Subtract bombs from numbers and mark bombs
4) Find any definite okay positions (at least one adjacent 0)

I did something like this a long time ago, with a similar strategy. https://www.youtube.com/watch?v=d6LcriFkJ8w It wasn't too good on the larger boards. This guy's stuff seems like it would work better. http://luckytoilet.wordpress.com/2012/12/23/2125/

ndb
Aug 25, 2005

It's been about a year since I've started working on this, but I think I can show it.

I'm making an RPG using javascript with an engine I built. The only libraries I'm using are jQuery and Mustache. It was originally a more action-adventure game (think Zelda), but I decided to convert it to a turn-based RPG, because that's sort of what my inspiration has been towards.

The Engine is almost complete - the only missing feature is the ability to visit towns. I have all the levels designed, and three have been developed - only one of them works as a "RPG dungeon", the other ones need cleanup. A plot has been written. I'm calling it "Regicide" for right now.

Here's some pictures, I guess. Pictures are hosted on my own webspace, no leaching. Nothing ultra exciting. The HUD does need more work, but I'm concentrating on more content development and tweaking the HUD later.


This is the first screen of the first dungeon of the game. It's rather purple.


This is a battle system, with a test enemy. Battle system is along the lines of Dragon Warrior style. Enemies can have weaknesses and strengths to certain elements, and can react in certain way to certain elements. I designed the battle system so that you have to be sort of aware of your actions. You can't expect to blitzkrieg enemies by overleveling and pummeling everything. It's fairly lo-fi right now - using items or casting spells will cause the screen to flash like in early NES games.

Tres Burritos
Sep 3, 2009

ndb posted:

I'm making an RPG using javascript with an engine I built. The only libraries I'm using are jQuery and Mustache. It was originally a more action-adventure game (think Zelda), but I decided to convert it to a turn-based RPG, because that's sort of what my inspiration has been towards.

You're a crazy person and I love it.

TerraGoetia
Feb 21, 2011

A cup of spiders.
I've got the touchscreen controls working on the tablet. It plays wonderfully. The game has to be finished by Monday; we're presenting to the campus then. There's some debug text on the left-hand side that I'll remove later.


Here's the title screen:

TerraGoetia fucked around with this message at 09:59 on Dec 8, 2013

ekuNNN
Nov 27, 2004

by Jeffrey of YOSPOS
I finished my first project in Unity and C# and forgot to post it here :doh:
https://www.youtube.com/watch?v=dDNFGVMac5c


It's an interactive installation with Oculus Rift and a bicycle. You drive around by pedaling and steering normally, and you can jump using the bicycle bell. :sun:

aerique
Jul 16, 2008

ekuNNN posted:

I finished my first project in Unity and C# and forgot to post it here :doh:
https://www.youtube.com/watch?v=dDNFGVMac5c


It's an interactive installation with Oculus Rift and a bicycle. You drive around by pedaling and steering normally, and you can jump using the bicycle bell. :sun:

Ooh, I'm in Delft. Going to check that out!

ekuNNN
Nov 27, 2004

by Jeffrey of YOSPOS

aerique posted:

Ooh, I'm in Delft. Going to check that out!

Awesome. Bear in mind it has endured a month of children and teenagers playing with it. In the coming week we're dropping by to fix a few things, so the bell might not work as well as it should at the moment (also to add a script to start-up to get rid of an annoying problem where the cursor wold show up on the tv sometimes :argh:) Kids are brutal :stonk:

ekuNNN fucked around with this message at 15:57 on Dec 8, 2013

ndb
Aug 25, 2005

Tres Burritos posted:

You're a crazy person and I love it.

Thank you! The original idea was much simpler and was for a Mozilla contest, where it would be just a simple maze game that a player can modify on the fly using a game genie type interface, and essentially just be an engine you dump Game Genie-esque codes into to complete. However, I didn't finish it in time due to other issues going on, and it went through a few more iterations until you're seeing what you have here.

Language was chosen because it was a Mozilla contest and because I work as a web dev for a living. I'm glad I did, because I'm using techniques I learned here and applying it to my job and getting fairly good results. :)

Mustache was originally added for my screen generation tool, but I added it to the main product for the saving, loading, item and battle screens. :)

Internet Janitor
May 17, 2008

"That isn't the appropriate trash receptacle."
Counterintuitively, my middle schoolers seem to be more interested in doing list processing stuff than drawing fractals with turtle graphics. They had a lot of fun making their own remarkably abusive variants of ELIZA this weekend and when I asked them what they wanted to do next week they said "make text adventure games!" :unsmith:

Here is the source to that program I showed earlier. (Logo)

tef
May 30, 2004

-> some l-system crap ->
I decided to implement a shunting yard based calculator in scratch http://scratch.mit.edu/projects/15179790/

(click on the cat when it is thinking)

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

ekuNNN posted:

It's an interactive installation with Oculus Rift and a bicycle. You drive around by pedaling and steering normally, and you can jump using the bicycle bell. :sun:

Teaching children it's okay to ride without helmets, what a great idea :argh:

Internet Janitor
May 17, 2008

"That isn't the appropriate trash receptacle."
How long did that program take to drag-and-drop together, Tef?

edit: Did a little more tinkering with VectorLand CTF, mostly adding some animations to the HUD to highlight scoring points and the like:



The changes are subtle, but I think they help draw attention to important details.

Internet Janitor fucked around with this message at 01:40 on Dec 9, 2013

tef
May 30, 2004

-> some l-system crap ->

Internet Janitor posted:

How long did that program take to drag-and-drop together, Tef?

Far too long :sigh:

edit: this "clone" of super hexagon took far far less time http://scratch.mit.edu/projects/15191304/#player

tef fucked around with this message at 01:59 on Dec 9, 2013

Marsol0
Jun 6, 2004
No avatar. I just saved you some load time. You're welcome.
Not really a screenshot, but an update on my telnet chat server. I was having problems when a telnet client would switch modes, from linemode to character-mode. It would always result in a segfault. I found that the problem was caused because telnet sent a command with a value of 255, so a signed char would overflow on that, so changing to an unsigned char resolved that problem.

Then, to make sure I can parse data regardless of which mode the client is in, I create an allocation buffer for the user, so that I can check that buffer for the telnet EOL and parse user input that way.

I ramble. I'm pretty excited. This is my first "real" C project and it works relatively well. There are certainly many bugs, inconsistencies, possibly memory leaks, and probably dark incantations that, if spoken out loud, would doom us all.

https://github.com/marsol0x/telnet-chat-server

TerraGoetia
Feb 21, 2011

A cup of spiders.
Our games are due for presentation in an hour and a half. My expression regarding the end of development: "It is done. It's not finished, but it is done."

Zizi
Jan 7, 2010

TerraGoetia posted:

Our games are due for presentation in an hour and a half. My expression regarding the end of development: "It is done. It's not finished, but it is done."

Games are a lot like Klingon software. They aren't released, they just escape, leaving a trail of destruction, blood, and lamentations behind.

TerraGoetia
Feb 21, 2011

A cup of spiders.
The event was a great success. My game ended up being the top-rated out of six. We had three tablets at our table, and I was getting people involved, showing them how to play, and just letting them go at it. My time spent working on the controls (tons and tons of time) paid off in spades; all of the other games had unreliable or unintuitive controls.

There's cut features, but I'm so burned out from working on this thing that I've got no interest in taking any more stabs at it for now. We finished up putting in the cutscenes with a trial copy of Unity Pro, so we even get that nifty "trial version" tag in the corner of our screen. When you're pushing out a game for $0, you do these things, I guess.

Here is a link to download the Android tablet App, if you want to play. We tested it on the Motorola Xoom, so I have no idea how well it does on other tablets. Here's the quick rundown on how to play:

-Touch beers to pick them up. You can carry up to 5 beers.
-Press Chug to drink one beer you have. Drinking beer makes your character run faster and skid more when stopping. It also makes the screen spin.
-You can collect food by touching it after you've been drinking. You consume the food instantly. This will reduce your BAC and make your character easier to control.

-Skunks and Residential Assistants (RA's) will knock you back if they hit you. RA's will take beer from you if they hit you.

-Press left / right to run.
-Press up to jump. Press up again in mid-air to double jump. Press up in water to swim up. Hold up in water to bob along the surface.
-Press up and towards a wall (that you are touching) to wall-jump off it.
-Press down to sink in water.

-Picking up a beer earns you 100 points.
-Picking up food earns you 50 points.

-To get the good ending, you must earn 4,000 points in five minutes.
-Explore!

TerraGoetia fucked around with this message at 04:48 on Dec 10, 2013

Angryhead
Apr 4, 2009

Don't call my name
Don't call my name
Alejandro




Worked fine on my phone too (Moto G), although the intro & how to play text was pretty tiny.

But I got the bad ending :( The effects from drinking were pretty disorientating, which is the point, I suppose.

TerraGoetia
Feb 21, 2011

A cup of spiders.

Angryhead posted:

Worked fine on my phone too (Moto G), although the intro & how to play text was pretty tiny.

But I got the bad ending :( The effects from drinking were pretty disorientating, which is the point, I suppose.

Yeah, the text is tiny; it's one of those things I didn't have time to fix before it was due. I'm sorry about that. I tried to post instructions on how to play here to circumvent that. The opening lines are actually a disclaimer to let you know that alcoholism is a serious problem, and that there are people you can call if you need help.

I hope that it was at least fun for you. Learning to control your drinking vs. food intake is part of the challenge. Exploring around can find hidden areas that have a lot of liquor in them, so if you keep looking you should be able to win after a few tries.

Shalinor
Jun 10, 2002

Can I buy you a rootbeer?
Been ages since I posted anything... here's a gatling gun that will absolutely not be in final Hot Tin Roof.

(that will become the bubble gun and shoot friendly happy drifty bubbles, instead of STREAM OF LEAD DEATH as it is right now)

DeathBySpoon
Dec 17, 2007

I got myself a paper clip!
Crossposting some gifs of my RPG battle system in action. Sorry for the awful quality, I don't know how to gif very well.



Shalinor
Jun 10, 2002

Can I buy you a rootbeer?
Torch rounds were the most recent pretty thing I did. The bubble rounds are cool too, but don't show as fancily.



(I realize I should capture proper in-game video, but Vine is so easy :()

SavageMessiah
Jan 28, 2009

Emotionally drained and spookified

Toilet Rascal

DeathBySpoon posted:

Crossposting some gifs of my RPG battle system in action. Sorry for the awful quality, I don't know how to gif very well.





Where'd you get the SMT sprites?

Jewel
May 2, 2009

SavageMessiah posted:

Where'd you get the SMT sprites?

Don't know if these are the exact sprites but I don't want to spoil myself on stuff. Spriters-Resource has pretty much everything though http://www.spriters-resource.com/other_systems/shinmegamitensei/

hendersa
Sep 17, 2006

I generated some sample voxel metadata and tried associating it with tiles held within the NES's PPU. They actually don't look that bad, considering the metadata isn't much more than two integers per pixel (a "depth" value and a "thickness" value). Take a look at some renders:

https://www.youtube.com/watch?v=zLe-1eF9Rw0

Did you know that Super Mario Bros. has 512 tiles? 256 sprite tiles, 256 background tiles. I dumped the PPU memory using an emulator to keep track of them all:

bobua
Mar 23, 2003
I'd trade it all for just a little more.

Nes\old video came stuff is ridiculously interesting, thanks for posting it.

It's been said before, but 'Racing the Beam' is an awesome book that details the neat stuff early game makers did to squeeze fun and variety into literal kilobytes of space.

Zizi
Jan 7, 2010

DeathBySpoon posted:

I don't know how to gif very well.

I didn't either til someone introduced me to GoonCam. It's really super-useful.

Content: Finally got my various title screen scripts working for one of my projects. Managed to get my sprites to snap to the sprite pixels instead of the screen pixels, which worked better than expected.

ekuNNN
Nov 27, 2004

by Jeffrey of YOSPOS
I'm working on a little program to glitch images in Max/MSP:


:woof:

Germstore
Oct 17, 2012

A Serious Candidate For a Serious Time

hendersa posted:

I generated some sample voxel metadata and tried associating it with tiles held within the NES's PPU. They actually don't look that bad, considering the metadata isn't much more than two integers per pixel (a "depth" value and a "thickness" value). Take a look at some renders:

https://www.youtube.com/watch?v=zLe-1eF9Rw0

Did you know that Super Mario Bros. has 512 tiles? 256 sprite tiles, 256 background tiles. I dumped the PPU memory using an emulator to keep track of them all:



That's such a good idea I'm kind of shocked that Nintendo didn't do it with the 3DS. Have you given any thought to situations where an appropriate depth map would change based on context because sprites get reused? I don't think it would come up in SMB because the clouds and bushes could have the same depth. In Zelda II though, there are lizard men head sprites that would need different depths depending on if they are part of a lizard man that is walking around, or a lizard man that is behind a fence. That situation is probably fairly rare though and likely not worth the trouble and extra complexity it would take to address it.

Zaphod42
Sep 13, 2012

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

Germstore posted:

That's such a good idea I'm kind of shocked that Nintendo didn't do it with the 3DS. Have you given any thought to situations where an appropriate depth map would change based on context because sprites get reused? I don't think it would come up in SMB because the clouds and bushes could have the same depth. In Zelda II though, there are lizard men head sprites that would need different depths depending on if they are part of a lizard man that is walking around, or a lizard man that is behind a fence. That situation is probably fairly rare though and likely not worth the trouble and extra complexity it would take to address it.

The way you'd do that is you'd have each sprite layer have a depth value, and then the actual sprite would just be depth offsets from that layer.

So a sprite drawn behind a fence would still appear deeper than a sprite closer to the screen, but both would have elements which are closer than other elements of that sprite.

Germstore
Oct 17, 2012

A Serious Candidate For a Serious Time

Zaphod42 posted:

The way you'd do that is you'd have each sprite layer have a depth value, and then the actual sprite would just be depth offsets from that layer.

So a sprite drawn behind a fence would still appear deeper than a sprite closer to the screen, but both would have elements which are closer than other elements of that sprite.

The problem with the Zelda II example is that the Lizardman head is a foreground sprite, and the fence is a background sprite, so the head would render closer than the fence. In 2d it works, but in 3d it would render the fence further back than the head.

The only way I can think to handle it would be to somehow allow for some type of custom rules that check the surroundings sprites (for example if the lizard man head sprites have lizard man legs sprites below them then you know they should have less depth), which probably isn't worth it.

Zaphod42
Sep 13, 2012

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

Germstore posted:

The problem with the Zelda II example is that the Lizardman head is a foreground sprite, and the fence is a background sprite, so the head would render closer than the fence. In 2d it works, but in 3d it would render the fence further back than the head.

The only way I can think to handle it would be to somehow allow for some type of custom rules that check the surroundings sprites (for example if the lizard man head sprites have lizard man legs sprites below them then you know they should have less depth), which probably isn't worth it.

Oh, how does that render in 2d then? Do they mask the foreground sprite with the background or something? Or have seperate head sprites that have holes in them?

Germstore
Oct 17, 2012

A Serious Candidate For a Serious Time

Zaphod42 posted:

Oh, how does that render in 2d then? Do they mask the foreground sprite with the background or something? Or have seperate head sprites that have holes in them?

My assumptions were wrong. I went to that level, and you can see the upper body of the lizard through gaps in the fence. And I used the fairy spell to confirm that both the fence (which appears in front of lizard man) and the lizard man are both behind the fairy. I honestly am in way over my head in figuring out how they did that with only two layers.

edit: Foreground sprites can be layered, so I think there is a background fence. Then there are foreground sprites in the layer with the lizard upper bodies, then fence sprites above that (which lines up with the background fence), then the player sprite, and rock sprites on the top. There's never more than three lizard men, and if they throw rocks all at the same time there's flickering.

Germstore fucked around with this message at 13:04 on Dec 17, 2013

hendersa
Sep 17, 2006

Zaphod42 posted:

Oh, how does that render in 2d then? Do they mask the foreground sprite with the background or something? Or have seperate head sprites that have holes in them?

NES graphics fall into two categories: background (in name tables) and sprites. All of the background is rendered at the same priority, so if no sprites are rendered at a particular pixel, then you only see the background.

Up to 64 sprites can be visible on the screen at the same time, only 8 of which can be displayed on a single scanline. Each sprite is made up of an 8x8 or 8x16 pixel chunk. Each sprite has a "priority with respect to the background" bit (bit 0x002000 of the 32-bit sprite entry in sprite RAM). If the bit is not set, it is "in front". If it is set, it is "in back". If a sprite does not have this bit set, it is rendered on top of the background. Otherwise, it is rendered behind it. As far as sprites on top of sprites, there is some sort of priority mechanism, separate from the background priority in their rendering order.

Since SMB is so simple, I can "cheat" in how I handle rendering some of these things. For example, I can give the small posts on the bridge over water a thickness of "0", so I don't have to worry about rendering Mario behind them. I'll only have a few spots where I'll have to do things like this, so it isn't too bad.

Adbot
ADBOT LOVES YOU

Zaphod42
Sep 13, 2012

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

hendersa posted:

Since SMB is so simple, I can "cheat" in how I handle rendering some of these things. For example, I can give the small posts on the bridge over water a thickness of "0", so I don't have to worry about rendering Mario behind them. I'll only have a few spots where I'll have to do things like this, so it isn't too bad.

Are you planning on rolling this into like, a 3D voxel emulator? Because that would own so hard, but I don't know if that's even really possible. At first I thought you were just doing voxel tests, but now it sounds like you're actually trying to render a whole scene as voxels, so does that mean you're trying to make it playable?

If you could get that working, you could render the voxels in actual stereo 3D which would be so killer.

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