+ Keep the player from chatting under the expanded character limit of post body writing, or rather, simply clip any chatted text to fit the chat text length limit. + Make a namecheck right after the player presses the connect option to keep from Settings.bno editted names. + Ctrl+Backspace instead of Ctrl+D for whole line delete. + Command to view all Ctrl+ shortcuts. + Command to view message board and in-game/chat controls. + Fix digital abyss message appearing after you go to OCS and then elsewhere. + Commands to enable/disable alpha settings and board draw settings in-game. + Make tile bottoms be created regardless of hidden tiles below. + Running toggles instead of needing to be held. Change button to Insert or a ctrl+ shortcut. (Ctrl+R) + Fix random teleport animation slow-downs. + Summoning & Joining + NEEEEEED player updates when changing rooms, and need to make all-players-in-room update loading work! + NNNNNNNNNNNEEEEEEDDDDD to not depend on client-side info and update the player you're going to join BEFORE you join them! + No name drawing while JoinIn or JoinOut sprites. + Stop player when change to JoinOut sprite. + Can't summon or join people who are in their OCS. + An animation that doubles as a summon/join and as a went-out-of-boundaries transition. + Hexporters, hexcepters (receive only), and hexporting (the new form of sliding transportation) + Hexporter transition animation: The player divides into six squares of energy that then shrink and each go to a corner of the player's shadow, which transforms to a hex shape that is either black with a white outline or just white. If white, than make it not quite perfect white (like the white tiles) so that the energy squares in each corner stick out. Perhaps have all six linked by wires-ish, too. + Add a message board that lets the Master decide what message board it will actually view. Upon accessing, pops up a menu with the total list of MBID's (like Ctrl+P does with PID's) and you give it one to change to. + Add change running speed as a default server script-send option. + Hidden moving plats + Send a message to the server (and the server keeps this all in a file) whenever a new area is visited. This way, all area-command-goto-ability is kept server-side and is unalterable by players. + A new area that is partially exposed throughout gameplay. Every or almost every area will have a link to one section of this area, and that one small section will be cut off from the rest of the area. In most to all cases, the area's small sections will be used to hold key items such as the item that lets you use Hexporters. Perhaps there would be a connection between the small sections and the main body of the area, but those connections should be either hard to find or use some currently very very unforseen form of transportation. Area name ideas: "Emptiness' Hull", + NPC's + Store server IP in the settings file, and put an option to automatically get the server IP under the settings menu. + Add line color recording back in, and color code separately PM's, NPC messages, normal chat (probably just keep white), and server/game messages. + PMing + Fix NPC's stopping hexporting navis. + A zone literally called "The Digital Abyss" that, randomly but low-chance, a user will go to after "falling." This place will have no chat so that one cannot simply return to their ocs or join someone else from it. They must find their way to the center of the area, which has a teleport to BNCentral. This teleport will lead to the bottom left quadrant of the Central Square, and there will be no way to get to that teleport from outside it. Maybe even house it on moving tiles so that a user is whisked off of it as soon as they enter BNCentral from there? This place will use different floor tiles, maybe like the red and black ones that jonnamade, or some strange digital-ish tiles. There will be no way to fall off of this place, as there is no more digital abyss to fall into; this IS the Digital Abyss. Therefore, it might all be mover tiles, normal tiles, and walls. Put a central checkpoint thing just in case someone does find a way to fall off, though. + No one can be summoned, joined, or whispered to while they are in this zone, and those who attempt to do so will be alerted of the other's status. - Even if someone quits the game while in this zone, they will return to it from the beginning. + Maybe even noone's name will show above their head here. - Falling into the abyss has a different sprite or animation; perhaps the player literally falls all the way off the bottom of the current stage or falls and shrinks until they aren't visible? (and maybe fades red on the way?) + Whenever PM's go in, put in local-only chat, and also add to the ctrl+w function to take out whatever change you make to PM chat (if you do make symbol change - you might try putting line-color memorization and using that instead.) + Ctrl+G goes to the first website URL in the clipboard (or maybe just the first one on the current line? Longer URLs will make this impossible though.) + Change loading image + See if someone won't make a SwArT game icon for BNO + A TCP connect mode where everything is received by TCP. Do this by, in the client, have an option to turn this off and on in settings. If it's on, connect to the server on port 701 instead of 700 (the counting stuff starts at 710). Add checks in the server for connections on port 701, and all successful logins on this port are initialize with tcpinit_user() which simply makes their global.p_udpport = their global.tcpport. This way, the server always sends them messages with TCP but you won't have to change any of the rest of the server's code. Or perhaps just report whether or not TCP connection with the player name message, and the server can just set the udpport to the same as the tcpport. + Whenever data types are implemented, link data that lets you teleport to areas you have links to, as well as link dispensers for each area that is link-able to. (All areas' main squares' telepoints will distribute link data as well). + Area name display in some corner of the screen, or a command to return it. Just have this in the inventory when that is working. + Homepage feature (will most likely just use the link data, and Set Homepage will be an option on the inventory screen.) = Major communications code clean-up in both server and client. Find more efficient ways to do everything you have problems with. + Make board updates update all board names, total boards, and total topics upon user log on, but then all topics of a single specific board from then on. Maybe make the game wait until it gets an update to enter the board, and if it doesn't get one within 5-10 frames, it sends another request. - Message board variable redo: global.mb_total is not an array and only contains total boards. There is no more global.mb_topic[2]. global.mb_board is now a 2d array; [ID,0] is the board mod and name, [ID,1] is the beginning index of this board's topics, and [ID,2] is the total number of topics on the board. This will lead to a much cleaner and easier way of reading and writing the board file, as well as sending board-specific info. = Send player direction and speed (at the same time because direction doesn't matter without speed) each time speed != lastspeed || direction != lastdirection to server > all clients so that other players' movements appear more smooth and less laggy. This will also help to make a TCP connection more bearable and seem more smooth. = User Accounts = Server-side user data storage (start with memory of the areas they've visited before so that they can get to them via the OCS). Give master's .gmd its own folder. Text file for each player; simply named by their rid (registration id). = A simple inventory of sorts, where the items are on the right, and the options are on the left. Choose an item with arrow keys and then pressing end, then choose an action with up/down arrow keys and end. Use a column, row system for items instead of a numbered slots system to make cursor movement easier. Normal items (one tab) and different data types (a tab for each type) are under seperate categories of item-viewage. - An item or interactive object that alerts users when someone has fallen into the Digital Abyss, and gives them the opportunity to go there so that they may guide the user out. Perhaps this can be some kind of rank or badge earned somehow, like "abyss guardian" or something - Message data - Also to go with data types, include some sort of teleport data similar to PSO's portals. It creates a portal wherever you are; that portal leads to the area's main square. You (but only you, and whoever else is within its teleport area so that a group can go at once, or if that's too hard, then ignore it and they can use summoning and joining) can take it to the square and back using the End key, but taking it back always makes the portal vanish. - Make getting "Saved from the digital abyss" send the player to the last non-moving and non-mover floor tile they were touching, but only have a tolerance of three times before it sends you to the area's central square. Maybe make this an actual displayed quantity of tries at the top of the screen, and perhaps data to add more tries to it. EDIT: Make this not work until one gets a powerup data called Rasputin's Assett after data types and inventory are implemented. - With battle systems will come an ever-present hit points display. - Once the above is in, change it so that there is no longer a probability of going into the digital abyss, but you go there if your navi falls and loses all health. If they just fall, they do what they do now when they are "saved." - Each fall will cost something like 10 HP, thus giving players more incentive to battle/find items to increase their HP. - Death in-battle will simply result in being sent to the digital abyss. - Viruses in the DA will be tailored to the player's fighting experience, and battles against them will work differently (since you are a deleted navi trying to be restored, your HP is essentially 0, so some other survival system will exist) - If the player fails in a DA battle, their navi will either be "permanently deleted," or they will simply have to restart the game with all the things they had the last time they logged out, losing any progress they made during the session in which they went to the abyss. - There will be one or more area(s) in each zone (presumedly the main square, in most cases) where navis slowly regenerate health while they reside there. ("Regen Fields") Simply make this HP regen a variable that the change_area code sets, using the second argument. - An area with stained glass floor "tiles" that are actually more like towers. Yes, they are like smaller square versions of the towers in KH. The "bottoms" of them will fade into the black. Presumedly will use the Battle Network or BNO's modified version of the Battle Network logo in stained glass. - An area with "something" in the middle that gravitates people toward it no matter where they are in the stage, but the strength of its effect decreases the further away a player is. - A data package called Sight Aura that reveals all tiles within a 40-88 pixel radius of the server's shadow. Perhaps a more advanced one could exist with extended range or, that reveals tiles near other players as well. - Speed pickups (temporary increase and maybe decrease of speed on movers) - Temporary mover tile immunity pickups. - Byteways - Transition rooms before each new area where the player follows a three-lane track called a Byteway. The player must avoid running into obstacles on this high-speed journey, and can also see other players if there are others to be seen. They have slight, but not full, control over their speed, and can not stop completely. This is somewhat of an equivalent to Gummi ship courses before worlds in KH. - A series of object arrays: ob_x[oid] ob_y[oid] ob_room[oid] ob_type(or objectid)[oid] ob_info[oid]. The first three are obvious. The fourth is object type, i.e. 0 for link data, 1 for friend data, 2 for message data, etc. The fifth is a string that contains EVERYTHING specific about that object. For instance, for message data, it would be something like "x,#;y,#;message,str;" and maybe "pname,str;". I don't think there'd be any reason for friend or link data to by lying out in the open... But maybe. This all is, then, compiled and sent to clients in either one message, or like all x,y in one message, all rooms and types in another, and all strings in another. - Tiles that disappear shortly after anyone steps on them, and (probably) have a chain disappearance, like bullet blocks. They flash quickly before they disappear for about 1-3 seconds (maybe randomly between those numbers), and before they are stepped on, they occasionally but infrequently blink to indicate that they will disappear. They stay disappeared for about 10-15 seconds, also possibly random. - A rotating keyblade sprite (xD YEAH WTF? Just because you can.) The keyblade would go into the inventory, and would perhaps unlock (time itself) any doors with a classic-looking keyhole. - Battle system, eventually? And get AI in so that battling could potentially make it tougher to get to some areas... - With battle system, introduce using playerob and serverob variables in the operations object so that it would update object positions based on the object id in those variables, and therefore could adjust to battle and whatever else. These variables would default to server and player objects if they aren't defined by the room creation code, but otherwise ARE defined by the room creation code. ("< Scooby Snaks ("> Quantitative Data Sortational Smigs ("< TIGARS ("> Suttlety Chimps of Los-Logan ("< Cramped up gruemest fing-lobstucks