Giter Site home page Giter Site logo

hassanheydarinasab / defendo Goto Github PK

View Code? Open in Web Editor NEW
46.0 4.0 13.0 15.16 MB

A tower defense game made using Godot Game Engine

Home Page: https://f-droid.org/packages/ir.hsn6.defendo/

License: GNU General Public License v3.0

GDScript 1.14% PHP 98.86%
towerdefense godot godot-game-engine tower-defense-game

defendo's People

Contributors

basxto avatar bla-ke avatar enkeli avatar harry-wood avatar hassanheydarinasab avatar kolanich avatar martinkgg avatar poussinou avatar r3s1stft1l3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

defendo's Issues

Strip the binary

As you see your binaries are not stripped:

defendo-v2-1: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=93fd41596c512cba3a0bd0c28ccf2323368e0cad, not stripped

strip them and see how their size decreases!

farooghkz@farooghkz:~/Downloads$ ls -lh defendo-*
-rwxrwxr-x 1 farooghkz farooghkz  30M Jul  3 20:18 defendo-v2-1
farooghkz@farooghkz:~/Downloads$ strip defendo-v2-1 
farooghkz@farooghkz:~/Downloads$ ls -lh defendo-*
-rwxrwxr-x 1 farooghkz farooghkz  21M Jul  3 20:30 defendo-v2-1

towers should snap into slots

the game looks messy and unprofessional when the towers are not centered in the circle.

image

it should not be possible to place more than one object in one slot, it don't makes sense for the gameplay. also towers need to be removable (#37) since it don't makes any sense to have more towers than slots. (i will propose upgrades instead of combining towers)

towers should not be placeable freely on the map. mines should, as it makes sense.

menu covers game

I can't select the tower anymore because the menu overlapps it. Also one slot can't be used!

screenshot_20171201-045919

Solution: remove menu and implement #41

Use Travis CI

Hi.

It could be nice to use Travis CI (Continuous Integration). https://docs.travis-ci.com/
It is useful for quality, but also to explain how to build automatically the program with text command(s).

Regards.

Save the game

It would be grate if you could continue the current game after rebooting or androids oom took place. ! maybe just serialise and deserialise the current instantiated game.

At least you should save the highscore even if there is no "loosing condition"

Thanks in advance

Allow dragging new towers into the board

Currently the only way is to click for the tower you want to buy, and once it spawns, drag it. Although both approaches are fine, dragging feels more natural to me (and probably other people). It could show the tower and if you drag it outside the shop box, consider it as purchased. Or perhaps be able to refund if you drag it there? Of course, I came across this while playing on Android :P

speed up the game

i do other stuff while the game runs because it's soooo slow.

i know the enemys get killed by my towers so there is no need to buy something for 10 waves.

i suggest to implement 3 speeds: normal, double and tripple (try out if still playable)

select slot to buy tower into it

the current gameplay where you click on a tower in the menu and it appears somewhere on the screen is very frustrating. often i even don't find it! My first idea was to drag and drop it into the slots, but i think it is better to

select a free slot and select a kind of tower you want to buy. it get's build what takes some time. maybe 1 or 3 seconds (needs balancing)

