Git Product home page Git Product logo

legiongame's Introduction

LegionGame Build Status

Remake of the classic Amiga game Legion, based on the official AMOS source code provided by authors.

Original source code

Original source code location: /data/amos/leg31.Asc

Idea

Completely rewrite game using modern, widely used and popular object oriented language (C#), for better maintainability and easier future extension. Code is written from scratch, but directly based on original AMOS source code and original logic.

First step is to create mostly the same functionality as in original game. If some small improvements can be made at this step they will be also included. Bigger improvements and new ideas can be made in next steps.

Techonology stack

MonoGame on .Net Core. I'm currently using VS Code on Linux to write code.

NOTE: currently only 64 bit versions of Linux and Windows are supported, 32 bit versions can be added by modyfing Legion.csproj file to recognize bitness and choose 32bit versions of SDL.dll (they are already available in theirs folders under lib directory). OSX should be also supported but it was not tested.

Current status

Architecture and basic UI is done, most progress is made for map view. Overview (In progress):

Intro

  • complete intro with music

Main menu

  • New Game - allow user to set player names (currently names are generated automatically)
  • New Game - create
  • Load game
  • Exit game

Map view

  • draw map
  • map scrolling
  • draw cities
  • draw city info window
  • handle city commands
  • draw armies
  • draw army info window
  • draw army window commands
  • handle army commands
  • draw Start/Options menu
  • options menu
  • complete turn (Start button click)
  • random events (plague, fire in town, etc)
  • enemy armies movement
  • user armies movement
  • ... more things to be added ...

Terrain view

  • draw terrain -- [x] forest terrain -- [ ] all other terrains
  • draw characters
  • characters movement
  • bottom menu
  • draw buildings
  • ... more things to be added ...

Store view

  • draw store image
  • draw stuff that can be bought
  • draw current characters stuff
  • handle prices and available stuff
  • ... more things to be added ...

Common

  • characters equipment
  • ... more things to be added ...

Other

  • set scale factor (hardcoded, but can be changed)
  • ... more things to be added ...

Localization

Game should be easy to localize, please take a look to /data/texts folder, there are JSON files for every supported language (currently Polish and English).

Issues from original version which will be fixed

  • cloning items when putting them on the ground and loading game after that (items on the ground will stay on the same place)
  • characters path finding is poor

Contribution

If you would like to help/comment/donate or have some ideas, please let me know.

Links

Screenshots

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.