Skip to content
Pitto edited this page Jan 8, 2016 · 21 revisions

Jasc Soccer User Guide

Jasc means Just Another Sensi Clone, it’s a football simulation written in FreeBasic language.

The goal of this project is to create a free clone of Sensible Soccer with a similar graphical-feel and ball control. The sofwtare is released under the terms of GPL license.

Create a clone doesn’t means copy or reuse original data or code of Sensible Soccer. Everything is done from the beginning, even the sprites (totally handmade - no pixel recycling). To be honest, the stadium sprites are partially inspired to Yoda Soccer stadium in order to honour this game.

Someone asked me to create a user guide to explain game features. It’s a good idea.

So, here’s a little

User Guide

I hope to not be boring...

Main Menu From main menu it’s possible to select various thinghs such:

  • two teams for the match
  • game lenght (mins: 3, 5, 7, 10)
  • pitch type
  • tactic editor
  • team editor (of the firt selected team)
  • behaviour editor

Use arrow keys to navigate the menu and Enter key to select a section.

Teams

Are available various teams with 16 player each. Every player has personal skill values in fields like precision, stamina, speed and so on. It’s possible to edit these teams - see Team editor

Team editor

Team editor allows to edit the first team selected. It’s possible to customize name, skin, and player skill in variour fields. The player’s value is dinamically calculated (maximum allowed 15M - like in SWOS). Use arrow key to navigate, enter to select a value and: if you are editing a name, press BACKSPACE to delete the name and type it, then press Enter again if you are editing a value, use arrow key to increase/decrease (UP DOWN +-10 / LEFT/RIGHT +-1), then press Enter again if you are editing the skin, use arrow key to select a skin and press Enter again Dont’ forget to press CONTROL+S to save and back to Main menu

Tactic Editor

O yeah! It’s possible to customize tactics. There are 10 tactic slot available. In other words there are 36 ball position and 256 player position along the playfield. For example if the ball is in 18th position (almost the middle) then the Y player should be in the 240th position. Use arrow key to move the ball along the playfield, mouse wheel to select a player, and mouse & click to select a player position.

Use key from 0-9 to select a tactic slot to edit. It is possible to copy & paste the whole team position (CTRL + C, CTRL + V). It’s possible to save pressing "S" (current tactic) or "A" (all tactics). Tactic name is not editable yet.

Behaviour Editor

This section edits the behaviour of CPU’s controlled player while in ball possession - See Developer Guide Section for further informations

Gameplay

It is possible to play against the PC or simply watch a match. Player vs. Player is not supported yet.

**Aftertouch: **after kicking the ball is possible to bend it turning a little the kick direction

During the match it is possible to change on-the-fly both tactic & formation:

Press “F” Key to change formation, formation menu will appear. Use arrow keys & Enter to swap player positions. Substitutions not allowed yet. Like in 1905.

Press “T” Key to change tactic, tactic menu will appear. Use arrow keys & Enter to select a tactic.

Press “ESC” to exit from the match

User input while in game (only one button to perform all actions like in SWOS):

Keyboard control: Arrow keys & RIGHT CONTROL Key to perform actions such kicking, heading, sliding.

Joystick control: if the joystick is connected and recognized it could be selected via the main menu. Analogue control is supported.


And... last but not least

Developer Guide

If you are brave enough to fight against my spaghetti code...

Debug options

Along the match it is possible to show some useful debug informations.

Press “D” key to enter debug mode. There are 10 levels of debug mode with even further displayed informations, press again “D” key to show these informations. While in debug mode the user can press** keys 0-7 **to simulate some Match_Events

How may I add a team?

I will explain it later.

How may I change resolution?

Screensize selector: until now could be changed only at compile time from const.bi file:

const SCREEN_W as Integer = 640 const SCREEN_H as Integer = 480

How may I add a custom kit?

I will explain it later.

How does the player’s behaviour works?

Jasc has a basilar form of AI, based upon tactic and pre-computed player's behaviour. The behaviour has effect on the action that a player performs when has the ball. There's a behaviour's pre-computed table ("_data/bhv.dat") based on the tile (from 0 to 35) where the player is over. For example, if the is in the X tile, has a choice of action to perform based upon a percentage (for example 15% pass to other player; 20% shoot on goal; 15% go ahead... and so on). At this moment –for debugging- some actions are disabled. If the player shoots on goal another function returns the best angle of shoot based upon player's position, goalkeeper's position, and net's position. Is available a behaviour editor… but it's still in beta.

How does tactic works?

The tactic involves the way a player move himself when he is without ball. There are 10 slot of tactic, by default there are these modules: 442, 433, 352, 532, 424, 451, 541, SWEEP, DEFEND, ATTACK. Each tactic slot is saved on a plain txt file. Tactic are stored in plain text files into the “/_data” path with "*.tac" extension. The easiest way to modify it is using the Tactic Editor of the game.

Where data are stored?

All data (teams, players, tactics, behaviour) are stored in plain text files into the “/_data” path.

I wish to know more about data structures of this game…

You’re really a brave!

Team data

Stored into "list_teams.team". Every line has this structure:

  • TEAM_NUMBER_000,
  • TEAM_NAME,
  • SHIRT COLOR (Hex),
  • PANTS COLOR (Hex),
  • SOCKS COLOR(Hex),
  • OVERLAY COLOR (Hex),
  • TACTIC SLOT,
  • KIT TYPE

001, Juvintus, &hFFFFFF, &h000000, &hFFFFFF, &h000000, 0, 1

Player data

Stored into "NUMER_WITH_3_ZEROFILL.team.csv". Every line has this structure:

  • Player number,
  • Role,
  • Name (max 32 chars),
  • skin (1 - white skin / black hair, 2 brown skin / black hair, 3 white skin / yellow hair),
  • SPEED (0-100)
  • STAMINA (0-100) - available but not implemented in game yet
  • Kicking Power (0-100)
  • Heading Power (0-100) - available but not implemented in game yet
  • Tackle Power (0-100) - available but not implemented in game yet
  • Goalkeeping Power (0-100) - available but not implemented in game yet
  • Precision (0-100) - available but not implemented in game yet

7,"M","Cleadou Merchosou",1,72,95,86,50,35,20,96

Pitch data

Stored into "pitch.dat". Every line has this structure:

  • name
  • Ball bounce ratio
  • Ball friction ratio

If you read until here it means that you wish to understand better in order contribute to this project - thanks! It could mean also you have too much spare-time. If it’s so, go outside and play real football :)