By Daniel Gump (HullBreach)geekrecon. Saturday, February 21, 2009 3:42:56 PM
mmorpg, wiimote, javascript, hullbreach
...
Some of the code in
HullBreach Online has been refactored to pull some additional speed, but the big change is how graphics are displayed. Previously, everything in the pixel range (0,0)-(500,300) was drawn to a page-flipped canvas. It ran fine on a standard desktop computer but proved to be slow on a Wii. Now, the starfield background has been moved from within the canvas to a displaced CSS background, greatly increasing the speed. The overlay map used to be a section of the main canvas and was drawn as several translucent shapes. This has been changed to a separate canvas with a CSS opacity of 0.5 and solid shapes, allowing a little extra burst of speed in the game.
Overall, I'd estimate HullBreach Online may be running as much as 50% faster. Don't think it will stop there, though. I may move the planets and locations from the canvas to be IMG elements inside a clipping DIV (that's the same size as the canvas), depending no how much speed I can get. This would leave just the ships inside the canvas, where they will permanently reside, to allow the freedom of rotation.
To summarize:
- Faster code
- Faster graphics
- More speed coming
http://hullbreachonline.com
By Daniel Gump (HullBreach)geekrecon. Sunday, February 15, 2009 8:14:42 PM
snes, 3d, hullbreach sdk, mode7
...

An alpha preview of the new Mode7 is available at
http://wiioperasdk.com/mode7.html.
- Available features from the original goal list are as follows:
- Per landscape pixel coordinate mapping
- Default tiles for empty locations
- Variable pixel size Variable strip size (for speed vs. visual clarity optimization)
- Variable canvas size
- Controls for motion, turning, strafing
- Import custom tile maps
- Import custom tile images
Originally, the class was going to draw landscapes on a per-pixel basis, but that proved to be way too slow for not only playing but just for viewing. This I’ve taken some shortcuts (in a similar manner to how the SuperNES did) which create a decent, but not mathematically correct, effect for games.
Much of the class is not yet automated in the manner that the 3DFPS one is, and some tweaking to the perspective projection math is required. Beyond that, it is functionining. I just need to run some benchmarks on the Wii before creating a game or two.
By Daniel Gump (HullBreach)geekrecon. Tuesday, February 10, 2009 3:32:09 AM
hullbreach sdk, terrain mapping, pilotwings, supernes
...
The new class for the Wii Opera SDK / HullBreach SDK that mimics the popular affine texture mapping of the SuperNES era is almost finished. This class will give the ability to create graphical effects like those produced in Super Mario Kart, Pilotwings, F-Zero, and other games, by scaling scanlines of rotates planes on screen mode 7 of the SuperNES. The interface will be similar to that of the Raycasting class on the homepage of
http://wiioperasdk.com.
It is my hope that when this class is finished and fully-optimized that Internet Channel versions of SuperNES favorites will see their lights-of-day.
- The demo image shows the functionality with a sample checkboard pattern. Final game engines using this class will have the following abilities:
- Per landscape pixel coordinate mapping
- Default tiles for empty locations
- Variable pixel size (for speed vs. visual clarity optimization)
- Variable canvas size
- Controls for motion, turning, strafing
- Panoramic backgrounds
- Import custom tile maps
- Import custom tile images
The class will be ready in the next week with a simple demo. Once this class is finished, I will begin work on the next project: Terrain Mapping.
By Daniel Gump (HullBreach)geekrecon. Saturday, February 7, 2009 3:55:14 PM
hullbreach online, web services, soap, wii opera sdk
The WSDL file is located at
http://hullbreachonline.com/webservices/webservice.wsdl. For those not using the WSDL, the direct file reference to the Web Services is
http://hullbreachonline.com/webservices/webservice.php.
Currently included are four Web Service methods, called as follows:
getHBCharacterInfo
- Returns information on a character, based on either a character name or character number.
-
In - unsignedInt (for characterID) OR string (for characterName)
-
Out - array(1) { unsignedInt character_id, string character_name, string character_race, string character_class, unsignedInt user_id, string user_name, string ship_name, string ship_class, unsignedInt sector_x, unsignedInt sector_y, int subsector_x, int subsector_y, string error }
getHBLeaderBoard
- Returns the top 10 user characters, based on search criteria
-
In - string "stats" OR string "credits"
-
Out - array(10) { unsignedInt character_id, string character_name, unsignedInt userID }
getUserInfo
- Returns information on a user account, based on the user_id
-
In - unsignedInt user_id
-
Out - array(1) { unsignedInt user_id, string user_name, string first_name, string signature, dateTime member_since, dateTime last_login, string wii_code, string error }
sendNewUser
- Creates a new user account with the supplied information
-
In - array(1) { string user_name, string first_name, string last_name, string password, string email, string signature, string wii_code, string source }
-
Out - string error OR string user_id
When applicable, methods may return an error string.
"source" in
sendNewUser is where a referral link should be placed so that an affiliate website can receive credit for the signup. This referral link is stored in the database but not displayed for public view at this time.
This documentation will be placed at
http://hullbreachonline.com and
http://wiioperasdk.com in a webpage to receive updates as new methods are add
By Daniel Gump (HullBreach)geekrecon. Saturday, January 31, 2009 6:11:33 PM
hullbreach online, web services, wii, soap
...
A few Web Services for Wii Opera SDK / HullBreach Online are now available with many more to come. Any Web developers wishing to take advantage of them, let me know. Documentation will be posted shortly. Below is a description of the methods that exist so far:
-
getUserInfo - This retrieves information on a current user account based on the supplied User ID or Username.
-
sendNewUser - This remotely creates a new user account based on the data supplied.
-
getHBCharacterInfo - This retrieves information on a current user's character in HullBreach Online based on the supplied Character ID or Character Name.
-
getHBLeaderBoard - This retrieves a Top 10 list of HullBreach Online characters, sorted descenting by either Credits or total Stats.
Future methods include
sendRemoteLogin,
updateUserInfo,
getWOSTLeaderBoard,
getWOSTQuestion, and
getRecentChatroom. As more websites join the unified Wii Internet Channel Homebrew community, customer SOAP Web Services will be added for them. The Wii Opera SDK will soon add a few methods to the list, as well, which relate to meshes, dungeons, and more.
These Web Services were developing in PHP and make use of a WSDL, but they will be compatible with any other SOAP-supporting language. By request, I will create REST versions of these methods.
By Daniel Gump (HullBreach)geekrecon. Tuesday, January 20, 2009 4:11:06 AM
soap, rest, xml, php
...
I’m in the process of creating several new Web Services for
http://wiioperasdk.com and
http://hullbreachonline.com. These are being created for new games that will be coming soon, including WOS Trivia. The first set of Web Services will be related to HullBreach Online. Those wishing to query data can gather information on characters, users, and various other stats, to construct custom highscore tables, lists of Wii System Codes, etc. Eventually, these Web Services will expand to allow other related websites to join in an effort to create unified log-in across all Wii-related websites. As these features become available, they will be posted at both WiiOperaSDK and HullBreachOnline.
All Web Services will be created for SOAP (using WSDL files) and REST. I can provide example code in PHP for setting up client access, but those using JSP, Flash, some flavor of .NET, Ruby, or anything else, will have to create interfaces based on the documentation I release. Of course, once you create the interface, I will share it with other developers at your request.
For further information on Web Services and related standards, you can visit
http://www.w3.org and look up WSDL, SOAP, and Web Services.
By Daniel Gump (HullBreach)geekrecon. Wednesday, January 7, 2009 10:15:11 AM
rpg, hullbreach sdk, library, javascript
...
I’ve begun work on the RPG infrastrcture, which is a library of JavaScript classes (later to be ported to PHP) for use in creating objects necessary in an RPG. These classes will control all interaction between characters, items, magics/techs, weapons, armors, shops, locations. Once finished, this library will be available alongside the existing Wii Opera SDK / HullBreach SDK files as a ZIP archive. Proposed classes so far are as follows:
- RPG_Ailments
- RPG_Battle
- RPG_Character
- RPG_City
- RPG_Equipment
- RPG_Item
- RPG_Magic
- RPG_Shop
- RPG_Tiles
- RPG_World
More classes may come later as needed.
These classes will be versatile enough that developers can create any statistics for each object at run-time. For instance, let’s say the game needs to check a status ailment in a character object named MyChar. To check the ailment “sleepy”, one would call the get_ailment method like so:
MyChar.get_ailment(”sleepy”);
If that ailment has not yet been defined, it will return false. Also, if the value of that ailment is false, it will return false. Now let’s change that ailment’s status:
MyChar.set_ailment(”sleepy”, true);
Calling get_ailment() once again will now return true. The RPG_Ailments class is where attributes of sleepy would be set. For instance, the speed and stamina stats may be cut in half. When in battle, the RPG_Battle class would automatically link those attribute changes into the battle algorithms and affect the character until that ailment was set to false. Similarly, the RPG_Equipment class would adjust the character stats by either adding to or subtracting from applicable character or enemy stats.
As development of this library advances, I will report more on the specifics. Once it nears release, expect a massive document to appear on the website that explains how to make use of the classes.
By Daniel Gump (HullBreach)geekrecon. Saturday, January 3, 2009 4:09:51 PM
rpg, hullbreach sdk, javascript, mee
...
We’ve recently begun a new year, and with new years come New Year’s resolutions. I thought I’d jump on the bandwagon and place some goals for the Wii Opera SDK / HullBreach SDK. If these resolutions can be kept, expect to see many more features arise in the SDK this year. Some of these depend on Opera releasing the much rumored Wii Opera 2.0 / Internet Channel 2.0 that so many believe will see the light of day after a Photoshopped image several months ago. Inevitably, a new release will come on day. It will probably not have a spinning tab-cube and big, unproportioned buttons like the Wii Opera 2.0 / Internet Channel 2.0, but there will obviously be a newer Opera built.
These resolutions will be listed in priorities and based on dependencies of a new Internet Channel build. I would also like to optimize some of the existing classes for Nintendo DSi usage.
RPGStats Class (New)
Priority: Moderate
Dependency: None
This class will create RPG character and enemy objects with all their stats. There will also be another helper-class to perform calculations relating to battle damage and item usage.
Comm Class (Existing)
Priority: High
Dependency: None
This class has existed since the 1.x series of the SDK, so it’s in bad need of an update. This update will use more efficient serialized values and offer multiple asynchronous AJAX calls.
Mee Class (New)
Priority: Low
Dependency: None
This class will create an Internet Channel version of Miis so that games using the SDK can have avatar heads that will carry across any games for consistancy.
Mode7 Class (New)
Priority: High
Dependency: None
This class will reproduce the screen mode 7 effect of the Super NES where scanlines of rotated backgrounds are scaled in 3D perspective. This effect was popularized in games like F-Zero and Super Mario Kart.
Terrain Class (New)
Priority: Low
Dependency: None
This class will create height-mapped terrains by passing texture and height values to the class. It will effectively open voxel graphics for the Internet Channel.
Keyboard Class (New)
Priority: Moderate
Dependency: None
This class will allow developers to have a translucent on-screen keyboard pop-up on the screen for entering characters into textboxes and textareas without an entirely new screen appearing.
3D2 Class (New)
Priority: Moderate
Dependency: Canvas 3D
This class will wrap Opera’s 3D canvas much in the way that the Draw class currently wraps the 2D canvas. It will allow for much faster texture-mapping of 3D meshes.
By Daniel Gump (HullBreach)geekrecon. Tuesday, December 23, 2008 2:18:50 PM
opera, nintendo, 3d, wiimote
...
WOS Trivia
I've been hard at work creating new questions for the game, making at least several per day. When that number reaches a few hundred, the game will be almost ready for release. The database and login are in place. The interface needs some finalizing, including leaderboards and member question submissions.
Terrain Mapper
I'm working on fixing some problems with the raycasting that results in improper elevations. Once that is finished, I will create a class in the Wii Opera SDK / HullBreach SDK for this. It will support full tile-based texture-mapping and height-mapping.
Mode 7 (Floor) Mapper
This is an accelerated version of the Terrain Mapper that mimics screen mode 7 of the SuperNES that became famous for perspective rendering of scanlines in games like F-Zero, Super Mario Kart, and countless others. Like the Terrain Mapper, it will support tile-based texture-mapping.
By Daniel Gump (HullBreach)geekrecon. Thursday, December 4, 2008 1:06:38 PM
cross-domain, hullbreach online, sessions, wii
...
In preparation for upcoming releases and changes at both
http://wiioperasdk.com and
http://hullbreachonline.com, I have set up both websites so that member accounts are shared. Thus, anyone who logs into their accounts with one will be able to seemlessly carry the login session to the other one. It makes much more sense than having to create two separate accounts for the related websites.
If I create any more websites with similar content, they will be expanded to share unified accounts as well. I may eventually expand this technique to allow websites made by others to have unified accounts with
http://wiioperasdk.com and
http://hullbreachonline.com. Wouldn't it be nice for all related websites to have the same login?
I will explain how to carry login sessions across websites to anyone who asks, but I will not bore everyone who reads this blog with the technical details.