Wii Internet Channel and Nintendo DS/DSi Browser Homebrew

And the unified community project

Subscribe to RSS feed

Posts tagged with "javascript"

The Mystical Journey - Teaser 3

, , , ...



The real-time / playable version of also available at http://dsipaint.com.

Quick Question...

, ,

Has anyone tried going to http://dsoperasdk.com lately? bigsmile

HullBreach Online Updated: More Speed!

, , , ...

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

RPG Development Library

, , , ...

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.

Wii Opera SDK 3.x New Year’s Resolutions

, , , ...

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.

Updated WiiOperaSDK.com Homepage Interface

, , , ...


I thought it’d be fun to make a non-traditional menu interface for the homepage of http://wiioperasdk.com, so I ported over the FPS engine from the demo/widget. All thumbnails within the homepage hallway are hyperlinks to existing demos and games. Enjoy!

Project updates...

, , , ...

Since I have not posted to this blog in a while, it may seem like my projects have sat dormant. Since that is far from the case, I felt that I should give an update on the status of a few projects:

HULLBREACH ONLINE
For the most part, HB has seen little more than bug fixes over the past two months. For what the game does, no technology supported by the Internet Channel will allow me to push the bounds further without considerably hurting the framerate. In the HB forums, several gamers have mentioned that they'd like to see a WiiWare version. Well, I'm already one step ahead of them. I've applied for developer status to Nintendo with a local software company. That was in late January, and warioworld.com says to expect a fee months to hear a response. I'm just playing the waiting game now.

WII OPERA SDK
For the past month, I've been dabbling in raytracing in both JavaScript and C++. Although raytracing itself is very slow (yet produces graphical results well beyond traditional rasterization methods), I am going to attempt to incorporate a hybrid engine into the SDK's flat shading functionality. I believe that I will be able to add realtime shadows to meshes. The possible speed is unknown but will obviously be slower than using just realtime flat shading. I have some other plans for the SDK in the pipeline as well. And of course I keep tweaking it for speed on a weekly basis.

Stay tuned for more upcoming news...

Wii Opera SDK v2.0: New Draw.drawScene and huge accelerations

, , , ...

I've just created a new function/method for the Draw class called "drawScene()". By using this instead of a loop of triangle draws, you can get about an extra 50% speed, depending on if you are using wireframe, fill, or both. Here is the setup for the method/function:

null = Draw.drawScene(2DPoly[][x1,y1,x2,y2,x3,y3,r,g,b], style);

"2DPoly[][x1,y1,x2,y2,x3,y3,r,g,b]" is the same argument structure as the return from Draw.getTranslation();

"style" can be a combination of Draw.WIREFRAME (1) or Draw.FILL (2). Those values can be added (+) or bitwise ORed (|) to combine the two values.

Here's an example of a frame drawn to a scene:

ThreeDee.LoadMesh(mesh);
ThreeDee.Backface();
ThreeDee.Shade();
ThreeDee.ZSort();
Draw.drawScene(ThreeDee.GetTranslation(), Draw.WIREFRAME | Draw.FILL);

3D Mesh Gallery Updated

, , , ...

Several more meshes have been added to the gallery. Also, those who wish to submit their own meshes for inclusion can now preview them rotating before the final submission, allowing final tweaks.

Press Release: Wii Opera SDK v2.0 and 3D Mesh Gallery Released

, , , ...


Version 2 of the Wii Opera SDK has been released today, opening the door for Internet Channel homebrew programmers who wish to delve into 3D game design.

The Wii Opera SDK is an unofficial JavaScript library at http://hullbreachonline.com which has allowed developers to access all four Wii Remotes and unlock the power of the HTML canvas drawing object since mid-2007. Version 2 adds the ability to create 3D games with imported meshes, real-time lighting, explosions, backface culling, and more. In addition, the official website has opened a 3D Mesh Gallery where enthusiasts can create meshes and models of their own to be submitted for inclusion for use and ratings by others. These meshes can be created in 3D modelling programs like Milk Shape then converted for homebrew games.

Two new demos of the SDK in action are available for immediate viewing at http://hullbreachonline.com/sdk/ripple.html and http://hullbreachonline.com/sdk/shooting.html . Those wishing to create games using the Wii Opera SDK can download its components for free at http://hullbreachonline.com/sdk.

-- end --