Monday, March 21, 2011

User Interfaces – Forge and Pirates of the Spanish Main

Graphic user interfaces (GUI, pronounced "goo-ey") make or break computer programs.  A good gui is worth its weight in gold while a bad one will make you throw your computer out of the window. 

Recently I read the quote, "To users the gui is the program".  Programmers tend to view things much differently than users.  To programmers the gui is the "front-end" that has sparkling colors and other unnecessary eye candy while the "back-end" does the actual number crunching.  To programmers the "heart" of the program is the back-end while users see the "heart" as the front-end.

I've worked a little bit on Pirates of the Spanish Main's back-end and I was thinking about the front-end.  The difficulty is that I was going to use only 2D graphics, which is great for games like Pacman but not so good for good for other things.  Limiting myself to 2D graphics means that Pirates would have an "overhead" gui, where you saw everything from directly above.  While this might sound ok, in reality your ships would be only outlines of the hull. 

Viewing a ship directly from above is very unexciting and the gui could show your ships in one color and the computer's ships in a different color but the overall game experience would be very abstract compared with the nice 3/4 view that the (now deceased) online game had which used 3D models.  The 3/4 view is similar to Zaxxon.  (Boy, I'm dating myself with the Zaxxon reference.) You can see videos of the online Pirates game here. 

I'm still interested in trying to write a Pirates of the Spanish Main game but I'm not sure how to do it using only 2D graphics.  Maybe I could simulate a 3/4 perspective by taking numerous pictures of a ship at different angles?  Theoretically, I could use a 3D game engine but I think I would be in over by head.  (JMonkey looks like a good 3D Java videogame library.)

Last night I played a few games with Magarena, a great Magic program that features a very good AI.  I just marveled at how "nice" everything felt.  Magarena feels like a real, commercial program because the gui is so nice and refined.  It even supports creating your own themes so users can customize the icons representing your hand, graveyard, library as well as the wallpaper where the game is played. 

I am going to try to create a gui for Forge that is similar to Magarena.  I always figured that someone else would update Forge's gui but since that hasn't happened, I thought I would offer my meager skills.  I know absolutely nothing about videogame programming but I did find a small, simple videogame library called fly that I plan to use.  Magarena supports themes and I want Forge's new gui to support themes also.  I actually plan to "borrow" Magarena's themes because they look so nice.  "Good artists borrow, greats artists steal."

Keep on forging,

Link - Magarena's download site - It is a great program and the AI is very challenging.

Link - Fly is a small, simple Java videogame library.

The pirates videogame could be done from an isometric viewpoint.  It wouldn't be fancy looking or anything but it would be better than nothing.  (For a good definition of isometric read this Wikipedia article.)


CatzPaw164 said...

I loved playing Zaxxon...I think that was the last action video game that I was good at! ;-)

Michael said...

Make the game mechanics first, and worry about the graphics later.

Stassa said...

Hi. For 3d you could use UDK (that's a sort-of free/ultra cheap version of the the Unreal Tournament 3 engine).

As for pseudo-3d options, you could do it the way the first couple Total War games were done. If memory serves, the environment was 3d but the actual troops where sprites with a "billboard", ie two surfaces, one of which would always face the camera, and with an animated image of a soldier on it, either from the front/back or the sides. So you would only get four views of each man, rather than a full-3d all-around view, but it looked really good- and it was really light (in terms of memory needed to run).

There's also Blender, the free & open-source 3d modelling and animation suite, that has a built-in 3d engine, if I remember correctly.

NeoRagnarokX said...

UDK is the same application big companies use to write games, the only difference between they and we is they get UDK source code access and better documentation.

Anyways, if you are thinking about modeling I would recommend you to use Newtek Lightwave 3D, it's much easier to use. Blender is just a pain in the ass.

stassa said...

True, Blender is a PITA :) (at least it was when I last used it, a while ago). I think it has a 3d engine though, and, well, it's free.

UDK is probably the best option, for 3d- but then, what do you create your models with?

NeoRagnarokX said...

I think there is a free version of 3D Max Studio and Newtek Lightwave 3D 9.6 has a trial version.

In my experience 3D Max Studio is easier to texture with, meanwhile Ligthwave 3D is easier to model with.

Joshua Smith said...

Thanks for helpful tips. For industry solutions it is the right way to get IT development company.

Joshua Smith said...

Very informative tips, looking forward to topic's updates. I want to share in turn with tips how to earn on gaming traffic. The most of casino affiliates look for affiliate online program their requirements.