Difference between revisions of "Iiii"

From WiiBrew
Jump to: navigation, search
(Here it is.)
 
(v2.1-TR)
 
(48 intermediate revisions by 14 users not shown)
Line 1: Line 1:
{{Infobox homebrewapp
+
{{Lowercase title}}
 +
{{Infobox homebrew
 
| title      = iiii
 
| title      = iiii
| image      = [[Image:Iiii_Icon.png]]
+
| image      = [[File:Iiii_Icon.png]]
| desc        = Connect 4
+
| type        = board game
| type        = Game
 
 
| author      = [[User:Yossi|Yossi]]
 
| author      = [[User:Yossi|Yossi]]
| version    = 1.0
+
| version    = 2.1-TR
| download    = [[Media:Iiii1_0.rar‎|Download]]
+
| download    = Media:Iiii_v2.1-TR.rar
| source      = [[Media:Iiii_source1_0.rar|Download]]
+
| source      = Media:Iiii_v2.1-TR_source.rar‎
| peripherals = {{Wiimote2}} {{FrontSD}}
+
| peripherals = {{Wiimote2}} {{GCNController}} {{FrontSD}} {{USBMSD}}
| hbc         = 1
+
| hbb         = yes
 
}}
 
}}
 +
'''''iiii''''' is a digital clone of the popular retail and pen-and-paper game "Connect 4". It is similar to Tic-Tac-Toe.
  
 
== Rules ==
 
== Rules ==
The rules are simple. You take turns with another player to drop red or black pieces into the board. Pieces fall in from the top and slide down to stack up on top of each other. The goal is to get 4 of your pieces touching in a straight line (diagonals also count) before your opponent does. This is similar to Tic-Tac-Toe.
+
The rules are simple. You take turns with another player to drop red or black pieces into the board. Pieces fall in from the top and slide down to stack up on top of each other. The goal is to be the first to get 4 of your pieces touching in a straight line (diagonals also count).
  
== Details ==  
+
== Details ==
This is a 2 player game. Unless you have a split personality, you will need to install a second player (not included) somewhere near your wii.<br>
+
This game has one and two player modes. By default there is one player and one controller in the game. Hitting plus (+) (or x on the GameCube controller) will toggle control of the red pieces between the CPU and a human. Hitting A on the second controller will cause red to be controlled by the second controller (rather than share on the first controller). This does not automatically turn off computer control of the red pieces.
By default the game only uses one wiimote. If you want the added convenience of a second wiimote, or if the other player has snot on his hands, you can set <tt>control TWOWIIMOTES </tt>  in the settings.ini file.
 
  
 
== Controls ==
 
== Controls ==
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! {{Wiimote}} !! Action
+
! {{Wiimote}} '''/''' {{WiimoteHorizontal}} !! {{GCNController}} !! Action
 
|-
 
|-
| {{WiimoteDPadLeft}} '''/''' {{WiimoteDPadRight}}  || Move Left / Right
+
| {{WiimoteDPadLeft}} '''/''' {{WiimoteDPadUp}}  || {{GCDPadLeft}} || Move Left
 
|-
 
|-
| {{WiimoteBButton}} || Drop Checker
+
| {{WiimoteDPadRight}} '''/''' {{WiimoteDPadDown}} || {{GCDPadRight}} || Move Right
 
|-
 
|-
| {{Wiimote1Button}} || Restart Game (Can only be done on your turn)
+
| {{WiimoteBButton}} '''/''' {{Wiimote2Button}} || {{GCControlStickC}}Down ||Drop Checker
 
|-
 
|-
| {{WiimotePlusButton}} || Will be MetaFight's menu someday. Does nothing now
+
| {{Wiimote1Button}} || {{GCZButton}} || Restart Game (Can only be done on your turn, or if the AI beat you)
 
|-
 
|-
| {{WiimoteMinusButton}} || Arikado's Homemenu
+
| {{WiimoteAButton}} || {{GCAButton}} || Start Game, or on Wiimote 2: Join game.
 
|-
 
|-
| {{WiimoteHomeButton}} || Direct Exit to Loader
+
| {{WiimotePlusButton}} || {{GCXButton}} || Toggle AI on/off
 +
|-
 +
| {{WiimoteHomeButton}} || {{GCStartButton}} || Direct Exit to Loader (only controller 1)
 
|}
 
|}
  
== Settings.ini ==
+
The GameCube controller is treated almost like an extension of the Wiimote. So you can switch from pushing buttons on Wiimote 1 to pushing buttons on GameCube 1 (and vice-versa) and the game wont notice. If you want the GameCube controller to be player 2 only, you need to plug it into port 2.
If you want, you can put a settings.ini file in the same directory as the game (root of the sd for wiiload) and change some settings through there. This is entirely optional.<br>
+
 
