Spherical forums

General Discussion => Site Comments => Topic started by: Vakinox on February 13, 2014, 11:39:45 pm

Title: The Wiki
Post by: Vakinox on February 13, 2014, 11:39:45 pm
Has any attempts been made to add new content? Tutorials, scrap art, scripts, etc.

If anyone has the time, I'd definitely collaborate with someone on making new tutorials if it were wanted, or have we abandoned it yet?
Title: Re: The Wiki
Post by: Radnen on February 14, 2014, 01:26:29 am
One does not simply abandon a wiki. :P

I keep meaning to add new content, but I just don't have the time. And having to endure losing all our old stuff kinda took the wind out of our sails. It'll prosper eventually but now we're just hanging on.
Title: Re: The Wiki
Post by: Vakinox on February 14, 2014, 11:22:09 am

And having to endure losing all our old stuff kinda took the wind out of our sails.


Yeah, all my tutorials are missing and good bit of other content I've noticed like your pixelart turtorials. Since my recent break though I haven't stressed over it, and kinda has been cleansed from mind. I would love to collaborate with someone to revamp the community, we can still enjoy our time together even if there isn't a lot of new users flooding in to stay. I've seen TurboSphere and your Editor has seen some amazing improvements, so I know you and FJ are probably pretty busy with those two projects not to mention your games like Blockman or Jester's stuff.

Are Neo, Vince, you and FJ the only members left from the old forums?
Title: Re: The Wiki
Post by: Flying Jester on February 14, 2014, 02:38:22 pm
We see some other folks from the old forums from time to time. And Casio was on the old forums, too!

In general, things are in decline here. It's just my theory, but I believe they will continue to be until either we make a full release of 1.6, TurboSphere, or Sphere-SFML. Our engine is dusty. Even if the new release isn't as good as 1.5, the shininess factor is what we are sorely lacking nowadays.

I add things to the wiki whenever I need to know something, check the wiki, and find it gone. I also occasionally go through and add three or four random pages when the fancy hits me, but not very often.
Title: Re: The Wiki
Post by: N E O on February 14, 2014, 02:41:09 pm
I myself want to have a decent-sized block of time to dedicate to restoring more API documentation from the Wayback Machine. I do not have internet at home, so most/all my online time is relegated to doing/getting stuff in preparation for long stretches of time offline.

I'm shocked I've been able to get as far as I have in computer-related fields in such a manner!

Re members from the old forums - there are a few more who've popped in every so often (and one of them, casiotone, even runs the server that currently hosts us), but that data loss was a huge blow to the community aspect of Spherical and of Sphere development and enjoyment in general.

