Jump to content




NightFall - Tower Defence Game



29 replies to this topic

#1 Exerro

  • Members
  • 800 posts

Posted 18 January 2015 - 07:04 PM

Hello,

Having taken a little break from Nova (and CC altogether), I decided to come back and create a game. After some brainstorming with a friend, we decided I should make a tower defence game.

The game is in a really basic state at the moment, so don't be too harsh. I'm mainly posting this so I can get some feedback so I don't have to do any drastic changes further in the game's development.

Screenshots:
Spoiler

The 3 waves I've programmed in aren't too creative, just demos really to show a couple of different units. I'll probably be spacing them out a bit more too. I've also just realised that your health can go below 0 without anything happening... oops.

If you want to create your own maps, use the map creator. Just make sure there is a full path from the start block to the end one, and you also need to place a path block at the start block.

You can download this from pastebin:
pastebin run v4ZQBHyh
You can then run the game by typing ".nightfall/launcher" into the shell.

Any feedback is greatly appreciated. I also need a lot of artwork done (as you can probably see) so if you'd like to help out with that, just say.

Have fun!

#2 InDieTasten

  • Members
  • 357 posts
  • LocationGermany

Posted 18 January 2015 - 07:44 PM

Bug:
[NightFall] gameUI:40 Attempt to index ? (a nil value)

Reproduction:
Launch game
Create or load game
Click on basic turret
Click on the "place"
Game crashes


Great game though. Would love to see people generating more content to it.

EDIT: fixed :)

Edited by InDieTasten, 18 January 2015 - 07:54 PM.


#3 Exerro

  • Members
  • 800 posts

Posted 18 January 2015 - 07:48 PM

Oh, sorry, thought I fixed that. Can you try downloading it again? If it still doesn't work, it should print a traceback (saying "in ..." etc) and it would be useful to know what caused it.

#4 InDieTasten

  • Members
  • 357 posts
  • LocationGermany

Posted 18 January 2015 - 08:00 PM

Yeah, it works great now :)
It's a little... slow. The step-rate is inconsistent on my computer, even though I have fix 60 FPS.

I like the graphics and different projectiles you implemented.

I'll see if I can mess with the pathfinding in the map editor :3

#5 Exerro

  • Members
  • 800 posts

Posted 18 January 2015 - 08:04 PM

Yeah I'll be working on new waves and performance updates for the next version. For the rendering, it goes through a long process of drawing to an image which draws to another image which draws to a buffer which draws to the screen. I'll be trying to take the map and units etc away from the UI library to speed things up.

Also, the pathfinder should be perfect. It calculates all possible routes to the destination then selects the shortest one (slow I know but it doesn't need to be fast as it's only computed once).

#6 InDieTasten

  • Members
  • 357 posts
  • LocationGermany

Posted 18 January 2015 - 08:14 PM

View PostInDieTasten, on 18 January 2015 - 08:00 PM, said:

I'll see if I can mess with the pathfinding in the map editor :3
Well, having no path available as AI, the enemies won't show up. You could implement a check that executes at every change in the map and displays its validity in the menu on the right, so at least one know, that the map I'm editing is at it's current state not valid.

Also as a feature request:
Why not different terrain types, so that enemies can walk through everything, as long as it doesn't cost more "movementpoints" as the "regular path" which has a much lower movement cost.
Then you wouldn't have to deal with invalid maps, as the enemies could walk through the grass too, only much slower ;)

Also, the pathfinding behaves strange to me, when there are multiple paths. all enemies follow the same path, but not the shortest. they take weird routes until they finally arrive at my base

Edited by InDieTasten, 18 January 2015 - 08:15 PM.


#7 InDieTasten

  • Members
  • 357 posts
  • LocationGermany

Posted 18 January 2015 - 08:19 PM

Pathfinding at it's best:
Posted Image

#8 Exerro

  • Members
  • 800 posts

Posted 18 January 2015 - 08:21 PM

Hmm, weird, I'll have to take a look at the algorithm. If I were to implement the open terrain idea, I'd need a better pathfinding library. Any ideas what I could use?

#9 InDieTasten

  • Members
  • 357 posts
  • LocationGermany

Posted 18 January 2015 - 08:24 PM

View Postawsumben13, on 18 January 2015 - 08:21 PM, said:

Hmm, weird, I'll have to take a look at the algorithm. If I were to implement the open terrain idea, I'd need a better pathfinding library. Any ideas what I could use?
A* fast and allows for different costs between tiles.
I don't know, whether there are "libraries" for that, but the implementation is quite simple.
I've seen people referencing good material for learning how the algorithm works.

#10 Exerro

  • Members
  • 800 posts

Posted 18 January 2015 - 08:26 PM

Ok, any comments on the graphics? Anything I can improve?

#11 InDieTasten

  • Members
  • 357 posts
  • LocationGermany

Posted 18 January 2015 - 08:32 PM

View Postawsumben13, on 18 January 2015 - 08:26 PM, said:

Ok, any comments on the graphics? Anything I can improve?
No man, I don't think you can do much better without making the game unplayable performance-wise.
The game feels nice with the amount of animation/sliding. I think you hit it perfectly. It's like playing a real game, as supposed to playing a "hakeliges" game within a mod of a game.

#12 Exerro

  • Members
  • 800 posts

Posted 18 January 2015 - 08:35 PM

Awesome, thanks! I need to change the costs of the turrets at some point, it's way too easy to get set up early on.

Current todo list:
  • Performance improvements.
  • New waves (probably about 10, with increasing and logical difficulty increases).
  • Better costs and rewards for killing units.
I'll get to the pathfinding/new map structure later.

Edited by awsumben13, 18 January 2015 - 08:35 PM.


#13 ByteMe

  • Members
  • 124 posts
  • LocationAdelaide, Australia

Posted 18 January 2015 - 11:33 PM

It's awesome, I love that time went into the look such as menus and homescreen.

#14 oeed

    Oversimplifier

  • Members
  • 2,095 posts
  • LocationAuckland, New Zealand

Posted 18 January 2015 - 11:45 PM

Wow, this looks really awesome. I'll try it out soon!

#15 TheOddByte

    Lazy Coder

  • Members
  • 1,607 posts
  • LocationSweden

Posted 19 January 2015 - 06:36 PM

This is really awesome, tried it and it was better than I expected. Love the GUI and the animations, sprites and just everything!
You did a really good job on this! :D

#16 cdel

  • Banned
  • 496 posts
  • LocationMelbourne, Australia

Posted 21 January 2015 - 12:19 PM

looks awesome, the menu image just looks spot on :)

#17 Geforce Fan

  • Members
  • 846 posts
  • LocationMissouri, United States, America, Earth, Solar System, Milky Way, Universe 42B, Life Street, Multiverse, 4th Dimension

Posted 05 April 2015 - 07:02 AM

This deserves more attention. It's pretty cool.
The animations are VERY smooth, and they game plays quite well. I am bypassing the window API, but even then it's hard to get animations that smooth.
10/10, good work.

I did get an error, but I'm fairly sure it was my own OS's fault. It errored out and said access denied, meaning it tried to access a file it did not have permission to -- it will only error when doing this through write mode. Running it will admin permissions fixed this, but what files do you write to?
And nice error tracing system.
The game's actually pretty small, too.164KB(the APIs are 112KB) on a fresh install. For what it does, that's pretty small.

Edited by Geforce Fan, 05 April 2015 - 07:12 AM.


#18 Exerro

  • Members
  • 800 posts

Posted 05 April 2015 - 08:49 PM

Thanks, people keep commenting on my animations (which don't bypass the window API), and I really can't take credit for it - tween.lua by kikito. Anyway, the files it writes are in the /saves folder, which it does every time you use money, complete a wave, or get money. The error tracing system, again, isn't me, and is mainly due to lbphacker's traceback() function which returns a table like { "blah:10", "blah2:20" } etc. The APIs should be minified, hence the size, although I may have wrote this long enough ago that I wasn't using a minifier.

Anyway, I'm going to rewrite this as soon as I finish my new UI library. I wrote a little preprocessor and I'm dying to test it out on something like a game, I think it will really help. With the new version, I'll be able to use the glorious mouse_up events (thanks Dan!) which will drastically improve the gameplay, although I think I'll keep the layout/graphics pretty much the same, just a bit faster hopefully.

#19 Creator

    Mad Dash Victor

  • Members
  • 2,168 posts
  • LocationYou will never find me, muhahahahahaha

Posted 14 April 2015 - 06:20 PM

Really good, alittle bit laggy, but else excellent. get a +1

#20 CrazedProgrammer

  • Members
  • 495 posts
  • LocationWageningen, The Netherlands

Posted 18 April 2015 - 03:31 PM

Can you make it so that the files don't have to be in .nightfall?
I'm currently making a Steam-like game distribution program and I would like to include this game, but because it has hardcoded paths I can't include it.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users