You can set how many pieces are needed in a line to win, and adjust the size of the board. See the included settings.ini for more information.
+
Of course, you only ''need'' one controller of any kind to play the game.
 +
 
 +
== Settiiiings.ini ==
 +
If you want, you can put a settiiiings.ini file in the same directory as the game (root of the SD for wiiload) and change some of the defaults with it. This is entirely optional.
 +
 
 +
You can set how many pieces are needed in a line to win, adjust the size of the board or set the AI difficulty (setting this to 10 or higher will introduce noticeable lag). See the included settiiiings.ini for way more details.
 +
 
 +
The included settiiiings.ini may be messed up when opened with an editor that doesn't understand *nix line endings. Either [http://notepad-plus.sourceforge.net/uk/site.htm get an editor] that can read these files (good to have in general), or start nagging random people to format it for windows. I know I said future versions will have a notepad happy settiiiings.ini, but I am back to coding on Linux and don't feel like doing the windows thing every time.
 +
 
 +
== Images ==
 +
Starting in <s>v1.1</s> <s>1.2</s> v1.'''2+''', you can put custom images into ''path''/images/ and the game will load them. See [[Media:Iiii2.1-images.rar|sample images]] and included readme for more info. This readme might have the same issues as the settiiiings.ini file. Whatever. Deal with it. I already told you how. :P
 +
 
 +
Special thank you to drchink from tehskeen for pointing out the first of many path loading bugs. Per your suggestion, I made it look like the piece is sliding down (very fast) rather than just appearing there. Now post your images here so everyone can enjoy.
 +
 
 +