(edit - ninja'd)
Title: Re: The Wiki
Post by: Flying Jester on February 14, 2014, 04:45:21 pm
Actually, I think I would add to the wiki more if there was a list of 'wanted' pages. Not just a list of all missing pages, but a list that folks add to when they want a specific page to be done.
Title: Re: The Wiki
Post by: Vakinox on February 14, 2014, 07:26:01 pm
Here's a link to the archive's page. http://web.archive.org/web/20111104234551/http://www.spheredev.org/wiki/Tutorials

If someone wants to start helping put some stuff back up, they can. I'm going to begin trying to reupload everything tomorrow, starting with the tutorials, and a little bit tonight and see how that goes. The enormous API list is probably going to be last on my schedule. Is there anything else that anyone is wanting done for the wiki?

Also, I have a good chunk of old games and stuff if you need a copy of something. And if you guys want me to make a copy of something that you're always or probably going to want again, I can always save a copy onto my external harddrive for you as a backup. I've been here long enough to keep a good trustworthy connection for backups and data. If I had the extra computer all day to run, I'd probably use it as a backup server for the site.

. . .

PS. What's this OpenID thing? I can't figure out how to log onto the wiki.
Title: Re: The Wiki
Post by: DaVince on February 15, 2014, 07:46:38 am
Uh, the description of what it is is right on the login page. In any case, it lets you use your Google/Yahoo/whatever account to log into the site so you don't have to go through the hassle of registering a new account.
Title: Re: The Wiki
Post by: Vakinox on February 15, 2014, 10:22:56 am
I keep getting an error message:

Quote
Verification of the OpenID URL failed. Error message: "Nonce already used or out of range"
Title: Re: The Wiki
Post by: N E O on February 15, 2014, 02:55:33 pm
Weird; I'll check it out later this afternoon.
Title: Re: The Wiki
Post by: Vakinox on February 15, 2014, 07:07:28 pm
Figured it out. Javascript was disabled on my browser, which interrupted the login.
Title: Re: The Wiki
Post by: Vakinox on February 16, 2014, 02:24:54 pm
I think FJ has the right idea, what is something you guys would want to see on the Wiki?

We can make a list, possibly then rearrange everything into order of importance, and just pitch in whenever one of us has the free time. Currently I'm going through reediting and adding my own battle system tutorial to the Wiki as I'm working on the section for my project. It may take a bit before I can get to the other tutorials I want to add, like Radnen's pathfinding or WildTiger's introduction to sphere. Slow and steady wins the race though, so we don't necessarily need to worry too much, but it would be great to have a checklist of some sorts from the community I think.

. . .

Also, there's a problem with the Wiki. Every time I begin to submit an edit to an article, it has me logged out. Is there a time limit to how long you can stay logged in or edit an article?
Title: Re: The Wiki
Post by: N E O on February 17, 2014, 03:41:42 pm

Figured it out. Javascript was disabled on my browser, which interrupted the login.


Wow, that's a good one. I didn't think there were still important extensions that didn't have a noscript fallback.

I'm going over to the extension's page to see if there's an updated version now, thanks! Re time limit, I didn't set one but it may be dependent on browser cookies or something.

Re tutorials - I myself am going to handle the Wild-Tiger stuff since I'm pretty attached to those, but feel free to double-check with Radnen about the pathfinding one! Anything else that you'd like to restore just let DaVince, Flying Jester, or myself (aka the current wiki mods) know when a page is restored so we can go over it for proper formatting and any additional cleanup (like modernization of links or something).
Title: Re: The Wiki
Post by: Flying Jester on February 17, 2014, 05:30:28 pm
Wait, I'm a mod on the wiki now?
Title: Re: The Wiki
Post by: N E O on February 17, 2014, 08:39:10 pm
I thought you were previously?

Apparently for this iteration of the wiki I didn't set anyone to "bureaucrat" status and Wayback Machine isn't letting me see paginated versions of the old wiki's userlist so I can't confirm who was.
Title: Re: The Wiki
Post by: Flying Jester on February 17, 2014, 09:03:49 pm
I could imagine I was/am a mod on the wiki, but I don't think I am now, and I don't recall ever being one.
Title: Re: The Wiki
Post by: Vakinox on February 20, 2014, 08:26:14 pm
Currently working on some Battle System stuff and trying to make a section of my tutorial more simple.

Is anyone free right now? Because I was wondering if I could get some peer review or criticism on what I have so far:

http://wiki.spheredev.org/Battle_System_Tutorial_by_Vakinox
Title: Re: The Wiki
Post by: Radnen on February 20, 2014, 08:42:47 pm
The tutorial is not that bad. There are some thing you wrote that could be done easier with better code organization and reuse, but on the whole you are solving the small problems. So, I say that's pretty good.

An error in the stat constructor:
Code: (javascript) [Select]

function Stats (Name, MaxHp) // MaxHp is not used. You meant to use 'Hp'.


As for general advice, I don't know exactly what to say; if it works for you then it's a decent tutorial. There are like thousands of ways to make a battle system. ;)
Title: Re: The Wiki
Post by: Mooch on March 02, 2014, 04:17:19 pm
Looking at the current Tutorials, it's pretty much all RPG-related stuff, and there's quite a bit of redundancy. Four battle system tutorials? I understand everyone has their own style and advice, but if everyone's focusing on the same thing, it's less helpful than if there's people making totally different sorts of tuts.

Speaking as a programming and Sphere novice, I'd love to see many small, highly-specific tutorials that one could piece together to get a game off the ground, as opposed to larger game-specific tutorials ("here's how to make an RPG" "here's how to make a platformer"). Such tutorials might include...

