avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • January 24, 2020, 11:20 AM
  • Proudly celebrating 14 years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - kamahl [ switch to compact view ]

Pages: prev1 [2]
Also sim games, where you can build a world or city or house or country or whatever. What kind of games allow you to create things that you enjoy showing off? What kind of games have things in them that interest you enough to want to see someone else's creations?
And lets not forget puzzle games. The Incredible Machine, Chu Chu Rocket, Lemmings, ... Uh... and others. Those are pretty easy to add content (levels) that could help create a community.
A sim game would be easy to extend, but hideous to get started.

A puzzle game on the other hand would be nice, but they generally exhaust their level ideas fairly quickly.

Oh, and please don't double-post.

Sure, it's probably fairly trivial to add a new kind of tower or enemy type in a TD game, but the hard part is in the balance. Some problems that plague TD games are that (1) you could beat them using just one or two kinds of towers. (2) One strategy worked on every level. (3) Or another problem I've seen a lot is with the difficulty (which also has to do with balance, IMO). You'd be doing great for 86 waves and then suddenly it became impossible.
Why not have the game choose a random subsection of the total number of towers at the start of the level?  If you don't have the Flamethrower tower all the time, you can't possibly use the strategy based around it.

And if it does get impossible, why not simply design a few waves in the middle, or make a tower that might be useful in that situation.  Of course, balance is always going to be an issue, and creating an overpowered tower would definitely be an issue.  
I do have a solution around here somewhere though.  

A while back, I started work on a procedurally generated TD game.  The computer would score the power of your setup, based on a combination of dps and how well the last wave fared. It would then generate a wave which is slightly stronger than it thinks you can handle.  I designed it based on the L4D2 Director - It targets weak points, and subtly throws wave after wave against them (I had a game where it threw five or so flying waves in a row,and then a fast ground wave when it realized I was onto it) :P

Well, I may be misinterpreting what mouser means, but it is my impression that he is talking about a game with a community. I don't mean to sound negative, but documentation, help, tutorials (which are pretty much the same thing), as well as level/tower/enemy design don't make much of a community. An editor of some kind would probably be good, but I think a TD game would have to have some great elements and strategy to it to make a lot of different levels worthwhile.

I guess what I'm saying is, even though I really like TD games I don't see the genre as necessarily fostering a big community where everyone can play and contribute and enjoy. Does anyone have any other suggestions for what type (genre) of game to make?

Actually, before we all rush in and clamor for a TD game (or a game of any genre) maybe we should have a bit of a discussion first to better define the goals for the project so we can choose a genre that will best suit those goals.

The thing I like about TD games, is that they're relatively easy to extend.  Creating an RPG or RTS will involve a lot more effort for someone wanting to casually contribute a small chunk of the game, and therefore discourage people from contributing.   I'm going to throw together a simple base Tower class, and a Slow Tower, which should demonstrate the ease of extensibility for a TD.

But yes, we need to define clear goals before we jump in with the coding.  Otherwise we'll end up needing to reshuffle the code to get plugins to work properly (Or break any plugins people have already made, by changing an Interface, or shuffling methods around).

Oh, and we'll want at least some of the content to be parsed from XML, so that non-programmers can contribute - We'll probably want to make a GUI editor to generate said XML as well.

In what way(s) could people contribute to a tower defense game? Obviously coders could help program, artists could make graphics, and musicians could help with music or maybe sound effects, but in what other ways would someone be able to contribute to a TD game?

I think level design is often underrated. Also, the tedious things that those high-falutin' coders overlook, like documentation, help, tutorials. Ooh, and my favourite: play testing!

A lot of design/concepting stuff can be done by just about anyone.  This includes:
  • Level Design
  • Tower Design
  • Enemy design
  • The name :P

On the coding side, there are a lot of different skill sets here at DC. How would/could/should things be setup to let the maximum number of people participate?

