Saturday, January 10, 2015

Building an arcade machine - part 1 - planning

So I've decided to make my own arcade machine. It's going to be a little different than most MAME and emulator setups out there. Unlike most table tops, this one is going to be a head to head machine. I am going to take the output from the computer and run it through a VGA splitter. That way both players will see the same output, just sitting across from each other instead of side by side.

I need to wait for some more hardware to arrive before I can really begin to plan it out, but here is a preliminary basic design.

My big concern is that with this configuration, it's over 40" long. Granted, arcade machines are not small devices, but it would be nice to have something that can actually sit on the counter and be moved without me worrying about it falling apart.

Another concern is that because it's so narrow, it will have to have a substantial base to sit on such as a kitchen counter or a table.

I'm thinking that I want to use pine for this project because it's very light, strong, and easy to work. I know next to nothing about wood working, but now is a great time to learn.

The above is just the skeleton.  The side panels will actually be stylized. I want to make them sort of match up with the Atari logo.






Which I would like to get as a decal.

I have ordered the monitors, off lease, from ebay. They are two dell 2001fps. They are 20 inches with a 4:3 ratio and 1600x1200 maximum resolution. This should be the next best thing to using an actual CRT.




And finally, the last component, which I already own, is the mayflash universal fight stick.


I'll be honest, it's not a great device. The stick isn't tight and the buttons are mushy, but it works with everything and the base is solid metal. Also, I got them both for a great deal. Further down the line, if I see benefit to it, I should easily be able to change out for an ipac or something similar.

Monday, November 24, 2014

voidskimmer 2014 11 24


Doing some interesting and complicated things with a rendertarget2d.

Sunday, November 23, 2014

Planning development for voidskimmer.

So I have written two demos for void skimmer. One that demonstrates ship movement, and one that demonstrates the parallax effect by projecting the game field onto a cylinder. Now it's time to actually sit down and write the game.

Up until now I've been able to get away with using scalars or simple objects, but I want to be easily able to scale the game into something larger. I don't want to write my own engine, but I need to find a way to make certain things extensible.




I think that with the game I am working on, it would be nearly impossible to develop as an MVC style application. The coupling is simply to tight.

So let's take a look at the game objects to get a better idea of what design pattern to use.

So far, we have a playfield and a space ship.

A play field has dimensions, a background image, physics, gravity, objects, etc.

A space ship is an object, it has a position, velocity, and a heading, it has a sprite, fuel, health, etc.

Now here is an interesting question. Is a play-field a level, or does a level merely populate a level? What conditions cause you to change levels? How do you manipulate the space ship object?

How are objects drawn? Do space ships draw themselves? Does the play-field draw the space ship? Does the game object draw all the game elements?

Is a game object just a game object, and the play-field does all the controlling, or will a space ship object inherit from a base game object?

There are two things I want to avoid in designing this game. Over abstraction, and over complication. I don't have an existing code base to work off of, and no team mates to code it with me, so having large complicated objects just slows things down.

Saturday, November 22, 2014

voidskimmer 2014 11 22



This game is very much me cobbling together pieces as I can find time to. Today I got a very basic carousel working that the actual game will be projected on. The next video should hopefully combine the two concepts.

Sunday, November 16, 2014

Void Skimmer update

Just another update on the progress of my tiny game that I'm working on.


It's coming along pretty nicely. One thing I would like to do is have a repeating background instead of just clamping the edges. If you were on the bottom of the play area shooting down, and somebody was on the top of the play area, the person on top would get obliterated hands down, because they wouldn't see the enemy or the shots coming. I think this is what I will work on adding next.

I may need to switch how I am doing the drawing though. Right now I am drawing everything twice. I am drawing the ship, the background, and all the active game objects to a reserve render target. This gives me resolution independence and the ability to do some post effects on the game screen. Sepia when paused, shake the screen when a player dies, scale the camera to encompass two players, etc.

But the problem is when things go outside the play area. The default behavior is to clamp, but I need it to repeat. 

The next thing I would like to work on is adding black hole gravity wells for your ship to encounter.

Saturday, November 15, 2014

Void Skimmer Video 1



A small demo of just some simple movement mechanics that I've been working on, and getting familiar with Monogame.

It's a great library, and I'll definitely write some more about it when I have more to say about it :p

Playing around with monogame



Been playing around with monogame a little bit. Have to say, pretty impressed with how easy it is to get something on the screen.

Coincidentally, been having a lot of fun playing luftrausers on PS3 this weekend too.