corporations gamemode preliminary outline

this is an informal outline of what i plan to do with the new gamemode i’m making, what i’m going to focus on first, and some basic milestones for the development direction.

purpose

the goal of this gamemode is to provide a completely flexible framework that will form the base of several independent, distinct sub-gamemodes. the framework will comprise of 3 main parts: a mysql database with nearly all gamemode-specific data stored in various tables, xml files containing various information or rulesets for use in sub-gamemode features, and finally the actual codebase which will dictate allocation of resources to each user. the main feature of this gamemode will be the ability to change minor or major details of sub-gamemodes and user accounts on-the-fly, without the need to recompile the framework.

primary task

the main task that must be completed first is the internal user system for the master gamemode. the creation of a user account, verification of user identity, and ability to recognize the user session-to-session, will form the basis for all later additions to the code. this will involve the creation and querying of a mysql user table, which must be created in advance, and the corresponding pawn code to interpret that and apply it to the user. i am also struggling to determine a good method for permanently identifying the user, since going by name or ip simply will not work. i should mention at this point that a future feature includes completely independent user ids in relation to player names; a player will be able to have multiple names (and possibly multiple characters, in the roleplay sub-gamemode) while maintaining one master account. so far my only idea is to use a count of accounts created to date, and increment it with each new user, but i don’t like it (even though it’s almost certainly the one i’ll end up adopting).

secondary task

the framework of the master user system will produce a player with an identifiable, secure account. from this, i intend to present the player with a basic choice of what they want to play. the main idea i’ve had towards this is to place the player in a lobby of sorts, where the sub-gamemodes are presented visually in the forms of portals that the player will enter to start playing that sub-gamemode. i like this idea because it not only keeps all new players in a controlled environment, but it allows for a bit of creativity in the design of the portals themselves; they can be overly elaborate displays with many objects, or simple checkpoints, or anything inbetween. the goal of this task is to create the codebase for that lobby, and in turn to implement in the user system a method to assign players to sub-gamemodes to the master gamemode. i intend on adapting a system similar to the one i used in my freeroam gamemode for assigning players to individual minigames while maintaining their status internally in the master freeroam gamemode.

tertiary task(s)

following the completion of the user system and lobby, the basis for the various sub-gamemodes can be started. i originally planned on 3 main sub-gamemodes; a roleplay mode, incorporating the inherent gameplay structure we developed for szr, a freeroam gamemode, based on my own sandbox mode and minigames, including a mta-style race system, and finally a deathmatch gamemode, loosely based on sftdm. now, however, i’m not sure if i want to keep this configuration or not. the roleplay gamemode might be combined with the sftdm ideas to form an entirely new gameplay style, and freeroam might undergo some radical changes as well. the advantage, of course, is that the master gamemode is independent of any configuration of sub-gamemodes, and as such development on it can continue indefinitely, regardless of whether or not the gameplay details of the sub-gamemodes are changed down the line.

final thoughts

i’ve wanted to start a new gamemode from scratch for some time now, and now that i actually have time to work on it (in theory), i’m frankly excited to see what i can pull off. i know a couple of people have expressed some interest in helping out, and to be honest i’m to use you guys to the fullest; bruno for databases, colorfinger for sql queries, salmon for coding/feature addition, ari/kotg for site integration, i’ve got plans that include all of you. let’s face it, we’ve got some good talent accrued, and we have the right community to work with, so let’s make something great.

this gamemode, if made modular and flexible enough, could easily be converted to mta (if not directly, then at the least the principle ideas, and possibly the mysql database and/or xml files). while mta has a lot going for it over samp, it just doesn’t have the population, and won’t for some time, regardless of how good it is. for that reason alone, i’m going to continue coding for samp servers, because after all, it’s no fun to make a gamemode that no-one plays.

Leave a comment