I am a bit bias, but .NET would let anyone write in any language and the core game could then consume libraries (DLLs). It would also allow for specialized things like DSP or math-heavy stuff to be done in a functional language like F#, while other things were done in C++ or whatever.
My personal preference would be to build the base in XNA (.NET), and load plugins for the content.  The way I envision it, the base game has very little in it, and uses the plugins to make a completely modular game.  (And we might even be able to do some funky stuff like reusing the monsters directly into an RPG game, if we design it right :D)

I'd love to help build a Tower Defense game :D

N.A.N.Y. 2011 / Re: NANY 2011 Release: Goodness
« on: January 09, 2011, 09:06 PM »
The link appears to be dead. :(

N.A.N.Y. 2011 / Re: NANY 2011 Release: NetLaunch
« on: January 08, 2011, 08:54 PM »
and after testing all, how do you conclude if network is up or not? is it that if ANY adapter is up, the network is considered up?


this would be the main thing that could prevent the program from actually being usable for real world scenarios, since it could be pretty common that some network adapters will show as up when the user considers their network (internet?) down.. maybe the solution is being able to specify what network adapter to test, or whether the test should be done simply by pinging a web page, etc.

I do have framework for using pinging for the test, I just never implemented any way of turning it on.
I shall do so now. :)

All of a sudden it keeps crashing with a system.invalidoperationexception.  

Unfortunately that's not very helpful on it's own.  I have had this error before (Due to a race condition when updating an app *during* the launching phase), but that has been fixed.

It is primarily in 1.0, but I tried 1.0.1 and it is having the same issue.

1.0.1 was purely cosmetic changes, so I'm not particularly surprised :P

I can recreate it and get the system dump information if that will help any.

That would be wonderful.

P.S.  Man, no matter how much I try to plan how long a screencast takes, it is 2 to 3 times longer to actually accomplish.  This is harder than I thought it would be.  Good to learn though.

Feel free to take your time.

N.A.N.Y. 2011 / Re: NANY 2011 Release: NetLaunch
« on: January 08, 2011, 03:28 AM »
1. An occasional random crash -- i can provide details if you can't reproduce.
That would be wonderful.

2. An error message about not understanding what "DoNothing" action means.  Funny how computers have a hard time understanding "do nothing", i've never had a problem understanding that myself -- in fact i'm quite good at it.
That would be a slight mistake on my part.  I recently changed to enums from Strings, and may have accidentally left a space somewhere.

3. Both 1+2 may have to do with the fact that the "what to do" action should be a "Drop Down List" in windows control parlance, rather than a "Drop Down"; the difference being that the former only allows user to choose among those items listed, where the latter also allows user to type in random text.
Agreed.  I'll make the adjustment.

Another question is how it decides whether the network is up or not.. With multiple network adapters it would seem like the way to do this is either to let user select the adapters/networks to test for up/down, OR test interenet connectivity in general.  Not sure what NetLaunch does..
I tests all available interfaces, excluding preset blacklisted adapters (virtual and VPN adapters)

I plan on making this blacklist configurable.

N.A.N.Y. 2011 / Re: NANY 2011 Release: NetLaunch
« on: January 03, 2011, 09:47 PM »
Ooh, I like it  :Thmbsup:

Updated first post with new version :D

N.A.N.Y. 2011 / Re: NANY 2011 Release: WordCaster
« on: January 01, 2011, 10:01 PM »
Post-last second pledge?  :D

Also, bug report:  "Could not parse definition from HTML result using the specified RegEx Expression".  I searched "monkey", and got the error from both sites.

Almost 39 hours late, but Happy New Year Everyone!  ;D

N.A.N.Y. 2011 / Re: NANY 2011 Teaser: NetLaunch (Now with GUI!)
« on: January 01, 2011, 09:11 PM »
Remind me never to do post-deadline coding marathons again.  I just spent the last three hours reworking a large chunk of the program to use VirtualMode on the ListView, all to fix a small tiny bug.

Not to hope that I can get a hold of the icon file from kunkel in the next 10 minutes  :D

