Altitude Game: Forums  

Go Back   Altitude Game: Forums > Altitude Support > Suggestions
FAQ Community Calendar

Suggestions Post ideas and suggestions here.

Reply
 
Thread Tools Display Modes
  #1  
Old 01-13-2011, 11:26 PM
qan qan is offline
Junior Member
 
Join Date: Jan 2011
Posts: 1
Default Plugin support - would save coding team countless hours!

NOTE: If there are forum readers who have any relationship with the game's dev team, could you kindly point them this way?

Altitude has an incredible amount of potential. But a lot of it is not accessible -- there's a strong need for some sort of plugin support for this game. (As far as I've been able to tell, such a thing has not yet been implemented.) Undoubtedly there are many coders who are interested in this game (particularly as it's more based on good game dynamics than bust-your-heart-open, seizure-inducing graphics). Many of the features that are suggested in this subforum could and would easily be written into plugins by experienced and even semi-experienced coders -- without violating the integrity of the game's code or the server code. A plugin system allows fast, high-level coding to write new game modes and create an incredible amount of rich content by players who simply want to see a good game thrive. Take a look at any highly-successful, long-running game that focuses heavily on online play: the ability to code plugins has allowed games to survive where otherwise players would move on to a new game. But players don't WANT to move on to a new game. They want a fresh experience in an environment where they're already experienced. Plugins raise the level of play, helps player retention, and of course, as you keep players you will find they have a tendency to recommend the game to friends. It's profitable for you and it's the absolute easiest way to generate new content (it doesn't fall to just one or two people anymore!) -- a no-brainer!

It looks like the game is written in Java. That makes it easy enough. You'd only need to create, as far as I can see, a small set of classes (with some modification to your already-written classes, which would remain hidden to the plugin writer).

I did quite a lot of work on Continuum bot coding -- one of the oldest and most successful online games, still running with hundreds of players, and similar in play style somewhat to Altitude. (Spaceships rather than planes, and top-down instead of profile view; also free.) The reason we survived was because of the immense amount of customization the game allowed. On Trench Wars we had a pretty robust plugin system; on that system, I'm basing this humble mockup/suggestion of how you might implement a similar one in Altitude.
  • Plugin manager class (internal): A class that would allow the loading and unloading of classes that implement the plugin interface (below). Events would be passed by the game to this plugin manager, and the plugin manager would then distribute the events to every active plugin.
  • Plugin interface class: A plugin interface that each plugin would be required to implement. All it would need is methods to handle when various events occur, such as round start, player death, player sending a chat message, and so on.
  • Event classes: You probably already have these written. A class for each event, created as the event occurs, with getter methods for relevant information. For example, the player death event would allow the plugin to access information about who was killed, by whom, with what weapon, last location, and so on. As stated earlier, would be passed to the plugin manager, and then to the plugin class.
  • Action class (internal): A class that is passed to each plugin on instantiation, and held by that plugin, which can then be used to perform certain high-level actions. This could include causing a player to enter spectator mode (as in elimination games), sending messages to a specific team, changing the map, getting information on a specific player (possibly through use of a Player class, which might already exist), killing players, teleporting, giving health/invulnerability/powerups on the fly, and so on. The implementation of the actions would remain private, but javadocs of all the methods would of course be available to plugin coders.

What do you think? Once you have this functionality implemented, suddenly you will open the door for a massive surge in community activity. Sooner or later, you WILL have to implement it, as I'm sure you know; really, the sooner you do it, the stronger your community and level of player retention will be. I for one would be very interested in creating plugins for the game, and have the knowledge of what worked in Continuum. Games like hunt -- where you're given one player to hunt and kill, all others not adding to your score -- and zombies -- where players are challenged to survive a time limit while one starting player, the zombie, converts every killed player into a zombie ... well, they'd add a lot of fun and variety. I have about 15 other modes, many of which I've personally implemented in Continuum, that I'd also like to add to the game's repertoire. Throw in an improved voting module and you wouldn't have to worry about whether players would be interested in a server that is solely dedicated to this kind of play. Simply, if they're interested, they'll play it.

If you would like, I would be happy to contribute some code that would quite easily be reused. The plugin manager element in particular would be an easy adaptation, with the internal workings -- ensuring plugins are loaded/unloaded properly, garbage-collected, etc. -- being roughly the same regardless of whether you're implementing in a video game or a graphics editing suite.

It's the future of any online game: get plugins while you have a strong community! It won't last forever!

Thanks for developing a game that is truly fun to play.
Reply With Quote
  #2  
Old 01-14-2011, 01:22 AM
tgleaf tgleaf is offline
Super Moderator
 
Join Date: Oct 2009
Location: being a video game clan CEO is not that prestigious
Posts: 2,737
Default

The developers read and take into consideration all suggestions posted in this thread.
__________________
"Beagle, your words move and inspire me -" and of course they do, you silly little muppet, that is the intent
Reply With Quote
  #3  
Old 01-14-2011, 03:44 PM
Boko Boko is offline
Banned
 
Join Date: Feb 2010
Location: Cocation
Posts: 1,392
Default

The simpsons, ehhh, mikesol already said this.

And "Continuum bot coding -- one of the oldest and most successful online games, still running with hundreds of players"

does anybody here know this?

I'm jk mate, a good idea but I dunno if the devs got the time/motivation for it.
I'd definitely use this for making a more robust co-operative mode for the community, but I think it'll be a bit harder than just adding a few classes.

+ You've got quite the business talk, not impressed tho.

Last edited by Boko; 01-14-2011 at 03:47 PM.
Reply With Quote
  #4  
Old 01-14-2011, 05:35 PM
cipso cipso is offline
Senior Member
 
Join Date: Feb 2010
Location: Trashcan
Posts: 129
Default

Plugins sound like cool idea, however there are many associated problems with them.

Support for plugins is never as simple as exposing few classes here and there. Quite the opposite. It would be just beginning of another neverending stream of change/feature/bugfix requests. This means a lot of burden on alti developers. Suddenly they would be in API maintainance business. Not a decision to make without thinking hard first.

Today, everybody plays the same game. With plugins, everybody would have different set of plugins installed. This means incompatibilities and higher support costs.

Plugins would possibly open various holes in the game, allowing people to implement various hacks, aimbots, cheats, etc.

If you mean plugins on server-side, then you are probably aware that alti server already generates those events you are looking for and you can control server externally too. One interesting application built on this support is Altitude Ladder.

Btw, what would be your first plugin you will write? If there is something in particular you're missing, maybe alti developers would be interested in hearing about it.
Reply With Quote
  #5  
Old 01-14-2011, 06:52 PM
mikesol mikesol is offline
Super Moderator
 
Join Date: Jul 2009
Location: Portland, OR
Posts: 2,183
Default

Qan -

I've actually brought this up with the developers previously and the response has generally been that they don't intend to do much more with this game other than small tweaks here and there (such as potentially adding the ability for us to make a queue system).

I *think* this is because they are perhaps working on a new project that might incorporate something like this (like a new game).

Regardless - I'd love to see something like this implemented and it's really cool that you've done all of that for other online games.

Thanks for stopping by and for the good, well thought out suggestion



Edit: One of the reasons I've heard for why this wouldn't be done is because it would further divide the user base which is actually quite small. What are your thoughts on that? Coming from an experienced community - did you notice any divide or any issues with plugins?
__________________
We can has sigs?
Reply With Quote
  #6  
Old 01-15-2011, 03:13 AM
Tekn0 Tekn0 is offline
Senior Member
 
Join Date: Dec 2010
Posts: 1,548
Default

In a way I don't mind seeing this game not go through too many changes and get ruined. Look what they did to TF2 with all those hats and gimmicks and what not.

2c.
Reply With Quote
  #7  
Old 01-15-2011, 05:16 AM
JDR JDR is offline
Senior Member
 
Join Date: Dec 2009
Location: Blocking TE
Posts: 208
Send a message via AIM to JDR Send a message via Yahoo to JDR
Default

Quote:
Originally Posted by Boko View Post
And "Continuum bot coding -- one of the oldest and most successful online games, still running with hundreds of players"

does anybody here know this?
I can confirm this, I used to play Continuum. It's formerly known as Subspace, which was alive and kicking at least as far back as 1996 or something? It's extremely similar to altitude. Different zones (altitude lingo: servers) are hosted and they feature different types of 2-d overhead spaceship gameplay, only beyond anything anyone on altitude has dreamed up in terms of unique gameplay modes available.

This is something that should be strongly considered... I don't understand most of the tech lingo in qan's post but if we could play ZOMBIES or GOLDEN GUN on Altitude-- awesomeness.

and I remember qan from Trench Wars (zone in Continuum), though I think he really mostly worked behind the scenes, i got the impression that he was one of the bigger contributors of the staff members who coded bots, overall.

Last edited by JDR; 01-15-2011 at 05:21 AM.
Reply With Quote
  #8  
Old 01-16-2011, 11:51 PM
Boko Boko is offline
Banned
 
Join Date: Feb 2010
Location: Cocation
Posts: 1,392
Default

You need a Tl;DR

It's funny that you took all the effort & time to write that big wall of text and nothing is gonna happen with it

Reply With Quote
  #9  
Old 01-17-2011, 05:07 AM
lamster lamster is offline
Administrator
 
Join Date: May 2008
Posts: 1,655
Default

Thanks for the carefully considered (and experience based) suggestion. Unfortunately we are not planning to add plugin support to Altitude at this time. Our primary concern is play base fragmentation -- while Altitude has a great community, it's already tricky to find a game running some of the less common game types. While mods provide great variety and continued engagement for veterans (and I agree this is very important), mods can create barriers to entry for new players. I've experienced this unfortunate side effect firsthand with many multiplayer games: I'll download a game (or return to an old favorite) and try a random server only to find that I need to download a bunch of data files and learn a completely new game type with highly specific custom rules that are poorly tuned for new players. As these games' community of veterans evolves towards specific mods designed just for them, there are eventually no populated games geared towards new players. New players try the game, find nothing accessible to them, and quit in frustration, leading to community stagnation. While there are certainly counterexamples that demonstrate the potential upside of full plugin support (for example, Subspace -- though I'll admit I was actually scared away by mods the first time I tried it) our population numbers aren't high enough to experiment with ideas that carry high fragmentation potential. We'd prefer to keep veterans engaged by focusing on perfecting the core modes and making them as enjoyable and replayable as possible.

As others have pointed out, there are limited scripting capabilities exposed through detailed, parseable server logs and custom commands. I know this isn't what you were hoping for, but our players have done some incredible things with those tools (for example, the Altitude Ladder which has reinvigorated and maintained interest among highly competitive players).

Thanks again for the well considered suggestion.

Last edited by lamster; 01-17-2011 at 05:10 AM.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 06:22 AM.


Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
2008 Nimbly Games LLC