Tanks Reloaded Beta v0.1.5 (07.08.2012)

Show off your games, demos and other (playable) creations.
Wojak
Party member
Posts: 134
Joined: Tue Jan 24, 2012 7:15 pm

Tanks Reloaded Beta v0.1.5 (07.08.2012)

Post by Wojak »

Hello
I see You have a nice community and I would like to be a part of it.
I have some experience in lua (from MTA SA), an I’ve been searching for some kind of engine that uses it, and I’ve found LOVE :) , now I want to present my first game ever: Tanks Reloaded (some of you may remember a NES game called Tanks)
Image



Features/changeloig:

v 0.1.5.1
- fixed a crash related to a missing property in the assault target

v 0.1.5
- new way of displaying graphics (single image and quads)
- fixed bug with bullets acting weird at low fps
- added map editor (build in tile editor) featuring:
- ability to create new maps from size 17x19 to size 100x100
- ability to load and edit any build in or previously created or imported map
- ability to save map to a file with custom name
- ability to test the map in the editor
- altered enemy behavior (they don’t fire bullets off screen, but can destroy bricks on contact)
- altered fire behavior (fire now have a chance to move to neighboring on death )
- added new brick type (id 11) that is stronger than any other type, but destructible
- added new difficulty setting – bullet annihilation (when on enemy bullets can be destroyed by player bullets)
- added new difficulty setting – fire detector (when on, fire and lava have collision when you have to low health to survive passing trough them)
- added dependence between maximum enemas on map and map size (settable in difficulty menu)
- added key settings to the menu
- added ability to save and restore the settings using the menu
- added 3 new game modes:
- defend the base (the classic from original battle city)
- assault – you need to destroy specific targets, normal enemas have infinite respawn
- assault and defense – mix between two above
- added new maps (this version has 17 build in maps)
- most likely added some bugs ;)

v 0.1.4
- many file system related changes:
- files “tank.conf”, “readme(TanksReloaded).text” and two test map files are automatically created when you start the game (delete existing tank.conf file when installing over older version)
- backup system for “tank.conf” file
- auto sawing, when you quit the game for any reason
- high scores!
- Many bug fixes and changes to parts of code responsible for analyzing the map on runtime (map interpreter)
- Fixed bug with no collisions between player and enemies
- Fixed bug with enemies stopping when you fallow close behind them in a narrow places
- Fixed most bugs when bullets were not hitting they targets correctly
- New collision system for bullets
- Better performance?
- Added few sounds! (can be disabled in options menu and tank.conf file)
- Added simple animation for some tiles
- Some gameplay changes:
- Added 5 new terrain types: slippery ice, forest with camouflage and slowdown effect, mud that is both slippery and slowing down, burning fire and lava
- Lava can create fire in its surrounding (so can fire, but has much less chance)
- Fire is created when you kill a enemy (it will despair in most cases)
- Fire has a magical power to transform tiles that it occupies (can you discover it all?)
- Ported to love 0.8.0 (report any bugs)

v 0.1.3
- cleanup and reorganizations in the code (more still needs to be done)
- some changes in the enemy behavior
- new menu system (its easier to add new nodes and submenus)
- self explaining menu
- ability do pause the game (escape by default or unfocusing the window)
- next map will lunch after clearing the level
- 3 difficulty parameters (max enemies on map, amount of enemies on starting map and enemy increase per map)
- all errors associated with the .conf file will be displayed before starting the menu (you will not see it if the file is correct)
- new map loading system (from the code perspective – looks the same for the user)
- ability to import custom maps (place the map file in the game [.love file] directory and add the map name to the .conf file)

v 0.1.2
- reduced camping exploit (enemies will avoid driving directly in front of the player)
- added conf file for key settings ( place in the same folder as tankbeta.love)

v 0.1.1:
- 1 new map (there 4 maps at total)
- player bullets destroyed when in contact with enemy
- travel distance for bullets (12 blocks)
- level scaling
- HP displayed on top of tanks

v 0.1.0
- 3 maps
- 5 types of blocks (3 types of brick)
- Bricks can be destroyed
- You can set the amount of enemies
- Simple leveling system

Map elements ids:
-3 - player base
-2 – enemy spawn point (as many as you want)
-1 – player spawn point (should be only one)
0 – grass
1 – water
2 – indestructible wall
3 – brick wall (3 HP)
4 – cracked brick (2 HP)
5 – ruined brick (1 HP)
6 - ice
7 - forest
8 - mud
9 - lava
10 - fire
11 - reinforced brick (5 HP)

To import a map – place it in the game (love file) directory and add the map name to tank.conf file:
(if the map name is “somemap.map” then replace
maps={
"customtest1.map",
"customtest2.map"
},
With
maps={
"customtest1.map",
"customtest2.map",
“somemap.map”
},
And so on)

To do:
- Enemy types (different properties)
- powerups/pickups (as leveled drops)
- better sounds?
- 2 player co-op

Controls (can be changed in options menu):
Menu:
- Arrow keys
- “return” (enter) accept in menu and x10 when setting the amount of stuff
Editor:
Arrow keys – move map
Escape – editor menu (saving, testing)
Left mouse button – place tile
Right mouse button – remove tile
Wheel up or pageup – next tile id
Wheel down or pagedown – previous tile id
Player:
Arrow keys – move
Space – shoot
Escape - pause

Credits:
- LOVE Development Team
- Michael Ebens – camera module
- Tentus - Tutorial:Gridlocked Player (code from the tutorial used as a starter)
- Wojak - "art", maps, ~1500 lines of lua code

