GithubHelp home page GithubHelp logo

imp1 / turn-based-tactics Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 101 KB

A strategy game made in java that hopefully will play like a cross between an RTS like starcraft and a TBS like Advance Wars

Java 100.00%

turn-based-tactics's Introduction

Battleground

The goal is for this to be somewhere between the gampeplay of Advance Wars and Starcraft. A turn-based tactics game, but with base building, and maybe some resource management.

The (very much placeholder) images are on my google drive.

turn-based-tactics's People

Contributors

imp1 avatar

Watchers

James Cloos avatar  avatar

turn-based-tactics's Issues

Building Buildings

Units that can build buildings should be able to build buildings. It'll take X turns and they'll be unable to move until they're done?

Or they can move but it'll cancel the building?

Or they can move but they'll have to come back to finish it?

Loading/Unloading

Some buildings and some units can store units. They're loaded in and unloaded in one of the four directions.

Better movement arrow drawing

Draw an arrow head, but more importantly, interpolate to the cursor if it jumps ahead (maybe make the most direct route possible - or just some easy way like vertical first and then horizontal - this would also have to take into account the terrain)

Buildings Data

  • name
  • prerequisite buildings built and existing,
  • cost in terms of time (turns)
  • cost in terms of money (and maybe other resources if added)
  • influence needed to capture
  • turns to capture
  • money provided
  • units it heals and how much it heals them
  • total unit storage capacity
  • units it can store and how big they are for it
  • units it can make
  • sprite

What research they can do? Is research gonna be a thing? Defo not in v1.0

Unit Data Additions

  • Units it can carry (check out building data for this).
  • Whether if the unit doesn't move, it doesn't use any fuel.
  • Buildings it can make.

Building Units

Buildings that can build units should be able to build units.

It'll take X turns. And cost stuff (money, whatever) upfront.

Population Limit

Should there be a population Limit?
If not, then a player can make as many units as they want (and fill up the map - which is obviously silly and not desirable).

Maybe a level should have a population limit. Smaller maps = fewer units, but also helps levels be more distinct. One level on X map you are destitute and on the verge of collapsing as an army (near the beginning of the game) and so can't make more than 20 units or whatever, but you come back later in the game with the resources (not in game, but like story resources) to have a bigger army.

Map Data

I made an example map (you'll need some more tiles, graphically)
Make a DataMap class (just a list of tiles, really)
And load maps in the Data class.

I guess maps should also have some starting buildings, and maybe some units.
Maps != levels? That seems like a good way to do that. Yeah.

Split Battle Up

Put more stuff into Level.

Level should handle the state of the level.
Battle should handle inputs and feedback and stuff.

No title backgrounds causes a crash

Either make sure there's definitely a title background somewhere, or error more explicitly (closing the programme), or default to a coloured background.

Concept

Settings & Concept Art here:

Split Data Up

It's a bit of a big ol' class.
Split it up into DataLevel which loads all the level data (and reads a level)
That way you can split readLevel up into bits, which makes everything easier to understand coming back to it.

Null pointer exception on selectedUnitActions.length

It was in drawActionWheel. I had moved one unit (the helicopter) and while it was moving i selected another and selected a place to bring up the action wheel. Does the helicopter change selectedUnitActions to null when it gets to its destination?
If so, check that the selected unit it itself beforehand.

Make the arrow less ugly

It could be read that the unit is moving into the next square, which is wrong. This could be more readable.

Attack Animations

Have a very basic animation that just shows the names of the units attacking, and pops up some damage numbers.

Updates/Patches

Give the game a version number. Maybe in Main.

That way, patches can update data files from v0.1 to v0.2 (when we add X feature) automatically, to increase backwards compatibility, before they overwrite the code files. Or after really - they're kinda independent. And you can change updates, to go from v0.1 to v0.3, by going via v0.2 or something.

Maybe two variables? long PATCH_NUMBER;, which is just whenever a non-backwards compatible change happens, i.e whenever a patch is released; String VERSION_NUMBER;, which is a string containing the version number in the format major.minor.patch.

Record Actions for replays & multiplayer

Have unit movements (and attacks, loadings, etc.) and resolutions (damage dealt, etc.) be recorded so that turn-based correspondence multiplayer can be done, but also so players can watch a replay.

Prettier Tiles

Auto-tiling?
Just X different versions of each tile?
Maybe a map will specify a tilemap image too?

Have different factions for units

So there's an orange star commando, which is one unit. And there's a blue moon commando, which is another unit. Possibly with the same data, but a different sprite. Make an easy way to do this.

Cursor

Make a cursor that shows the currently hovered tile. Make the actual cursor invisible, and show the tile cursor when over the map, and another cursor when over building selections or menu stuff.

Weather

Rain lowers visibility and maybe mobility?
Fog lowers visibility.
Snow lowers mobility.

They don't seem all that diverse. But I suppose it adds atmosphere.
Maybe different weathers affect different units?

Rain lowers visibility, and mobility for air units.
Snow lowers mobility for ground units.
Fog lowers visibilty for all units, but more so for naval units.

File structure

Decide how the files are gonna be structured to allow for easy modding. The base game will be like a default mod. This would be data files and also gfx (and sfx) files.

Mods can be ordered? With later ones overwriting earlier ones. This would require a modlist metafile. Maybe mods themselves should also have a metafile with info about it. Like author, name, version number, description.

Units and levels should be named like author_filename.type to avoid unnecessary clashes with filenames. I'll go through and change the existing data to imp_stuff.

Maybe have .bg* filetypes?
bgu for unit
bgm for map
etc.

Attacking

Should attacks be direct or indirect?

Direct: Units engage in a li'l skirmish and do damage to each other.

Indirect: One unit attacks the other, and the other does nothing.

Tiles that lower vision

Maybe forests lower your vision. So you can't be seen unless the enemy is adjacent, but you can't see as far as you would otherwise, either.

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.