N.A.N.Y. 2011 / Re: NANY 2011 :: The Event Closes
« on: January 01, 2011, 09:04 PM »
Apologies for being late!  NetLaunch 1.0 is now up. :Thmbsup:

Announce Your Software/Service/Product / Re: dot Net complaints
« on: November 03, 2010, 09:27 AM »
#3 - ugh. You're approaching things wrongly :) - exactly how to do things right depend on whole bunch of things, though. But in general, you'll want to bind your controls to objects (as opposed to string/int/whatever representations of individual properties) and use proper sorting: check out IComparable<T> and IComparer<T> interfaces. There's several ways to handle sorting, and there's more to it than just the sorting itself... for instance, it's often better practice to not sort your object data directly, but bind the GUI element to a filter/sort adapter that constructs the binding collection from it's source collection.

Please, offer me a better way to do it.  :D

Announce Your Software/Service/Product / Re: dot Net complaints
« on: November 02, 2010, 09:14 PM »
  • .NET doesn't get really interesting to program in before 3.0, which minimum OS requirement is XP-SP2. Some people are still using older OSes.

That sentence is 99% correct.
However, Mono comes to the rescue.  My windows 98 box (Windows 98SE, 256MB ram) is running several programs that equire .NET 3.0+. :D

I do have my own list of issues with .NET, but they are more about the C# language specifically:
  • System.Windows.Forms:  Why came up with the idea that data (Listboxes specifically [They're wonderful things, all things considered]) should be kept on the control, and not in a database somewhere.  And not only that,  said data is in a read-only collection.
  • Most Collections have no .sort() method.
  • The Following code snippet

public static void SortListView(ListView lv, int column)
  SortedList<int,ListViewItem> slist = new SortedList<int, ListViewItem>();
  foreach (ListViewItem i in lv.Items)
    slist.Add(int.Parse(i.SubItems[column].Text), i);
  foreach (ListViewItem i in slist.Values)

That's the easiest way to sort a listview, and even then, it's assuming the column contains an int.  (The application it's used in has all but the first column as ints, and I hardcoded a check appropriate to that.  The alternative was to pad the 'int's to three figures to keep it from going out of order.

DC Gamer Club / Re: Alien Swarm - another free game from Valve
« on: August 06, 2010, 01:20 PM »
Steam username: Silasary

N.A.N.Y. 2011 / Re: NANY 2011 Teaser: NetLaunch (Now with GUI!)
« on: August 06, 2010, 07:44 AM »
Cool.  I will check it out and try making a screencast of my trial if that is okay with you (since I am trying to learn how to screencast for the NANY project in general anyway  :Thmbsup:).  I will send you a copy of the screencast if it is sucessful.  Don't expect it right away, though.  I have a lot of work on my plate right now and will be out of town on business for two weeks - so it probably will be at least a month before I have anything to show.

BTW:  I will keep up with the updates as best I can, I just won't necessarily have anything to show for it before then.

Forgot to post this earlier, but Thanks  :Thmbsup:.  I'm very interested in seeing your results.

N.A.N.Y. 2011 / Re: NANY 2011 Teaser: NetLaunch (Now with GUI!)
« on: August 05, 2010, 09:33 AM »
I've just uploaded version 0.1.0 (You'll notice that's an entire 0.1 higher than previously :D)

New in this version
  • A GUI
  • the ability to add tasks
  • a few settings.
  • a completely horrible tray icon - something I just grabbed from my mydocs folder - just to check that the tray icon would work.
  • A bunch of buttons that do nothing.
  • The ability to manually update network status - No timed events yet.
  • Both timed checks, and a button to do manual checks.  Interval can be changed in the settings window - defaults at 60 seconds.
  • Four possible actions (Launch, Quit, Kill, Do Nothing) for each state (Up or Down)
  • Persistent Settings. "%localsettings%\Application Data\Kamahl\Netlaunch\Settings.xml" for those who wish to prod at it.

Now would be a good time to do a shout-out to those of you who are decent with the graphics side of things;  Could someone design a nice Icon for NetLaunch?  :)

EDIT: released a new version, which fixes most the errors that existed in 0.1.0.  Given that nobody has downloaded 0.1.0 yet, I just re-uploaded it, and didn't change the version number.

N.A.N.Y. 2011 / Re: NANY 2011 Teaser: NetLaunch
« on: August 02, 2010, 12:43 AM »
New version up.
0.0.1 Changelog:
  • Fixed bug where -d wasn't implemented.
  • Added functionality to allow launching with command line arguments.
  • Removed update functionality for now.  it will still work if you put dcuhelper.exe into the folder.
  • more behind the scenes work on the GUI
  • added --agent command line argument, for those who wish to see a nonfunctional interface.

Edit: Realized I didn't actually document the new features...
NetLaunch.exe -u program.exe [--arguments are -awesome!]

A redundant but useful command is this:  Netlaunch.exe -u Netlaunch.exe [--update]
Because I haven't put my network checks into the update code.

N.A.N.Y. 2011 / Re: NANY 2011 Teaser: NetLaunch
« on: July 15, 2010, 10:07 AM »
So, I switched to C#, rewrote the majority of the code, and published it. (Staying up for two days straight playing video games, then eating lots of sugar and staying up for a third night is apparently great for productivity :huh:)  I don't remember much of the recode, but it's done now.  And neater :-\

I have published version 0.0.0 It's the C# version, and is relatively untested.  Please give feedback - VPN and VM connections will probably still cause trouble, although I have blocked a total of 13 MAC prefixes, and the bluetooth adapter.  (if anyone actually uses bluetooth PAN for internet access, I'll add an option for it).

Oh, and method 2 is completely untouched at the moment.

General Software Discussion / Re: Synergy Plus
« on: July 14, 2010, 11:31 AM »
I'd been using Synergy for about 5 years, and switched to Synergy plus back in march.  However a couple months ago I switched to a nice program called Input Director  I have two major reasons to prefer it over Synergy.

1. Works better when I'm playing games.
How many people have opened a FPS only to find the mouse flying across the screen? Synergy has an aversion to certain DirectX APIs, which Input Director seems to work better with.

2. Switching between hosts. 
I have three machines I use with my synergy setup: Main Desktop, secondary desktop, netbook.  Given that the secondary desktop doesn't have any HID devices attached, changing the synergyc target is somewhat awkward. 
Input Director works Server -> Client, rather than the Client -> Server setup that synergy uses.  That means all I need to do to change hosts is click the "Enable as Master" button on my desktop, and "Enable as Slave" on the netbook. the Secondary doesn't care who the master is, as long as the master can ping it.

Has anyone else tried this alternative, and what are your opinions about it?

N.A.N.Y. 2011 / Re: NANY 2011 Pledge: NetLauncher
« on: July 09, 2010, 01:37 AM »
I was going to suggest method 1 default but use filters to identify only the currently used adapter.  I know I have 2 physical adapters and several virtual adapters on my laptop.  If I were to use version 1, which adapter would it bind to?

In my own situation, I use wifi on campus and wired at home (my house isn't wifi friendly).  As such, I've chosen to check all adaptors except the blacklisted ones.

Should you use both? Like use Method 1 and if necessary use Method 2 (say on Method 1 failures)?? Or have I got that wrong?
-Perry Mowbray (July 08, 2010, 04:08 AM)
It is very hard to identify what a failure is, as both possible values are valid.

May be that will be of some help as part of this venture...
Thanks, that is definitely useful.

N.A.N.Y. 2011 / Re: NANY 2011 Pledge: NetLauncher
« on: July 05, 2010, 10:20 AM »
Hey guys, I've got a question for you.

I've set up two different methods for identifying an 'active' network, both with pros and cons, and I'm wondering which should be default

Method 1: Adapter Status
Check the status of the computer's network interfaces.
  • Instantaneous
  • Uses no bandwidth
  • Fooled by VMware-like adapters (will create a adapter blacklist to combat this bug)
  • Fooled by down-the-line failures
Method 2: Ping
Send a ping to an online server
  • Not fooled by VMware or dead connections (see above)
  • Uses bandwidth (bad if on a 3G connection)
  • Fooled by honeypots (but then, so is the other method)
  • Relies on target server being alive (I'd go for something like the Google public DNS, as it has near-perfect uptime)
  • Will have minor (~10ms) latency

I plan on implementing both (Method 2 is done, and method 1 is 90% complete), however I would like your opinion on which to implement as the default method.
Once I get method 1 completed, I plan on releasing a command-line only build for public testing - This should be in a week or so.

N.A.N.Y. 2011 / NANY 2011 Release: NetLaunch
« on: June 06, 2010, 03:23 AM »
NANY 2011 Entry Information

Application Name NetLaunch
Version 1.0
Short Description Netlaunch is a program to launch applications based on Network status.   It functions in both Agent (GUI) and command-line form.
Supported OSes Windows (XP+)
Web Page None yet
Download Link * NetLaunch (461.49 kB - downloaded 2078 times.)
System Requirements
  • .NET Framework 4
  • Windows XP or higher
  • A network interface (preferably not always connected)
Version History
  • 16 July 2010 - PreAlpha: * (41.51 kB - downloaded 1338 times.)
  • 2 August 2010 - PreAlpha: * (42.96 kB - downloaded 1236 times.)
  • 6 August 2010  - Alpha: * (11.86 kB - downloaded 1247 times.)
  • 1st January - 1.0 Release! * NetLaunch (50.7 kB - downloaded 1327 times.)
Author Kamahl

NetLauncher is designed for use on a computer (probably a netbook), which is often going in and out of wireless access.

The idea is that NetLaunch will sit as a background agent, and check network status.  On status change, the program will launch/quit programs depending on user-defined rules.

Sample Configuration
Network activated:
  • Launch Pidgin
  • Launch Windows Live Sync
Network deactivated:
  • Kill Windows Live Sync process
  • Gracefully close pidgin
  • Prompt user whether to close Firefox

While this app will not be useful while sitting in a flaky wireless area, it is perfect for people who travel between areas with wi-fi, and those without wi-fi (or just none that you have access to :P).

  • Command-line arguments for once-off launch checking.
  • Agent mode

Planned Features
Per-interface rules (possible, not yet sure whether it's worth it.)


Extract zip into a folder.  Not much of an install process yet.

Using the Application
Using the Command-line Interface is best done with a shortcut, or FARR item.
NetLaunch.exe -u "C:\Program Files\pidgin\pidgin.exe" -u "C:\Program Files\Windows Live\SyncUX\wlsync.exe" -d pskill.exe [pidgin.exe] -d pskill [wlsync.exe]

Delete Files.

Known Issues
  • Can't launch apps with command line arguments, as NetLaunch eats them.
  • Still no GUI.
  • Cannot edit or delete tasks.
  • Adaptor Blacklist may be wrong in places.  If someone finds an adaptor that is incorrectly allowed/blocked, please tell me.

Original Post
NetLauncher is a piece of software I'm designing for use on a computer (probably a netbook), which is often going in and out of wireless access.

The idea is that NetLauncher will sit as a background agent, and check network status.  On status change, the program will launch/quit programs depending on user-defined rules.

Sample configuration (my netbook):
Network activated:
  • Launch Pidgin
  • Launch Windows Live Sync
Network deactivated:
  • Kill Windows Live Sync process
  • Gracefully close pidgin
  • Prompt user whether to close Firefox

While this app will not be useful while sitting in a flakey wireless area, it is perfect for people who travel between areas with wifi, and those without.

It will also have a command line interface, to allow users to run actions without the use of an agent.
IE: NetLaunch.exe -u "C:\Program Files\Pidgin\Pidgin.exe"
or: NetLaunch.exe -d "pskill.exe Pidgin.exe"

It will be a Windows-only application.

Pages: prev1 [2]