(Doesn't have to only be drchink, if YOU make some good images, post them here too :) ).
 +
{| class="wikitable" style="text-align:left;"
 +
|-
 +
! Name !! Author
 +
|-
 +
| [[Media:Iiii2.1-images.rar|Sample images]] || [[user:Yossi|Yossi]]
 +
|-
 +
| [http://www.mediafire.com/download.php?mmgm3z22xm1 Koopa Vs Boo Edition] || [[user:drchink|drchink]]
 +
|}
 +
 
 +
== History ==
 +
=== [[Media:Iiii_v2.1-TR_source.rar|v2.1-TR]] ===
 +
* simple recompile for compatibility with new wiimotes
 +
 
 +
=== [[Media:Iiii2.1 source.rar|v2.1]] ===
 +
* fixed the file loading from SD. again. was broken since HBC 1.0.2
 +
* added USB support (?)
 +
* added GameCube controller support
 +
* bunch of behind the scenes changes
 +
 
 +
=== [[Media:Iiii2.0 source.rar|v2.0]] ===
 +
* added AI by Keith Pomakis
 +
* rewrote win() to be smarter (pointless now that I found that AI, but it was a lot of work so I'm adding it here anyway)
 +
* Wiimote can be held sideways (push two (2) to drop)
 +
* misc. cleanup
 +
 
 +
=== [http://pastebin.com/f523429d5 v1.2]+ ===
 +
Download [[Media:Iiii source1 1.rar‎|v1.1]] and replace iiii.cpp with [http://pastebin.com/fea60d98 this]. <s>For 1.2+, the fix was to make std::string path be global and edit line 564 to reflect that.
 +
(Thanks to rck`d & TD-Linux for the idea for this fix. TD-Linux had a better solution, but I didn't implement it yet.)</s> Even better solution now.
 +
* Really ''really'' loads images from ''path''/images/ now
 +
* Pieces slide down rather than teleporting to the bottom.
 +
 
 +
=== [[Media:Iiii source1 1.rar‎|v1.1]] ===
 +
* Tries to load images from ''path''/images/
 +
* Red player can switch to second Wiimote during play
 +
* settiiiings.ini also acceptable as settings' file name
 +
 
 +
=== [[Media:Iiii source1 0.rar‎|v1.0]] ===
 +
* Initial release
  
 
== Why the Name? ==
 
== Why the Name? ==
The main reason I chose this name is that some people think too many programs are being released with ii in their names. Some of these names would normally have nothing to do with the ii sound, but the name was mangled to force an ii into them. I don't really care one way or another. I tend to think of ii as a way to identify the program as a wii program. Anyway, this name was chosen especially because it would get under the skin of certain people :D. Hi guys! You know who you are because you are the ones feeling pissed off right now :P.
+
The main reason I chose this name is that some people think too many programs are being released with "ii" in their names. Some of these names would normally have nothing to do with the ii sound, but the names were mangled to force an "ii" into them. I don't really care one way or another. I tend to think of ii as a way to identify the program as a Wii program.  
<br> <br>
+
 
 
If you don't like that excuse, then the 4 dots on the top of iiii represent the 4 pieces you need to line up to win.
 
If you don't like that excuse, then the 4 dots on the top of iiii represent the 4 pieces you need to line up to win.
 +
 +
[[Category:Homebrew using libfat]]
 +
[[Category:Homebrew using libwiisprite]]

Latest revision as of 04:16, 18 July 2012

iiii
Iiii Icon.png
General
Author(s)Yossi
TypeBoard game
Version2.1-TR
Links
Download
Source
Downloadable via the Homebrew Browser
Peripherals
WiiMote2.svg GameCube Controller Loads files from the Front SD slot USB mass storage device

iiii is a digital clone of the popular retail and pen-and-paper game "Connect 4". It is similar to Tic-Tac-Toe.

Rules

The rules are simple. You take turns with another player to drop red or black pieces into the board. Pieces fall in from the top and slide down to stack up on top of each other. The goal is to be the first to get 4 of your pieces touching in a straight line (diagonals also count).

Details

This game has one and two player modes. By default there is one player and one controller in the game. Hitting plus (+) (or x on the GameCube controller) will toggle control of the red pieces between the CPU and a human. Hitting A on the second controller will cause red to be controlled by the second controller (rather than share on the first controller). This does not automatically turn off computer control of the red pieces.

Controls

Wiimote.svg / WiimoteHorizontal.svg GameCube Controller Action
Wiimote D-Pad Left / Wiimote D-Pad Up Gamecube D-Pad Left Move Left
Wiimote D-Pad Right / Wiimote D-Pad Down Gamecube D-Pad Right Move Right
Wiimote B Button / Wiimote 2 Button Gamecube C Control StickDown Drop Checker
Wiimote 1 Button GameCube Z Button Restart Game (Can only be done on your turn, or if the AI beat you)
Wiimote A Button Gamecube A Button Start Game, or on Wiimote 2: Join game.
Wiimote + Button Gamecube X Button Toggle AI on/off
Wiimote HOME Button GameCube START Button Direct Exit to Loader (only controller 1)

The GameCube controller is treated almost like an extension of the Wiimote. So you can switch from pushing buttons on Wiimote 1 to pushing buttons on GameCube 1 (and vice-versa) and the game wont notice. If you want the GameCube controller to be player 2 only, you need to plug it into port 2.

Of course, you only need one controller of any kind to play the game.

Settiiiings.ini

If you want, you can put a settiiiings.ini file in the same directory as the game (root of the SD for wiiload) and change some of the defaults with it. This is entirely optional.

You can set how many pieces are needed in a line to win, adjust the size of the board or set the AI difficulty (setting this to 10 or higher will introduce noticeable lag). See the included settiiiings.ini for way more details.

The included settiiiings.ini may be messed up when opened with an editor that doesn't understand *nix line endings. Either get an editor that can read these files (good to have in general), or start nagging random people to format it for windows. I know I said future versions will have a notepad happy settiiiings.ini, but I am back to coding on Linux and don't feel like doing the windows thing every time.

Images

Starting in v1.1 1.2 v1.2+, you can put custom images into path/images/ and the game will load them. See sample images and included readme for more info. This readme might have the same issues as the settiiiings.ini file. Whatever. Deal with it. I already told you how. :P

Special thank you to drchink from tehskeen for pointing out the first of many path loading bugs. Per your suggestion, I made it look like the piece is sliding down (very fast) rather than just appearing there. Now post your images here so everyone can enjoy.

(Doesn't have to only be drchink, if YOU make some good images, post them here too :) ).

Name Author
Sample images Yossi
Koopa Vs Boo Edition drchink

History

v2.1-TR

  • simple recompile for compatibility with new wiimotes

v2.1

  • fixed the file loading from SD. again. was broken since HBC 1.0.2
  • added USB support (?)
  • added GameCube controller support
  • bunch of behind the scenes changes

v2.0

  • added AI by Keith Pomakis
  • rewrote win() to be smarter (pointless now that I found that AI, but it was a lot of work so I'm adding it here anyway)
  • Wiimote can be held sideways (push two (2) to drop)
  • misc. cleanup

v1.2+

Download v1.1 and replace iiii.cpp with this. For 1.2+, the fix was to make std::string path be global and edit line 564 to reflect that. (Thanks to rck`d & TD-Linux for the idea for this fix. TD-Linux had a better solution, but I didn't implement it yet.) Even better solution now.

  • Really really loads images from path/images/ now
  • Pieces slide down rather than teleporting to the bottom.

v1.1

  • Tries to load images from path/images/
  • Red player can switch to second Wiimote during play
  • settiiiings.ini also acceptable as settings' file name

v1.0

  • Initial release

Why the Name?

The main reason I chose this name is that some people think too many programs are being released with "ii" in their names. Some of these names would normally have nothing to do with the ii sound, but the names were mangled to force an "ii" into them. I don't really care one way or another. I tend to think of ii as a way to identify the program as a Wii program.

If you don't like that excuse, then the 4 dots on the top of iiii represent the 4 pieces you need to line up to win.