• Sidescrolling Movement Tutorial
(Includes gravity and jumping)

• Autoscrolling Movement Tutorial
(ala a space shooter)

• Tile Movement Tutorial
(Don't forget to make it dynamic, to allow various tile sizes)

• Disabling 8-Way Movement Tutorial
(ala the original Legend of Zelda where you can only move in one direction at a time)

• Running Tutorial
(shows you how to add a run button to side-view or top-view games, and different kinds of running -- hold to run infinitely, press to get a short boost ala Secret of Mana, a boost meter ala Star Fox)

• Jumping Tutorial
(shows how to do double-jumping, wall-jumping, etc. in sidescrolling games)

• Shooting Tutorial
(shows how to make characters shoot simple bullets, either in the same direction the character is facing, or in a fixed direction, whether it be fixed by the game (you can only shoot up) or by button press (different buttons for shoot up/down/left/right) and how to have those bullets do things like destroy Entities)

• Map Changing Tutorial
(shows how to warp characters from map to map, including how to make a screen exiting/entering animation)

• Heart Meter Tutorial
(shows how to make a simple three-heart meter, along with how to make objects/events remove those hearts, how to make the game kick out to a game over screen when you lose all your hearts, items to increase your maximum hearts, items to refill your hearts, etc.)

• Death Hazards Tutorial
(shows how to add instant-kill tiles/objects to any sort of game and bottomless pits to sidescrolling games)

• Treasure Tutorial
(shows how to make pickups like gems/coins/etc. in games, where when you touch them, they give you some score or money or whatever)

• Powerups Tutorial
(shows how to make simple timed powerups such as double jump height, more powerful bullets, invincibility, etc.)

• Moving Platforms Tutorial
(shows how to make simple moving platforms for sidescrollers)

• Platformer Enemies Tutorial
(shows how to make some simple platformer game enemies, including enemies that mindlessly walk in a straight line, enemies that won't fall off platforms and enemies that jump, both those that jump constantly/randomly and those that jump when the player is nearby)

• Overhead Enemies Tutorial
(shows how to make basic enemies for an overhead game, including those that wander randomly, those that track the player's movement and those that shoot projectiles)

Since the Sphere editor is pretty esoteric, it'd probably also be helpful to have a basic "here's how to make X resources" tutorial. It's not at all obvious how to actually make tilesets (I had quite a bit of trouble figuring that one out), or use the different layers in the map editor. Things like that.
Title: Re: The Wiki
Post by: Radnen on March 02, 2014, 06:06:51 pm
That's a very good list, Mooch and I'll try to get on making tutorials. But I was thinking of making more general tutorials, but I'll tackle a few of these as well.

4 battle system tutorials are overmuch and technically are not all that great either. I keep saying this, but the problem with battle systems is that there is no one way of doing them. However, it's not bad to show various design patterns with relation to battle systems. I'll try to update mine and make it clearer and heck, try to finish it since it's still incomplete.
Title: Re: The Wiki
Post by: Flying Jester on March 02, 2014, 07:56:27 pm
Asking how to make a battle system is like asking how to make a game.

I think that a variety of battle system tutorials is useful, but the ones we have don't have huge variety.
Title: Re: The Wiki
Post by: Radnen on March 02, 2014, 08:28:00 pm
I just made an advanced tutorial on how to use Factories in JS to build items and enemies for you. It's very neat concept. If you are an intermediate user, no sweat, if you can learn how to use it that's good too. If you are a beginner you'll be woefully lost! http://wiki.spheredev.org/Factory_Tutorial. I made it since this is a *very* good design pattern for people making hardcore RPG games.

I'll now try to tackle some other tutorials for beginners. :)
Title: Re: The Wiki
Post by: N E O on March 02, 2014, 09:43:01 pm
That Factory system looks like it'd work great with a code generation utility like a Blockly app. Good stuff!
Title: Re: The Wiki
Post by: Mooch on March 03, 2014, 03:45:33 pm

That's a very good list, Mooch and I'll try to get on making tutorials. But I was thinking of making more general tutorials, but I'll tackle a few of these as well.


The only reason I think splitting them up into smaller, more-specific tutorials is a good idea is because there'd be a lot of redundancy otherwise. Shooting bullets, for example -- that could be included in sidescrolling platformer, scrolling shooter and overhead game tutorials, and the code would pretty much be identical (unless the side-view ones include gravity, which could be part of the gravity tutorial).

Plus, more general tutorials (Platformer Tutorial, Shooter Tutorial, etc.) run the risk of becoming too flavored by their authors personal programming style and gameplay preferences. Hence all the RPG battle tutorials -- everyone's doing a lot of the same stuff (how to set up stats, how to do healing items, etc.) just in different ways. And I'm not sure any of the battle system tutorials would actually be helpful to any newbies. I mean, if you follow them, you could presumably produce exactly what the author did, but you'd likely still have no idea how to do other stuff on your own.

4 battle system tutorials are overmuch and technically are not all that great either. I keep saying this, but the problem with battle systems is that there is no one way of doing them. However, it's not bad to show various design patterns with relation to battle systems. I'll try to update mine and make it clearer and heck, try to finish it since it's still incomplete.


I think battle system tutorials are unnecessary if there are tutorials that teach core concepts well enough. I mean, what is a battle system, really?

Exiting the map engine and doing a custom graphics-blitting loop
Menus
Animation
Character stats
Returning to the map engine and applying the consequences of battle (loot, death, Exp, ...)

And each of those is totally worth their own theoretical, in-depth tutorial.


I just made an advanced tutorial on how to use Factories in JS to build items and enemies for you. It's very neat concept. If you are an intermediate user, no sweat, if you can learn how to use it that's good too. If you are a beginner you'll be woefully lost! http://wiki.spheredev.org/Factory_Tutorial. I made it since this is a *very* good design pattern for people making hardcore RPG games.

I'll now try to tackle some other tutorials for beginners. :)


Heh, that's exactly what I was talking about ^_^


That Factory system looks like it'd work great with a code generation utility like a Blockly app. Good stuff!


Ooh, never heard of Blockly before. Looks neat.
Title: Re: The Wiki
Post by: Radnen on March 04, 2014, 12:55:34 am
Tile movement: http://wiki.spheredev.org/Tile_Movement

Edit:
Handling update and render scripts: http://wiki.spheredev.org/Handling_Multiple_Update_or_Render_Scripts

Mooch: It seems you want guidance on creating a platformer game in Sphere. :P I can't tackle all those tutorials on the subject since it's similar in scope to creating a battle system. Sometimes some systems are so complex you just gotta do it yourself with a bit of creativity. Now what I can do is make a foundation for how one would start doing that in Sphere. Then maybe a few things will begin to click.

Edit:
I just made the smallest tile movement system ever, it's actually from the tutorial above but minified in my own way.
Code: (javascript) [Select]

function TileSystem(input, sound) {
this.input = input; this.sound = sound;
BindKey(KEY_UP  , '', ''); BindKey(KEY_DOWN , '', '');
BindKey(KEY_LEFT, '', ''); BindKey(KEY_RIGHT, '', ''); }
TileSystem.prototype.update = function() {
if (!this.input || !IsCommandQueueEmpty(this.input)) return;
this.check(KEY_LEFT , COMMAND_MOVE_WEST , COMMAND_FACE_WEST , -1, 0, 16);
this.check(KEY_RIGHT, COMMAND_MOVE_EAST , COMMAND_FACE_EAST ,  1, 0, 16);
this.check(KEY_UP   , COMMAND_MOVE_NORTH, COMMAND_FACE_NORTH, 0, -1, 16);
this.check(KEY_DOWN , COMMAND_MOVE_SOUTH, COMMAND_FACE_SOUTH, 0,  1, 16); }
TileSystem.prototype.check = function(key, cmd, face, dx, dy, d) {
if (!IsKeyPressed(key)) return;
var x = GetPersonX(this.input) + dx*d, y = GetPersonY(this.input) + dy*d;
if (IsPersonObstructed(this.input, x, y)) { if (this.sound) this.sound.play(); cmd = COMMAND_ANIMATE; }
QueuePersonCommand(this.input, face, true);
for (; d; d--) QueuePersonCommand(this.input, cmd, false); }
Title: Re: The Wiki
Post by: N E O on March 04, 2014, 06:20:59 pm

I think battle system tutorials are unnecessary if there are tutorials that teach core concepts well enough. I mean, what is a battle system, really?

Exiting the map engine and doing a custom graphics-blitting loop
Menus
Animation
Character stats
Returning to the map engine and applying the consequences of battle (loot, death, Exp, ...)


Interestingly enough, my particular battle system tutorial (http://wiki.spheredev.org/Battle_System_Tutorial_by_NeoLogiX) is strictly about the skeleton...


And each of those is totally worth their own theoretical, in-depth tutorial.


...and my original intention was to eventually create in-depth theory-based tutorials about the bones. Same plan with my menu tutorial (http://wiki.spheredev.org/Menu_Tutorial_by_NeoLogiX), which in hindsight meshes really well with the original plan.

The page Battle System Tutorial (http://wiki.spheredev.org/Battle_System_Tutorial) is a disambiguation page that links to any other battle system tutorials on the wiki. After the site reboot, I personally restored three (http://wiki.spheredev.org/Battle_System_Tutorial_by_Flik) such (http://wiki.spheredev.org/Battle_System_Tutorial_by_Radnen) tutorials (http://wiki.spheredev.org/Battle_System_Tutorial_by_NeoLogiX); if one actually took the time to read them AND pay attention to who wrote them, you'll see why instead of picking and choosing one specific BS tutorial as the be-all-end-all of BS tutorials for the wiki I restored these three. There were at least two others, both incomplete, and if those users want them restored we can have them restored, and yes Vakinox started one that is not yet complete nor properly categorized; I was waiting until he finished it so I can go in and clean up formatting and such. Sometimes there needs to be tutorials that actually have practical code such as his, and sometimes there need to be tutorials about the theory such as mine.

As previously mentioned, every user (theoretically) has their own style. The main problem, however, with such micro-oriented tutorials as a heart/health/life meter is that because they're often practical and (usually) contain theoretically working code people (especially new users) often take it as gospel, the be-all-end-all of life meters and whatnot, and as a result don't often see motivation to grow, expand their knowledge, learn how to independently solve a problem like integrating that specific life meter into their specific menu display or battle system or inventory/magic system, etc. Bruce/Lord English has done a great job so far with his Spectacles engine, which itself abstracts most of the hard parts of most of the common uses for Sphere, and a good majority of that was independent learning.

I would love for there to be a healthy mix of theoretical and practical tutorials for Sphere on the wiki. One of the two main reasons I haven't restored more myself is because some are quite outdated and/or user-specific (the other reason is my lack of consistent internet connection). While I do agree that multiple tutorials that basically parrot each other with only slight differences likely do more annoyance than good, things like this are the reason I originally had former Spherical owner rjt install on the old site a wiki that allows for categorization and templates (especially ones for setting off disambiguations).
Title: Re: The Wiki
Post by: Fat Cerberus on March 05, 2014, 12:36:54 am

Bruce/Lord English has done a great job so far with his Spectacles engine, which itself abstracts most of the hard parts of most of the common uses for Sphere, and a good majority of that was independent learning.


I take it that means you've looked at the Specs source, then? ;D

But yeah, I tried to make the engine itself as generic as possible, since the Spectacles Saga is ultimately going to be 3 games (hence the very flexible gamedef system), but you can only do so much to generalize things.  A battle system does, at the end of the day, have to be purpose-built for the game(s) it's featured in.  What I don't think people realize when they ask "How do I make a battle engine?" is that, for an RPG, the battle system IS the game.  Not merely a part of it.  All your party management menus, item menus, everything--they all revolve around what happens after the battle theme starts up.  Take the battle system away, and what you're left with is, at best, a collection of puzzles, or perhaps even a different medium entirely--film (with some pointless interactivity tacked on).

While there's certainly no shame in asking "How do I make a game?" (quite the contrary!), asking such a question means you have quite a long way to go.  Asking instead how to make a battle engine may seem like a much shorter order, but in reality, the two questions are one and the same.
Title: Re: The Wiki
Post by: Flying Jester on March 05, 2014, 06:02:37 am

• Disabling 8-Way Movement Tutorial
(ala the original Legend of Zelda where you can only move in one direction at a time)

• Running Tutorial
(shows you how to add a run button to side-view or top-view games, and different kinds of running -- hold to run infinitely, press to get a short boost ala Secret of Mana, a boost meter ala Star Fox)

• Heart Meter Tutorial
(shows how to make a simple three-heart meter, along with how to make objects/events remove those hearts, how to make the game kick out to a game over screen when you lose all your hearts, items to increase your maximum hearts, items to refill your hearts, etc.)


These sound fairly fun to make. I may just go ahead and try my hand at making some of them. The first is something I do just about every time I start making a game in Sphere, and the last is something I've done with and without the map engine many times.
Title: Re: The Wiki
Post by: N E O on March 05, 2014, 02:55:22 pm
I've been working on a "waypoint map" tutorial and I'll do a map change tutorial as well since I can also talk about transitions, having created a transitions library myself (NTrans) :D
Title: Re: The Wiki
Post by: Rahkiin on March 06, 2014, 10:18:31 am
Not as a tutorial, but for making the wiki more complete, I might work on http://wiki.spheredev.org/Developing_a_Sphere-compatible_engine while I am working on my runtime.

I could also add a theoretical tutorial on my obstruction and animation system and on my portal system, to give the more advanced devvers some ideas for their games.

// Rahkiin
Title: Re: The Wiki
Post by: Rahkiin on March 06, 2014, 05:49:17 pm
Why isn't this topic in 'Site Comments' anyways?
Title: Re: The Wiki
Post by: Radnen on March 06, 2014, 05:54:41 pm
Rahkiin, you're right. It does seem to fit better there.

/moved.
Title: Re: The Wiki
Post by: N E O on March 08, 2014, 01:39:47 am
Map changing tutorial now exists! (http://wiki.spheredev.org/Map_Changing_Tutorial_by_NeoLogiX) It may need a second set of eyes to confirm that it's typo-free, though, especially near the code blocks.

The actual code itself, though, should be fine since I wrote it first in a Sphere project and made sure it worked before copying and pasting. I'm actually going to use that code style for a new version of NTrans, so theoretically it should be WAY easier to update and extend than the original AND should be a bit more future-proof.

The "waypoint map" tutorial will be theory-based, though, so for now I'm still working on the outline.

@Rahkiin - The Developing tutorial, once complete, is meant to be the definitive reference to future compatible engine development; because of that importance I imposed a soft editing restriction on it. Nothing against you personally or your skill, but since you are relatively new to me in the Sphere community at the moment I'd like to see you draft your work on the wiki sandbox (http://wiki.spheredev.org/Sandbox) first and either myself or another wiki sysop will merge the content (reformatted as needed) into the main article. After a couple of drafts I'm pretty sure I'd give you permission to edit the article directly.
Title: Re: The Wiki
Post by: Radnen on March 08, 2014, 03:20:29 am
N E O: I'm having a hard time following your code in general. It just doesn't read so clean to me. It might be your explanations.

Also, I'd like to show you a cool trick to make this line more stable and read better: http://www.grauw.nl/blog/entry/510
Code: (javascript) [Select]

fade.prototype.init = function(data) {
this.color = 'color' in data?data['color']:CreateColor(255,255,255,255);
};

// becomes:
fade.prototype.init = function(data) {
// if data and data.color exist, use data.color; else use new color
this.color = (data && data.color) || CreateColor(255, 255, 255);
};


Your easing description is kind of bland, and it doesn't help to show that your linear ease really does nothing. Part of Penner's easing functions is so that they do the work for you.

Code: (javascript) [Select]

// bad:
function linear(a) { return a * 1.0; }
var blah = linear(a-lot-of-math-here-which-does-nothing);

// good:
function linear(a, b, t) { return a + b * t; }
var blah = linear(start, end - start, time/total);


Edit: thanks to Jest below I've added parenthesis to clarify the new trick above.
Title: Re: The Wiki
Post by: Flying Jester on March 08, 2014, 04:19:44 am

Code: (javascript) [Select]

fade.prototype.init = function(data) {
this.color = 'color' in data?data['color']:CreateColor(255,255,255,255);
};

// becomes:
fade.prototype.init = function(data) {
// if data and data.color exist, use data.color; else use new color
this.color = data && data.color || CreateColor(255, 255, 255);
};



If this is going to be a tutorial, more parenthesis would be nice. I still don't always remember the associativity of all operands off the top of my head.
Title: Re: The Wiki
Post by: Rahkiin on March 08, 2014, 08:28:20 am

@Rahkiin - The Developing tutorial, once complete, is meant to be the definitive reference to future compatible engine development; because of that importance I imposed a soft editing restriction on it. Nothing against you personally or your skill, but since you are relatively new to me in the Sphere community at the moment I'd like to see you draft your work on the wiki sandbox (http://wiki.spheredev.org/Sandbox) first and either myself or another wiki sysop will merge the content (reformatted as needed) into the main article. After a couple of drafts I'm pretty sure I'd give you permission to edit the article directly.


Allright. I actually only wanted to add tables for the file structure :)
Title: Re: The Wiki
Post by: N E O on March 08, 2014, 01:05:17 pm
@Radnen:

Re fade.init - I purposefully didn't add much checking (if any) to the tutorial's code for simplicity; my actual personal version has almost every check I can think of, including the basic version of the || trick. I could've also modified the alpha value of the modified fade() function during the declaration of the c variable instead of modifying its alpha after, but again people aren't going to know to do that immediately, and the tutorial's fade code doesn't type-check fade.color so theoretically any object that has red, green, blue, and alpha properties would work. Your || recommendation is probably better JS practice anyways, so I'll use it, but I also chose to show the 4 parameter CreateColor because I want readers to notice that the alpha value of the tint is being set.

Re easing - I want to put a better description, but I was pressed for time; a later edit will expand it. Regarding the long version of easing function prototypes, for simplicity I simply pass the t value (0.0 to 1.0, inclusive) since the effect function only passes a t value to whatever easing function it's given. If it won't add needless complexity to the tutorial a later edit will add a section explaining using proper easing functions.

Re explanations - This is exactly why I want at least two pairs of eyes on every tutorial, so that we can make sure they're as readable as possible. If there are any suggestions, like reorder the pieces or be more/less detailed in X section or reword a thing I'm all ears!


@Rahkiin - That is a good idea, as the file format docs that come with Sphere may be a bit outdated (especially the map and spriteset ones). If they're not documented on the forums for some reason, ask Radnen and Flying Jester for their findings on parsing Sphere formats (especially version inconsistencies) since they've worked with them more recently than I have. Lord English may also have a couple of notes after making some edits to Radnen's Sphere Studio. alpha123's worked with the most recent version of vanilla Sphere, but that may have been quite some time ago. The Web Sphere Utilities repo (https://github.com/sphere-group/web-sphere-utilities) has my code for parsing the formats but it's all in web-compatible JavaScript. Pick your poison ;)
Title: Re: The Wiki
Post by: DaVince on March 08, 2014, 02:11:07 pm
NEO: regarding your map changing tutorial, it might be an idea to address setting the position of your character, as that is something that someone might want to do and it's not 100% straightforward.
Title: Re: The Wiki
Post by: N E O on March 10, 2014, 05:22:35 pm
I left out setting character position in the first draft since there's kind of an implicit assumption that the maps one will use are far enough along that they have the starting point already defined. It is needed, however, if/when a map has multiple entrances/exits so I'll cover that in an "extra advanced techniques" section.

I'm going to work on the explanations right now and hopefully come up with something easier to understand.
Title: Re: The Wiki
Post by: N E O on March 10, 2014, 07:01:05 pm
Update to Map Change tutorial! Let me know if it's more readable now and what should be changed if needed.