Sorry for the eventual typos in the post or in the game
Attachments
tankbeta_0_1_5.love
v 0.1.5.1 (current)
(226 KiB) Downloaded 498 times
tankbeta.love
v 0.1.4 (old)
(214.01 KiB) Downloaded 450 times
Last edited by Wojak on Sat Aug 11, 2012 4:32 pm, edited 11 times in total.
User avatar
MarekkPie
Inner party member
Posts: 587
Joined: Wed Dec 28, 2011 4:48 pm
Contact:

Re: Tanks Reloaded Beta

Post by MarekkPie »

Very good for a first game. I'd rather not have the player gridlocked as well, but that's more of a personal preference. One thing I would suggest is destroying the bullet after it makes contact with an enemy; right now it just continues on.
Wojak
Party member
Posts: 134
Joined: Tue Jan 24, 2012 7:15 pm

Re: Tanks Reloaded Beta

Post by Wojak »

MarekkPie wrote:Very good for a first game.
Thank You
MarekkPie wrote: I'd rather not have the player gridlocked as well, but that's more of a personal preference.

I think its quite simple and efficient method of detecting collisions, and it can by used for non player entities as well, but this is my first game, so I’m not the expert
MarekkPie wrote:One thing I would suggest is destroying the bullet after it makes contact with an enemy; right now it just continues on.

Done :) check the OP for full changelog and download
User avatar
bartbes
Sex machine
Posts: 4946
Joined: Fri Aug 29, 2008 10:35 am
Location: The Netherlands
Contact:

Re: Tanks Reloaded Beta

Post by bartbes »

Really nice, thankfully the AI was kind of dumb, and choosing a good corner to sit at made the first part pretty easy.
User avatar
headchant
Party member
Posts: 105
Joined: Fri Sep 03, 2010 12:39 pm
Contact:

Re: Tanks Reloaded Beta

Post by headchant »

I agree with MarekkPie that this a great way to start with Löve. Very nice. I'm not very fond of the "n"-key for shooting, but that's just my taste.
You also could start with smaller level(like in the original tanks) with less enemies and then get gradually bigger. This would be good for new players and you would have to focus on the core of the gameplay and level design.
Wojak
Party member
Posts: 134
Joined: Tue Jan 24, 2012 7:15 pm

Re: Tanks Reloaded Beta

Post by Wojak »

bartbes wrote:Really nice, thankfully the AI was kind of dumb, and choosing a good corner to sit at made the first part pretty easy.
Try it now :joker: , but I spouse this new addition will create some more exploits ;)
headchant wrote:I agree with MarekkPie that this a great way to start with Löve. Very nice. I'm not very fond of the "n"-key for shooting, but that's just my taste.
You also could start with smaller level(like in the original tanks) with less enemies and then get gradually bigger. This would be good for new players and you would have to focus on the core of the gameplay and level design.
Map 2 is small, and you can set the amount of enemies…

As for the level design – I’ve got it all figured out:
Image

Anyway new update is ready (in the OP), I would like You all to try to brake the game with the conf file and post the result (especially if the game will crash), also report not working keys

Edit: and thank You all for positive comments and feedback :)
Wojak
Party member
Posts: 134
Joined: Tue Jan 24, 2012 7:15 pm

Re: Tanks Reloaded Beta

Post by Wojak »

Its been a while, but 0.1.3 version is out
Changes:
- cleanup and reorganizations in the code (more still needs to be done)
- some changes in the enemy behavior
- new menu system (its easier to add new nodes and submenus)
- self explaining menu
- ability do pause the game (escape by default or unfocusing the window)
- next map will lunch after clearing the level
- 3 difficulty parameters (max enemies on map, amount of enemies on starting map and enemy increase per map)
- all errors associated with the .conf file will be displayed before starting the menu (you will not see it if the file is correct)
- new map loading system (from the code perspective – looks the same for the user)
- ability to import custom maps (place the map file in the game [.love file] directory and add the map name to the .conf file)

Map elements ids:
-2 – enemy spawn point (as many as you want)
-1 – player spawn point (should be only one)
0 – grass
1 – water
2 – indestructible wall
3 – brick wall (3 HP)
4 – cracked brick (2 HP)
5 – ruined brick (1 HP)
Maps can be easily created with any calculation sheet
Currently all maps should have indestructible wall frame around to prevent game crashes (this will be fixed in the future)

Things left:
- Map editor
- Enemy types (different properties)
- powerups/pickups (as leveled drops)
- tweaks to the map interpreter and new terrain types
- game modes
- Sounds
- 2 player co-op

I once again encoring to play around with the tank.conf file
(download in the OP)
User avatar
Jasoco
Inner party member
Posts: 3726
Joined: Mon Jun 22, 2009 9:35 am
Location: Pennsylvania, USA
Contact:

Re: Tanks Reloaded Beta

Post by Jasoco »

What gets drawn at a location of an enemy? Grass? I personally would make the map without the enemy definitions and use a separate table for those since it'll be much more easy to manage later.
Wojak
Party member
Posts: 134
Joined: Tue Jan 24, 2012 7:15 pm

Re: Tanks Reloaded Beta

Post by Wojak »

Jasoco wrote:What gets drawn at a location of an enemy? Grass? I personally would make the map without the enemy definitions and use a separate table for those since it'll be much more easy to manage later.
You mean spawn points?
Yes grass is created there, since there are no limits in the map size, I’ve figured that its handy to add spawn information’s to the map itself, and a special table containing only the spawn points coordinates is in fact created during the main map load
User avatar
Larsii30
Party member
Posts: 267
Joined: Sun Sep 11, 2011 9:36 am
Location: Germany

Re: Tanks Reloaded Beta

Post by Larsii30 »

Image
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests