Sign in to follow this  
Wavesonics

My Angel Script Project: Network Defense [ScreenShots + Demo]

Recommended Posts

Well, it's not 100% polished yet, but it's pretty much code complete, and it just got a new coat of paint with some new gfx: Description: Network Defense is a networked version of the common Tower Defense style game. To my knowledge it is the only one of it's kind. In addition to being Networked, it is 100% data driven, meaning that anyone can create all new content for it: Maps, Creeps and Turrets. Everything is based on very simple XML files, with the exception of the turrets. Turret's actions can be anything the creator wants, and use Angle Script to accomplish this. A major focus has been to keep everything as simple as possible so the barest minimum of technical know-how is required to get started with making content. Almost unlimited flexibility is provided to the more advanced user willing to learn some scripting. Attention has been paid to keeping network traffic low, and designing the architecture in a way that allows the server to be run inside the client, or as a stand alone dedicated server. Angel Script stuff: A few interesting things as far as the use of AS goes: - Turrets are implemented as Script Classes (using a standard script interface: ITurret) providing almost unlimited flexibility to Turret designers. - I use the meta data feature in the script builder to allow script writers to declare certain script class members has "Replicated" meaning their value will be automatically synchronized across the network. - Turrets can hold onto object handles for Creeps, for things like tracking or what ever, but Creeps can be removed from the world for any number of reasons where the turret would not know about it. So to make things safer for script writers, when ever a Creep is removed, turrets are searched for handles to that creep, and the handles are automatically nulled. Thus as long as script writers always check their Creep handles for null, they will always be safe.
Thats about it, it's nearly finished, I just need some more turrets and creeps, and then to balance the numbers to make it challenging and fun and 1.0 will be done. I have a pre-release version here if you want to try it: Win32: (7zip) http://www.grendelsdomain.com/~adam/NetworkDefense_prerelease.7z Linux64: (I have this building and running 100%, I just need to figure out how to package with it's dependencies) Linux32: (dito) Project page here Much more detailed post here.
Features:
  • Networked "Tower Defense" style game-play for any number of players (good amount of attention paid to keeping the traffic low)
  • Good separation between client and server code so that a dedicated server can be run completely on it's own or as a separate thread inside a client
  • Everything is data driven (XML) allowing for users to make all their own content
  • Turrets are script driven allowing for users to make any kind of turret they want
  • Maps can define their own music to play during the game
  • Maps can use creeps and turrets from a common pool of well balanced creeps and turrets, or they can make their own completely new creeps and turrets (the "common pool" is really the last area that needs work)
  • The game client it's self is configurable via a config.xml file
  • All the Tower Defense features you would expect: Build turrets, sell turrets, upgrade turrets, interest on player money compounded at the end of every round.
  • Everything is documented in tutorial style to help anyone who wants to make all new content
  • Fully cross platform, already compiles and runs on Win32, Linux32, Linux64. There is not reason it couldn't run on Mac and Win64.
  • Turret scripting is protected by a "safety system" which makes scripts easier and more error proof to write without any extra effort on the scriptwriters part.
  • Turret script classes can easily declare which member variables should be replicated across the network, and thats it, the application takes care of the rest of keeping them synchronized across the network
  • Console provides chat functionality as well as several commands such as /sendmoney (transfer $ between players) and /publicip (grabs your public IP address even from behind a router so u can tell people who are trying to connect) and others...

Share this post


Link to post
Share on other sites
Awesome, thanks for listing it on your site :P

Hey I didn't know the Penumbra games used AngelScript, that's awesome! I love those games :)

Do you have any idea what they use AS for in their games? Tools? Or actual game play?

Share this post


Link to post
Share on other sites
It's for game play, though it's possible they are used in their tools as well. If you have the Penumbra games installed you can easily find the scripts in the data folder. You can also find more info on their game engine here: http://mod.frictionalgames.com/

They used an earlier version of the script library though, and didn't have support for classes at that time, so their scripts are more procedural like than object oriented.

They actually sent me both Penumbra games as thanks, but I've yet to play them as my computer at the time was horribly old. Now I have a new computer, but I haven't picked up a good graphics card for it yet, so I still can't play them. :(

Share this post


Link to post
Share on other sites
Oh man, you've gotta play em, they are awesome FPS / Puzzle / Horror games, seriously, do ur self a favor, grab a video card, and enjoy :P

All this talk about penumbra has made me download them again, I'll have to take a look at the scripts when it's done.

I know they are continuing development on the engine for their next game, I wounder if they are going to be upgrading to new versions of AS...

Share this post


Link to post
Share on other sites
Quote:
Original post by Wavesonics
Oh man, you've gotta play em, they are awesome FPS / Puzzle / Horror games, seriously, do ur self a favor, grab a video card, and enjoy :P

All this talk about penumbra has made me download them again, I'll have to take a look at the scripts when it's done.

I know they are continuing development on the engine for their next game, I wounder if they are going to be upgrading to new versions of AS...


I'm very much looking forward to playing these games. I plan on picking up the video card any day now, I just need to decide which to buy (balancing cost against performance).

I actually talked to the developer yesterday, and they are still using AngelScript for the improved engine. In fact, they just upgraded to the latest version, and plan on using it in some more interesting ways than the last time.



Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this