Events

Wyrmsun is an RTS / Grand Strategy game which features elements of mythology, history and fiction.
User avatar
Andrettin
Posts: 433
Joined: Sun Jun 30, 2013 9:58 pm
Location: Vienna, Austria
Contact:

Events

Post by Andrettin »

I implemented an event system for the next version of Wyrmsun, which should make single player games more interesting:
Image

The primary purpose of the events is to provide flavor. They happen under specific conditions, and this particular event gives a hero (with stats only somewhat better than those of a regular axefighter) to a dwarven player if he fulfills the events' conditions.

The events (at the moment) only occur in single-player scenarios, as I still need to fix a few issues to properly add them to multiplayer. If players wish to deactivate the events, there is an option for them to do that:

Image
User avatar
b_o
Posts: 328
Joined: Sun Jan 01, 2012 12:07 pm

Re: Events

Post by b_o »

Wow. Maybe you can use it to add optional quests to a map. I wonder if it will morph into a dialog system for RPG's. Is there a way to carry over event choices to the next map in a campaign? Or a way to make the result of an event or completed quest load an alternate map for the next level in a campaign for different story paths and alternate endings?
User avatar
Andrettin
Posts: 433
Joined: Sun Jun 30, 2013 9:58 pm
Location: Vienna, Austria
Contact:

Re: Events

Post by Andrettin »

b_o wrote:Wow. Maybe you can use it to add optional quests to a map. I wonder if it will morph into a dialog system for RPG's. Is there a way to carry over event choices to the next map in a campaign? Or a way to make the result of an event or completed quest load an alternate map for the next level in a campaign for different story paths and alternate endings?
Using the events to add optional quests sounds to me like a rather good idea, and it shouldn't be hard to do. Implementing a dialog system for RPGs would be a bit more complicated, and it probably would be better to have it as a different system from the event one. Carrying event choices, as well as results of an event/quest are all possible. In fact, it shouldn't be very hard to make persistent, levelable heroes, which could be selected when starting a new single-player game.

The levelable hero wouldn't be able to acquire new abilities or equipment, as for certain command buttons to be activated for only a particular unit we would need Stratagus 2.2.8, and the new buttons would be needed both for the abilities (naturally) and for the equipment (as the attack icon provides visual representation of the unit's weapon and so on for other equipment; the alternative would be having an inventory system, but that would be more complicated than simply allowing the player to change his equipped weapon, shield and boots with available ones on the ground). However, adding attributes for hero units that would affect their damage and armor is possible right now.
User avatar
Kyran
Posts: 499
Joined: Sat Dec 31, 2011 5:19 pm
Location: Australia
Contact:

Re: Events

Post by Kyran »

Andrettin wrote:Implementing a dialog system for RPGs would be a bit more complicated, and it probably would be better to have it as a different system from the event one. Carrying event choices, as well as results of an event/quest are all possible. In fact, it shouldn't be very hard to make persistent, levelable heroes, which could be selected when starting a new single-player game.
Well, guess what I'm working on? I'm currently implementing some changes to the engine to better support Online RPG styled games.

Road Map
  • Persistent Worlds
  • Persistent Characters (transferable between servers)
  • Persistent Inventory
  • Factions
  • Magic and Skills
  • Above Character Chat
  • Faction Missions
  • Direct Character Control
  • 128 Player Slots
  • NPCs
  • Advanced Diplomacy
  • Game Master Support
  • Faction Governance
  • Easting and Northing Coordinate System
  • Widgets
Persistent Worlds - Wouldn't you love to join multiplayer games in the middle of them? I have no idea how hard this would be, but I've added it to my list.

Persistent Characters - You create a hero offline and can play with it online. Individual scenarios may change the character though. You may only take one character to a server.

Persistent Inventory - Your inventory will be shared across all your characters, so it doesn't matter which character to take to the server. Individual scenarios may choose to ignore or redefine items you have.

Factions - For my main scenario, I'm planning on four factions: West City (technologically advanced, low quality, high quantity), New Model Army (technologically advanced, high quality, low quantity), Renegades (scavengers, medium quality, low quantity), Mayans (primitive, starts with most advanced technology, but cant build or maintain it).

Magic and Skills - The more experience your faction has, the better the skills you have access to.

Above Character Chat - When you type a message it appears above your character. Your character name appears below the character. The old fashioned chat window is between faction members, while the above character chat is visible by anyone within range.

Direct Character Control - Control the character with the keyboard and mouse. Left mouse is primary attack, right mouse is secondary, etc. Cybermind will like this for his deathmatch gamemode.

128 Player Slots - No idea how hard this will be. Each faction will take a slot, each NPC will take a slot, and every player will take a slot.

NPCs - NPCs will have their own AI and will try to fulfill objectives.

Advanced Diplomacy - Being a bastard ally can be worse than a friendly enemy.

Game Master Support - The game master can control all aspects of the world. Faction AI and aggressiveness, unit production, territory, economics, scenario objectives, diplomacy, lore, weather, etc.

Faction Governance - Individual players can influence their faction depending on the government type. Tyrant factions will be controlled by one player (+ the game master), democracies will have everything decided by a vote.