you can change the tower type in a slot only by selling or destroying (#37) the one inside it.

This would solve the lack of space on the screen.

Not sure about mines.

Player looses before enemy hits base

I always get the "You lost" message when the space ship or what it is, is still quite far away from my base.

I mean it maybe does some "foreseeing" and when I did nothing I would indeed loose. (I've always interpreted the message as "You will loose", because of that.)
But I could still do something, drop bombs or so, to prevent that.

In any case, even if I could not do anything, users should see, that they loose. Otherwise they say: "Hey, I don't believe you!" when the app says "You loose" (BTW, does it say "You loose" instead of "You lost" ๐Ÿ˜„?)

create story

we need at least some sentences of story to get into the game. that can later be used to defined other aspects of the game like graphic design and gameplay.

answer basic questions like

  • where are we?
  • why do we have to do what the game is about?
  • who is attacking us and why?

this can be worked out by the community or a professional story writer, if there is one in the open source community.

Tapping and Dragging on Windows Affects Gameplay Objects Underneath

Expected Behavior

Interacting with Confirmation Windows does not affect Gameplay Objects placed underneath the Tap location.

Actual Behavior

Interacting with Confirmation Windows affects Gameplay Objects placed underneath the Tap location.

How to Reproduce

  1. Launch Defendo 2.5.0 on Android 8.1.0
  2. Click Play on Old Era
  3. Tap a Mine or Turret to Place a Tower
  4. Tap the Android Back Button
  5. Drag the new Windows top bar over the Tower
  6. Tap and Drag the Window

Device: Pixel 2 XL
OS: Android 8.1.0
App Version: 2.5.0

Recording of the Bug

DragTurretWindow.gif



Posted on Utopian.io - Rewarding Open Source Contributors

Money is subtracted instead of summed

In groups of 10 the $$$ is subtracted by 1 when defeating an enemy. So it goes: 19, 18, 17, 16, 15, 14, 13, 12, 11, 20

As you see, it ends correctly. (otherwise we would not get any money, of course)

FR: fps limit

Currently the game consumes a hugh amount of battery. When the user has an option to limit the fps to 30, less battery should be consumed.

Traditional mode is too easy and advanced mode maybe too difficult

In the traditional mode I could always quote easily play the game. WHen you finally get how to do it, you also see that the enemies are easiy. The heavy ones with many live points, are slow, so they can also be destroyed fast and they do never really attack from the side, which also makes it really easy.

I came to the point where I had more than enough money, but further upgrading my weapons was too cumbersome just because how the UI works. Tapping nearly three times for each upgrade point, was just too much if you want to upgrade your 100 points weapon to 200 or so...

game

On the other hand, the new game mode with different weapons, is difficult. I could not com far. Maybe that is how it is supposed to be, as I am also not such a good player and did not try it that often.

sell towers

it should be possible to sell towers (to get rid of them).

the price might be 80% of buy price (base cost + all upgrades)

quick fix: feature to "destroy tower"

auto-zoom

you see i question every element of the game. why not remove the zoom controls?

instead implement auto zoom. with every network upgrade it zooms out more, so everything is visible.

enemys should appear directly above the current view, so one don't has to wait.

Double tapping is counter-intuitive on Android

There aren't many tower defense like games on F-Droid, so thanks for that! However, double tapping on a mobile phone is much less common than long clicking, my suggested behaviour. Both could be kept. Furthermore, the tower completely moves from where it should be! This occurs after trying to double tap several towers.

As a side note, it's strange the game doesn't fill the screen completely.

Upgrade easier on fingers

Hello,

currently, to upgrade a turret I need to drag it inside the base, create a new turrent and drag the new turret inside the base. Repeating this hundreds of times causes quite a bit of strain in my finger and wrist, and makes the game too painful for me to enjoy.

My proposal for making the interface a bit swifter to use is that if there is a turret inside the base and I tap the button to buy a new one, then no new turrent is created and the turrent inside the base is upgraded instead.

That way I could bring a turret inside the base, tap update 20 times or however many I need, and move it back to its pad, all rather easily

Persistent state between breaks.

Hello,

I just found the game today on f-droid and I like it a lot. However, it would be nice to be able to pause and resume the game with a break of possibly several hours. On Android the game might get killed if it stays in the background or (depending on battery policy) drains the battery. Would it be easy to implement persistent state after exit of the game?

Cheers,
Annaluise

FR: Save game

I'd like to save my game and resume it another time

Donate Button in About Screen does Nothing

Expected Behavior

The Donate button in the About screen takes the User to a location where they can donate to the developer.

Actual Behavior

Nothing happens when the User taps the Donate button on the About screen.

How to Reproduce

  1. Launch Defendo 2.5.0 on Android 8.1.0
  2. Tap About
  3. Tap Donate

Device: Pixel 2 XL
OS: Android 8.1.0
App Version: 2.5.0

Recording of the Bug

DonateButtonBroken.gif



Posted on Utopian.io - Rewarding Open Source Contributors

Add settings to disable sound/music

I often play music in the background and I don't want the game to have its own music or sounds at all. A way to disable this would be nice.

Turrets and Mines can be Dragged Outside of Gameplay Space and Lost

Expected Behavior

User is never able to place a Turret or Mine in a location where they cannot move it again.

Actual Behavior

User is able to drag a Turret or Mine to the bottom of the screen outside of the visible gameplay space. They will be unable to drag it back into gameplay space.

How to Reproduce

  1. Launch Defendo 2.5.0 on Android 8.1.0
  2. Select Play on Old Era
  3. Tap a Turret or Mine to place into the playspace
  4. Zoom out all the way by dragging down on the slider bar on the right
  5. Tap and Drag the Turret/Mine to past the bottom of the screen

Device: Pixel 2 XL
OS: Android 8.1.0
App Version: 2.5.0

Recording of the Bug

TowerUnrecoverable.gif



Posted on Utopian.io - Rewarding Open Source Contributors

accept donations

@HassanHeydariNasab would you like to receive donations?

You can also forward a part to Godot and put bountied on Bountysource, so others contributing to the game and solving issues get payed (a little).

I suggest allow PayPal (Credit Card, SEPA), Bitcoin, Litecoin and Dogecoin (lower value, so lower transaction fees than BTC).

don't show fps to user

it could be an optional feature that can get activated in developer menu.

i like that android enables the developer menu when you click multiple times on the version number. maybe also implment that.

only get needed permissions

currently there is a long list of permissions visible on F-Droid. I think they are not all needed.

  • godot.ACCESS_CHECKIN_PROPERTIES
  • godot.ACCESS_COARSE_LOCATION
  • godot.ACCESS_FINE_LOCATION
  • godot.ACCESS_LOCATION_EXTRA_COMMANDS
  • godot.ACCESS_MOCK_LOCATION
  • godot.ACCESS_NETWORK_STATE
  • godot.ACCESS_SURFACE_FLINGER
  • godot.ACCESS_WIFI_STATE
  • godot.ACCOUNT_MANAGER
  • godot.ADD_VOICEMAIL
  • godot.AUTHENTICATE_ACCOUNTS
  • godot.BATTERY_STATS
  • godot.BIND_ACCESSIBILITY_SERVICE
  • godot.BIND_APPWIDGET
  • godot.BIND_DEVICE_ADMIN
  • godot.BIND_INPUT_METHOD
  • godot.BIND_NFC_SERVICE
  • godot.BIND_NOTIFICATION_LISTENER_SERVICE
  • godot.BIND_PRINT_SERVICE
  • godot.BIND_REMOTEVIEWS
  • godot.BIND_TEXT_SERVICE
  • godot.BIND_VPN_SERVICE
  • godot.BIND_WALLPAPER
  • godot.BLUETOOTH
  • godot.BLUETOOTH_ADMIN
  • godot.BLUETOOTH_PRIVILEGED
  • godot.BRICK
  • godot.BROADCAST_PACKAGE_REMOVED
  • godot.BROADCAST_SMS
  • godot.BROADCAST_STICKY
  • godot.BROADCAST_WAP_PUSH
  • godot.CALL_PHONE
  • godot.CALL_PRIVILEGED
  • godot.CAMERA
  • godot.CAPTURE_AUDIO_OUTPUT
  • godot.CAPTURE_SECURE_VIDEO_OUTPUT
  • godot.CAPTURE_VIDEO_OUTPUT
  • godot.CHANGE_COMPONENT_ENABLED_STATE
  • godot.CHANGE_CONFIGURATION
  • godot.CHANGE_NETWORK_STATE
  • godot.CHANGE_WIFI_MULTICAST_STATE
  • godot.CHANGE_WIFI_STATE
  • godot.CLEAR_APP_CACHE
  • godot.CLEAR_APP_USER_DATA
  • godot.CONTROL_LOCATION_UPDATES
  • godot.DELETE_CACHE_FILES
  • godot.DELETE_PACKAGES
  • godot.DEVICE_POWER
  • godot.DIAGNOSTIC
  • godot.DISABLE_KEYGUARD
  • godot.DUMP
  • godot.EXPAND_STATUS_BAR
  • godot.FACTORY_TEST
  • godot.FLASHLIGHT
  • godot.FORCE_BACK
  • godot.GET_ACCOUNTS
  • godot.GET_PACKAGE_SIZE
  • godot.GET_TASKS
  • godot.GET_TOP_ACTIVITY_INFO
  • godot.GLOBAL_SEARCH
  • godot.HARDWARE_TEST
  • godot.INJECT_EVENTS
  • godot.INSTALL_LOCATION_PROVIDER
  • godot.INSTALL_PACKAGES
  • godot.INSTALL_SHORTCUT
  • godot.INTERNAL_SYSTEM_WINDOW
  • godot.INTERNET
  • godot.KILL_BACKGROUND_PROCESSES
  • godot.LOCATION_HARDWARE
  • godot.MANAGE_ACCOUNTS
  • godot.MANAGE_APP_TOKENS
  • godot.MANAGE_DOCUMENTS
  • godot.MASTER_CLEAR
  • godot.MEDIA_CONTENT_CONTROL
  • godot.MODIFY_AUDIO_SETTINGS
  • godot.MODIFY_PHONE_STATE
  • godot.MOUNT_FORMAT_FILESYSTEMS
  • godot.MOUNT_UNMOUNT_FILESYSTEMS
  • godot.NFC
  • godot.PERSISTENT_ACTIVITY
  • godot.PROCESS_OUTGOING_CALLS
  • godot.READ_CALENDAR
  • godot.READ_CALL_LOG
  • godot.READ_CONTACTS
  • godot.READ_EXTERNAL_STORAGE
  • godot.READ_FRAME_BUFFER
  • godot.READ_HISTORY_BOOKMARKS
  • godot.READ_INPUT_STATE
  • godot.READ_LOGS
  • godot.READ_PHONE_STATE
  • godot.READ_PROFILE
  • godot.READ_SMS
  • godot.READ_SOCIAL_STREAM
  • godot.READ_SYNC_SETTINGS
  • godot.READ_SYNC_STATS
  • godot.READ_USER_DICTIONARY
  • godot.REBOOT
  • godot.RECEIVE_BOOT_COMPLETED
  • godot.RECEIVE_MMS
  • godot.RECEIVE_SMS
  • godot.RECEIVE_WAP_PUSH
  • godot.RECORD_AUDIO
  • godot.REORDER_TASKS
  • godot.RESTART_PACKAGES
  • godot.SEND_RESPOND_VIA_MESSAGE
  • godot.SEND_SMS
  • godot.SET_ACTIVITY_WATCHER
  • godot.SET_ALARM
  • godot.SET_ALWAYS_FINISH
  • godot.SET_ANIMATION_SCALE
  • godot.SET_DEBUG_APP
  • godot.SET_ORIENTATION
  • godot.SET_POINTER_SPEED
  • godot.SET_PREFERRED_APPLICATIONS
  • godot.SET_PROCESS_LIMIT
  • godot.SET_TIME
  • godot.SET_TIME_ZONE
  • godot.SET_WALLPAPER
  • godot.SET_WALLPAPER_HINTS
  • godot.SIGNAL_PERSISTENT_PROCESSES
  • godot.STATUS_BAR
  • godot.SUBSCRIBED_FEEDS_READ
  • godot.SUBSCRIBED_FEEDS_WRITE
  • godot.SYSTEM_ALERT_WINDOW
  • godot.TRANSMIT_IR
  • godot.UNINSTALL_SHORTCUT
  • godot.UPDATE_DEVICE_STATS
  • godot.USE_CREDENTIALS
  • godot.USE_SIP
  • godot.VIBRATE
  • godot.WAKE_LOCK
  • godot.WRITE_APN_SETTINGS
  • godot.WRITE_CALENDAR
  • godot.WRITE_CALL_LOG
  • godot.WRITE_CONTACTS
  • godot.WRITE_EXTERNAL_STORAGE
  • godot.WRITE_GSERVICES
  • godot.WRITE_HISTORY_BOOKMARKS
  • godot.WRITE_PROFILE
  • godot.WRITE_SECURE_SETTINGS
  • godot.WRITE_SETTINGS
  • godot.WRITE_SMS
  • godot.WRITE_SOCIAL_STREAM
  • godot.WRITE_SYNC_SETTINGS
  • godot.WRITE_USER_DICTIONARY
  • godot.custom.0
  • godot.custom.1
  • godot.custom.2
  • godot.custom.3
  • godot.custom.4
  • godot.custom.5
  • godot.custom.6
  • godot.custom.7
  • godot.custom.8
  • godot.custom.9
  • godot.custom.10
  • godot.custom.11
  • godot.custom.12
  • godot.custom.13
  • godot.custom.14
  • godot.custom.15
  • godot.custom.16
  • godot.custom.17
  • godot.custom.18
  • godot.custom.19

Does not use full screen

As you can see in the screenshot at #9, the app does not use the full screen, but has black bars at the top & bottom.

problems to select and drag towers

This is my first reported issue here, so
first of all thank you for creating and sharing this game!

The most annoying usabillity issue is that i have problems to select and drag towers.
You see me struggling in this video: https://youtu.be/SysYEA-Om-g


Fairphone 2 with Fairphone Open OS 17.11.2 (no google services)
Andoid 6.0.1
Version 2.5.0

don't show technical details to users

they are fine in the README on github, for (potential) developers, but confuse gamers und normal users.

so remove them from the game and F-Droid description.

Please include 32-bit binary

I downloaded but I wasn't able to play:

defendo-v2-1: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=93fd41596c512cba3a0bd0c28ccf2323368e0cad, not stripped

Also happy first issue!

upgrade towers

instead of combining them.

in my favorite tower defense game (GemCraft), you combine gems. that makes sense in some way. but combining towers to get one more powerfull tower don't makes sense to me.

so i suggest an upgrade system.

you buy one tower. the cost increases with the number of towers you have of that kind.

then you are able to upgrade it in levels.

the base damage, range and firing speed is multiplied by the level at maybe 20% (needs balancing).

you can buy higher levels at

  • +1
  • +10
  • +100
  • +1000
  • +10000

and so on. there should be really no limit since the game should be endless (#38)

A good UI/UX needs to be found. Maybe look how other games have solved it.

My first idea:

have a button "upgrade" in the context menu of a tower. when you click on it, a new menu appears with the options. higher upgrade are only visible when you have the money to buy them.

Turret Tap and Hold Menus Do Nothing in Old Era

Expected Behavior

The menus items that appear over a Turret when Tapping and Holding make changes to the way the Tower behaves in Old Era.

Actual Behavior

The menu items that appear over a Turret when Tapping and Holding do not make changes to the way the Tower behaves in Old Era.

How to Reproduce

  1. Launch Defendo 2.5.0 on Android 8.1.0
  2. Tap on Play for Old Era
  3. Tap a Turret to place a Tower into gameplay
  4. Drag the new Turret onto a Node
  5. Tap and Hold on the Turret
  6. Tap any of the 4 options which appear

Device: Pixel 2 XL
OS: Android 8.1.0
App Version: 2.5.0

Recording of the Bug

HoldChoicesBroken.gif



Posted on Utopian.io - Rewarding Open Source Contributors

endless game

The game shouldn't end at level 50.

Waves should just get stronger and give more money.

screenshot_20171201-072631

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.