Easting and Northing Coordinate System - The view port will be fixed to a 800 by 480 grid pattern (the Pandora's resolution). Think 2D Zelda games, the screen changes when your character exits view. Factions can have different datums.

Widgets - The HUD will be empty except for the widgets you want.

Issues
  • Lag
  • Cheating - A lot of stuff will be handled client side to help cut down on lag. Downside is that you could mod the client side code to get an advantage.
04:27 jim4 why haven't you added wc1 support? this project sucks. i'm only going to use freecraft
05:06 jim4 finished wc1 support yet? i've been waiting for 6 years
05:10 jim4 new things scare me
User avatar
cybermind
Posts: 110
Joined: Sat Dec 31, 2011 11:43 pm

Re: Events

Post by cybermind »

That reminds me a choice system from Warcraft 3, some modders used it to create dialogs for RPG-based custom maps.
Currently it's impossible to make your system to work in multiplayer, because engine will need to send your choice to another players, or a desync would occur.
Remaking the engine to support MMORPGs - I don't think that this will be a good idea, because the engine supposed to be a RTS engine and not something else, it will be a hard work to implement all your ideas. At least the persistent games will need a metaserver to manage them and network subsystem should be rewritten to support joining in game.
User avatar
Kyran
Posts: 499
Joined: Sat Dec 31, 2011 5:19 pm
Location: Australia
Contact:

Re: Events

Post by Kyran »

cybermind wrote:Currently it's impossible to make your system to work in multiplayer, because engine will need to send your choice to another players, or a desync would occur.
I believe guichan buttons are client side only. Mm, no idea how you'd sync them. I'd look at how the usernames are sent to the server and expand on that.
cybermind wrote:Remaking the engine to support MMORPGs - I don't think that this will be a good idea, because the engine supposed to be a RTS engine and not something else, it will be a hard work to implement all your ideas.
A few of my goals are optimistic, but any modifications I need to hardcode into the engine will be a benefit, surely. :) I don't see there being any need to remake anything.

Hard
  • Persistent Worlds
  • Above Character Chat
  • 128 Player Slots
  • Widgets
Medium
  • Direct Keyboard Control - Try to emulate a mouse click to the tile next to the unit.
  • Persistent Characters, Inventory - Player name is sent to the server, why not other variables?
  • Game Master, Faction Governance, Advanced Diplomacy - Sync issues.
Easy
  • Magic and Skills - Researched like normal research.
  • Faction Missions - Missions would be issued server side.
  • Direct Mouse Control
  • Factions
  • NPCs
  • Easting and Northing Coordinate System
cybermind wrote:At least the persistent games will need a metaserver to manage them and network subsystem should be rewritten to support joining in game.
I'm not aiming for a MMORPG, just a simple online role play. I'm going for 128 player slots since each NPC will be treated as a player.

Joining mid-game isn't essential, but it would be cool if you got disconnect. I'm thinking:
1. Client requests to join.
2. Server accepts or rejects request to join.
3. Server pauses game.
4. Server saves game.
5. Server sends save game data to all clients, including new client.
6. Clients load saved game, remaining connected to the server.
7. Server resumes game when all clients indicate ready.
Attachments
rebel-buildings.png
rebel-buildings.png (7.4 KiB) Viewed 9404 times
04:27 jim4 why haven't you added wc1 support? this project sucks. i'm only going to use freecraft
05:06 jim4 finished wc1 support yet? i've been waiting for 6 years
05:10 jim4 new things scare me
User avatar
Andrettin
Posts: 433
Joined: Sun Jun 30, 2013 9:58 pm
Location: Vienna, Austria
Contact:

Re: Events

Post by Andrettin »

Kyran, your ideas sound interesting, but what I had in mind were much more limited changes, and when I mentioned persistent heroes, I meant ones saved in the player's computer and possibly playable only in single-player.

In any case, I think that it is great that you want to explore these possibilities with the engine :)
User avatar
Kyran
Posts: 499
Joined: Sat Dec 31, 2011 5:19 pm
Location: Australia
Contact:

Re: Events

Post by Kyran »

Andrettin wrote:Kyran, your ideas sound interesting, but what I had in mind were much more limited changes, and when I mentioned persistent heroes, I meant ones saved in the player's computer and possibly playable only in single-player.
You can save those variables as preferences, having them transferred into the game by redefining the hero unit at the start of play.
04:27 jim4 why haven't you added wc1 support? this project sucks. i'm only going to use freecraft
05:06 jim4 finished wc1 support yet? i've been waiting for 6 years
05:10 jim4 new things scare me
User avatar
Andrettin
Posts: 433
Joined: Sun Jun 30, 2013 9:58 pm
Location: Vienna, Austria
Contact:

Re: Events

Post by Andrettin »

Kyran wrote:
Andrettin wrote:Kyran, your ideas sound interesting, but what I had in mind were much more limited changes, and when I mentioned persistent heroes, I meant ones saved in the player's computer and possibly playable only in single-player.
You can save those variables as preferences, having them transferred into the game by redefining the hero unit at the start of play.
Yeah, I know :)

We can also save arrays within the preferences, so it is possible to have multiple heroes.
User avatar
Andrettin
Posts: 433
Joined: Sun Jun 30, 2013 9:58 pm
Location: Vienna, Austria
Contact:

Re: Events

Post by Andrettin »

Inspired by b_o's suggestion of optional quests, I created an event which gives one to the player:
Image

The event accordingly updates the objectives:
Image

When the quest's objective is completed, the player gets another event:
Image
Post Reply