Author Topic: LAN games with single serial key?  (Read 22742 times)

Offline T-Bone Biggins

  • Newbie Mark III
  • *
  • Posts: 36
LAN games with single serial key?
« on: June 03, 2009, 01:25:53 pm »
I wanna know if it's possible to play LAN games by installing a copy of AI War on my brother's PC using my serial on his computer. We're wanting to play just LAN over my wireless network to see how well the co-op part of AI War really works, which I'm betting is good anyway.

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: LAN games with single serial key?
« Reply #1 on: June 03, 2009, 02:10:23 pm »
It's technically possible to do -- we are not strict with the DRM, to make things easier for our customers.  However, it's also technically in violation of our license agreement, which basically asks that you only have one person playing the game at a time per license key.  I don't have the will or the intent to go after anyone for infringing this way, and there's no "phone home" capability in the game, nothing like that. 

It's basically the honor system.  We're hoping that people will do the right thing, given how small we are and how engaged we are with our community.  We set an attractive price and try to do right by our customers, and the hope is that they will also do right by us.  If Arcen Games is going to be around for the long haul, it's only going to be because of customer support.

The preferred way to check out the co-op is by using two copies of the trial version of the game -- that is fully multiplayer-capable, just limited to the first hour of play.  Whether you do that or test it out with a single key, if you like it I hope your brother will get his own license -- our games are a third the cost of most of our retail competitors, so it's not like buying two copies of a major AAA title or something!

Anyway, that's the scoop -- I went into that much detail because I'm sure other people will read this in the future, and I really don't want to encourage mass piracy just by telling people we are nice guys.  They say nice guys finish last, but I sure hope not!

I'll get off the soap box now. :) I hope you do get a chance to play some co-op, that's my favorite way to play the game.  My wife and I play 2-player, and I also have a weekly 4-player session with my alpha testers -- to me, that's the most fun thing about the game.  Hope you enjoy it, and thanks again for your support!
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline T-Bone Biggins

  • Newbie Mark III
  • *
  • Posts: 36
Re: LAN games with single serial key?
« Reply #2 on: June 03, 2009, 02:24:55 pm »
Well, I'm not condoning piracy. I just figured that a few of my favorite games have cd-checks for internet play but allow you to use a single copy for LAN games. Aliens vs Predator 2, UT2004, Quake Wars, Supreme Commander, and World in Conflict all allow for a single copy to play on LAN but not at the same time on internet, that's where the confusion came about.

A suggestion, maybe review your stance on LAN gaming, that's a bit of a sting to say it's frowned upon when friends and family have to buy their own copy. Granted AI War is at a good price, but making it against EULA to play LAN games kinda rubs me off in the wrong mood and I don't know why exactly..

EDIT: Well, I'm not alone. Apparently Steam has some complaints as well about Lan gaming. It just seems people got used to LAN gaming with one copy being ok in the 90's and now it appears not to be. I'll cope but I don't know about some of these people:

http://forums.steampowered.com/forums/showthread.php?t=769256
« Last Edit: June 03, 2009, 02:36:29 pm by T-Bone Biggins »

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: LAN games with single serial key?
« Reply #3 on: June 03, 2009, 02:58:28 pm »
Well, I'm not condoning piracy. I just figured that a few of my favorite games have cd-checks for internet play but allow you to use a single copy for LAN games. Aliens vs Predator 2, UT2004, Quake Wars, Supreme Commander, and World in Conflict all allow for a single copy to play on LAN but not at the same time on internet, that's where the confusion came about.

I definitely don't want to accuse you of anything!  That's not my point, I'm just making sure that no one else reading this thinks it is a free pass to pirate because we don't care, or we're so wealthy that we can make games for free or something (I wish).

As to your point about other games being okay to play on the LAN, I'm pretty sure it's against pretty much every EULA in a professional game, even those from the 90's.  The software might not prevent it, but was most likely always still a EULA breach.  Again, not that anyone's going to come after you, or that you or anybody else are a bad person if you do that, I'm just saying that I didn't design the AI War EULA to be difficult or something (kind of the opposite, actually). Our EULA is generally speaking a lot more relaxed than most, same as our DRM, since we really don't want to treat customers like criminals (they are not), and it doesn't stop the true pirates, anyway.

Here's clause 2 from SupCom's EULA, for example:

2.   THQ grants you a non-exclusive, non-transferable license to use one copy of the Software in the country in which you acquired the Software for your own personal, non-commercial use, but retains all property rights in the Software and all copies thereof.  All other rights are expressly reserved by THQ.  You may:  (i) use the Software on any supported computer configuration, provided the Software is used on only one (1) such computer; and (ii) permanently transfer the Software and its documentation to another user provided you retain no copies and the recipient agrees to the terms of this Agreement.  You may not transfer, distribute, rent, sub-license, or lease the Software or documentation, except as provided herein; or alter, modify, or adapt the Product or documentation, or any portions thereof.
 
A suggestion, maybe review your stance on LAN gaming, that's a bit of a sting to say it's frowned upon when friends and family have to buy their own copy. Granted AI War is at a good price, but making it against EULA to play LAN games kinda rubs me off in the wrong mood and I don't know why exactly..

EDIT: Well, I'm not alone. Apparently Steam has some complaints as well about Lan gaming. It just seems people got used to LAN gaming with one copy being ok in the 90's and now it appears not to be. I'll cope but I don't know about some of these people:

http://forums.steampowered.com/forums/showthread.php?t=769256

I know that people are not made of money, neither am I, and I don't intend to rip anyone off.  But the EULA is really quite friendly and standard, if we relaxed that even further then people would have recourse to just share the game with all their friends and not pay -- could a VPN service like Hamachi be construed as a LAN since the game detects it as such, for instance?  Again, the intent is not to gouge anyone -- we made the game $20 for a reason (I was kind of irked by having to buy two $60 copies of the NWM Platinum edition so that my wife and I could both play -- $120 is a lot of money for one game).  But at the same time, we believe that the game is really an incredible value as it stands, and the hope is that people will see fit to compensate us if they partake of that value.
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline T-Bone Biggins

  • Newbie Mark III
  • *
  • Posts: 36
Re: LAN games with single serial key?
« Reply #4 on: June 03, 2009, 04:15:31 pm »
Wow, you did some research on that one. Well I guess gamers have been accepting a EULA loophole that they can't reinforce for over a decade and now it's been closed. If it makes you feel any better I'm convincing my friend to buy the game so we can play on internet, and luckily even my crappy EEE704 laptop can run this. Combine performance with size, this is a good game on the go for strategy fans I just noticed. You need to advertise that AI War is portable and runs on poor hardware.

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: LAN games with single serial key?
« Reply #5 on: June 03, 2009, 04:25:57 pm »
Wow, you did some research on that one. Well I guess gamers have been accepting a EULA loophole that they can't reinforce for over a decade and now it's been closed. If it makes you feel any better I'm convincing my friend to buy the game so we can play on internet, and luckily even my crappy EEE704 laptop can run this. Combine performance with size, this is a good game on the go for strategy fans I just noticed. You need to advertise that AI War is portable and runs on poor hardware.

Awesome, thanks for your understanding (and your promotion efforts).  For SupCom, I still have that game installed on my PC so I just cracked open the file.  But piracy, etc, has been an interesting topic to me since I was a teenager, and I've made a habit of reading EULAs pretty carefully.  Don't ask me why, I honestly don't know.

EEE704 -- is that an ASUS EEE PC!?  I can't find much on google about it, can you post a link to information about the specs on that?  I'm really shocked that it would work well on there, unless the processor is 1.6 Ghz or more.  Also, what size of map were you playing on, and with what AI difficulty level?  With larger maps and stronger AI, the system requirements go up somewhat, as do the number of ships in the game -- same with having lots of people in multiplayer, although 2 makes very little difference (especially if the weaker machine is a client).

I'm really careful about not making false claims, though, so I will want to do more testing and more data before I lower the stated system requirements.  But this is a really interesting turn of events.  Version 1.004 added a pretty significant performance improvement, so I wonder if that is part of the change.  I'll have to do some testing on my old Thinkpad R40 (1.8Ghz celeron), and see if it now plays any better -- it used to be playable, but more laggy than I would have liked on difficulty 7 with 80 planet maps.

Thanks for the info, this is a pretty cool thing to all of a sudden find out. :)
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline T-Bone Biggins

  • Newbie Mark III
  • *
  • Posts: 36
Re: LAN games with single serial key?
« Reply #6 on: June 03, 2009, 04:47:50 pm »
Links:

http://en.wikipedia.org/wiki/ASUS_Eee_PC#Eee_700_series
http://reviews.cnet.com/laptops/asus-eee-pc-4g/4507-3121_7-32466960.html

Mine is the 4G Surf without the webcam. They are also known as EEE 704 laptops. I Don't use mine too much though, it's SSD is starting to die and I'm reluctant to do much on it anymore so I gave it a "what the hell try it" run with AI War. It ran a bit slow, but most people overclock their CPUs to the full 900MHz. Stock is 500MHz to save battery juice and keep it cooler, and I did a small OC to 550MHz without any real difference. The kicker is the SSD. AI War is small enough to fit on the 4GB SSD, which has about 3GB of the OS used on there, stripped down of course. The resolution scaled proper, 704's have the odd 800x480 resolution and I couldn't tell anything real detrimental to looks other than the tiny screen. I'm removing the game though, sadly because gameplay was a tad slow and tedious with the little touchpad, but it worked. I'm reluctant to post that EEE 704 as a new minimum spec to be honest. I only played 20 minutes so there wasn't too many ships on there and as I said in the last post, it ran the game in the literal sense, it just wasn't doing too hot. I was just throwing out there that a crappy laptop can play it if a fan is dedicated enough.

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: LAN games with single serial key?
« Reply #7 on: June 03, 2009, 04:52:40 pm »
Links:

http://en.wikipedia.org/wiki/ASUS_Eee_PC#Eee_700_series
http://reviews.cnet.com/laptops/asus-eee-pc-4g/4507-3121_7-32466960.html

Mine is the 4G Surf without the webcam. They are also known as EEE 704 laptops. I Don't use mine too much though, it's SSD is starting to die and I'm reluctant to do much on it anymore so I gave it a "what the hell try it" run with AI War. It ran a bit slow, but most people overclock their CPUs to the full 900MHz. Stock is 500MHz to save battery juice and keep it cooler, and I did a small OC to 550MHz without any real difference. The kicker is the SSD. AI War is small enough to fit on the 4GB SSD, which has about 3GB of the OS used on there, stripped down of course. The resolution scaled proper, 704's have the odd 800x480 resolution and I couldn't tell anything real detrimental to looks other than the tiny screen. I'm removing the game though, sadly because gameplay was a tad slow and tedious with the little touchpad, but it worked. I'm reluctant to post that EEE 704 as a new minimum spec to be honest. I only played 20 minutes so there wasn't too many ships on there and as I said in the last post, it ran the game in the literal sense, it just wasn't doing too hot. I was just throwing out there that a crappy laptop can play it if a fan is dedicated enough.

Haha, okay, gotcha -- thanks for the added info.  That's way better than I would have expected from an EEE PC, anyway.  Although I am surprised that the game launched at all, since it's not supposed to support anything smaller than 1024x768.  Hmm.  Oh well, if it works, at least sort of, then I won't worry about it.  It's not all the time that one hears that a PC with under 1/4 the stated required CPU can run one's game in some fashion, so that's still cool.  Never would have guessed that would be anything more than a slideshow.
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: LAN games with single serial key?
« Reply #8 on: June 04, 2009, 05:03:31 pm »
Chris,

On LAN licensing policies, I would like to add Stardock's example with GalCiv :

http://forums.stardock.com/143463/page/1/#1259848

"GalCiv I, GalCiv II, and Dark Avatar do not require discs in to play. You are also permitted to install on two computers at once if you own them both."

So it's not really a question of "how are you connecting the computers" (e.g. LAN, Hamachi) but "do you own both computers?".  Also, 2 != infinite.

By the way, AI Wars is a very impressive game, and from a software engineer's standpoint I'm pleased to know you wrote it in C#; C++ still dominates and C# feels so much nicer to me ;)

Thanks,
Keith
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: LAN games with single serial key?
« Reply #9 on: June 04, 2009, 05:11:35 pm »
Chris,

On LAN licensing policies, I would like to add Stardock's example with GalCiv :

http://forums.stardock.com/143463/page/1/#1259848

"GalCiv I, GalCiv II, and Dark Avatar do not require discs in to play. You are also permitted to install on two computers at once if you own them both."

So it's not really a question of "how are you connecting the computers" (e.g. LAN, Hamachi) but "do you own both computers?".  Also, 2 != infinite.

Oh, sure -- I really don't care how many computers you install it on, there are plenty of other EULAs that are okay with multiple installs, and ours are, too.  Installing it on a work machine, home machine, and laptop or whatever can be helpful with software (though be careful with the work machine!).  Unlike THQ, and the same as Stardock, I don't expect you to uninstall it off of the first computer every time you install it on a new computer.

However, just because Stardock (and us) are allowing multiple installs simultaneously is not the same as saying it is okay to use both copies at the same time with different people.  It's assumed that if you install it on multiple machines, it's still being used by only one person at a time.  I haven't read Stardock's stuff in depth, but that's the common rule.  Again, this was another way in which we were trying to be on the more flexible end of things without giving away the farm.

By the way, AI Wars is a very impressive game, and from a software engineer's standpoint I'm pleased to know you wrote it in C#; C++ still dominates and C# feels so much nicer to me ;)

I'm with you on C#, I really can't stand C++ either.  I commonly work in about four languages, and am proficient in around a dozen, and none of them is C++.  Something about it just really rubs me the wrong way.  It's funny, when I was first getting into game programming in C# back in 2003 or so, I had first written part of a game in C++, then got frustrated by how much code it took to do something stupid (adding a key to the registry, I think).  It was around 800 lines in C++ if I recall, and 2 lines in C#.  I was sold on C# for games for that point on. :)

I think that C# can be just as efficient as C++ for most purposes, but the most common problem is people not optimizing and profiling their code properly.  Optimizing for C# is pretty different from what you would do in C++, from what I can tell.

Anyway, thanks for your kind words, and for your stopping by!
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: LAN games with single serial key?
« Reply #10 on: June 04, 2009, 08:04:51 pm »
Quote
However, just because Stardock (and us) are allowing multiple installs simultaneously is not the same as saying it is okay to use both copies at the same time with different people.

I was refraining from hunting up more specific examples, but you leave me no choice ;)

http://forums.sinsofasolarempire.com/172889

"You only get 1 serial number per copy of the game.  We've made it so that if you're running a home LAN that your serial can spawn a second instance of the game, but it won't work for Internet play."

More specifically from that thread, someone asked about Hamachi and the rep said *that* would not be ok.  Enforceable? Not so much, but the point was that they were ok with 2 players using the same serial on a true LAN and not ok with a VPN-LAN like Hamachi.

None of this, of course, has any direct impact on how you choose to license your games, I just wanted to point out that there is precedent.  An older precendent would be some of Blizzard's titles like Starcraft where you could have two extra people playing "spawned" in the same game on one paid copy.  So 1 paid copy = max of 3 players in the game, 2 paid copies = max of 6.  A paid copy had to host.

Did these practices help the sales of Starcraft and/or SoaSE?  I'm not competent to answer that question, but I wouldn't be surprised if there was some marginal gain both from people "converted" by friends with paid copies and from people who are much more likely to buy a game if they can play it with their family but aren't necessarily willing to pay double for that ability (e.g. me).

Anyway, sorry to beat the horse, I'm pretty sure it died in the middle somewhere.

I think we feel very similar about C++.  It's a cool language, with preposterous amounts of power, but it just doesn't feel right.  I think a key thing is having to manage memory addresses, just doesn't sit well with me having to treat "normal" and pointer variables so differently.  I much prefer Java/C#'s way of handling value and reference types, there's a distinction but it doesn't require significantly different syntax.  Then there's the actual memory management but that's another topic...

Out of curiosity, did your attitude about C++ take shape before or after the bulk of your ERP type experience?  I'm a web/database programmer myself and write budget systems and whatnot, and I think it's really molded me into craving languages that let me worry about data models, business logic, and more conceptual stuff without bothering much about the particulars of memory and whatnot.

Thanks,
Keith
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: LAN games with single serial key?
« Reply #11 on: June 04, 2009, 09:05:18 pm »
I was refraining from hunting up more specific examples, but you leave me no choice ;)

http://forums.sinsofasolarempire.com/172889

"You only get 1 serial number per copy of the game.  We've made it so that if you're running a home LAN that your serial can spawn a second instance of the game, but it won't work for Internet play."

Gotcha, that's very interesting -- I've never seen anything like that before. :)  Those guys are very progressive over there at Stardock.  But they seem to mostly be using that as a hook to get the secondary player to want to go online to play (since their servers have the limitation).  We don't have any such hook, so we'd just be giving away 50% of our products for free.  Maybe if we were the size of Stardock we could do that, but right now we need all the player support we can get if we are going to make a go of it.  I don't think it's too much to ask that people actually buy the game that they play, given the amount of work that went into it, the low cost, and the high replay value and ongoing free content.

If everybody decides to pirate the game, or just avoid purchasing it by playing off a friend's serial, then this isn't a viable business.  I won't be able to keep it up for more than a year, and then I'll have to just do something else where people value the things I produce.  I'm not trying to be a smartass there, it's just the reality of the situation.  Arcen Games has no money except what I pull out of my own back pocket, or what players decide is worth spending on our products.  Same as with any other indie developer (that's the nature of being indie). 

If I'm ever rich and famous off all the player support, I'll probably treat that issue differently -- it's good to give back to the community that builds you up.  Right now the way I can do that is with ongoing free DLC for the players who decide to buy the game, as well as with really listening to and integrating their feedback so that everyone gets the game they really want.  Those are the tools I have, and so that's what I'm using; 50% discounts is not a valid tool for me at the present time.

More specifically from that thread, someone asked about Hamachi and the rep said *that* would not be ok.  Enforceable? Not so much, but the point was that they were ok with 2 players using the same serial on a true LAN and not ok with a VPN-LAN like Hamachi.

None of this, of course, has any direct impact on how you choose to license your games, I just wanted to point out that there is precedent.  An older precendent would be some of Blizzard's titles like Starcraft where you could have two extra people playing "spawned" in the same game on one paid copy.  So 1 paid copy = max of 3 players in the game, 2 paid copies = max of 6.  A paid copy had to host.

Ah, I see -- that must be part of where the idea of multiple people playing on one copy came from.  Starcraft is so incredibly popular, but that was one I never played (I went from Warcraft II into the AoE franchise).  So there definitely is precedent then, I thank you for letting me know -- I had no idea anyone was doing that, it's certainly not common with the EULAs I have read for the games I play.  But, there are so many games out there.

Did these practices help the sales of Starcraft and/or SoaSE?  I'm not competent to answer that question, but I wouldn't be surprised if there was some marginal gain both from people "converted" by friends with paid copies and from people who are much more likely to buy a game if they can play it with their family but aren't necessarily willing to pay double for that ability (e.g. me).

Sure, word of mouth is incredibly important.  I'm really hoping for good word of mouth with AI War (so far so good), and that's why I put so much content into the demo with regard to being able to try out almost all the features.  The main thing, for me personally anyway, is that's it's sort of apples and oranges with Starcraft and any indie game.  Blizzard already had so much money from past efforts that they could afford to experiment, and they also had the benefit of a huge amount of marketing and promotion.  They can absorb losses, not that I'm suggesting they necessarily should have to -- but they have the ability to choose to do so.

I don't mean to get fired up, hopefully none of that came across too strongly, but it's a very tough situation for an independent developer.  I'm really happy with the way AI War turned out, and player reception has been awesome and sales are consistent, which is great, but we've not yet hit the point where there is enough exposure to the game to cover the cost of developing AI War, let alone anything new.  We're busily working away on AI War and other projects though, trusting that since it's a legitimately good game people will play the demo, buy a license if they want it, and help us spread the word if they like it that much. 

It's kind of a simple business model.  We don't gouge people with ongoing costs, we don't have advertising on the website or in the game, and we don't try to "monetize" all the DLC and nickle-and-dime our existing customers.  We'll live or die by people playing the demo, or playing a friend's copy I suppose, and choosing (or not) to buy the game for themselves.

As of a couple of days ago the game is already up on the pirate bay and isohunt, so clearly there are a number of people who like it well enough to steal it but not enough to buy it.  There's no way to stop those people, and I don't want to hurt real customers by trying to.  Hence the lack of DRM, low price, etc.  We probably could have sold the game for $30, and it's still a bargain compared to the $60 games out there.  But I didn't want to do that, because I felt like it would hurt the social aspect of being able to play the game with friends and family. 

If I doubled the price but said that every copy could be used for two players, then I'm just gouging the people who only buy it for their own personal use -- they are then paying double for no extra benefit.  I figured the simplest, fairest way to handle it was just to license it per active user.  If you have five people that all play your game with one license, that's fine with me and not against our EULA, just so long as they don't all do it at once.

Anyway, sorry to beat the horse, I'm pretty sure it died in the middle somewhere.

Yeah, that's okay, you set me back on my horse too, and I think it also died. But I'm glad you brought up the examples you did, because those were new to me and that's good information for me to have.  And you raise some excellent points -- with future games, if things are taking off, I might do things differently.  This was a good conversation to have.  (And if there's more, let me have it.)

I think we feel very similar about C++.  It's a cool language, with preposterous amounts of power, but it just doesn't feel right.  I think a key thing is having to manage memory addresses, just doesn't sit well with me having to treat "normal" and pointer variables so differently.  I much prefer Java/C#'s way of handling value and reference types, there's a distinction but it doesn't require significantly different syntax.  Then there's the actual memory management but that's another topic...

Yep -- and, when need be, you can manage pointers and memory very directly in C#.  Especially for stuff like dynamic in-memory file handling, things like MemoryStream or even just byte arrays are awesome.  I think that in some of the base .NET classes the IDisposable interface is used to excess, but that's just because of all the underlying native/COM code that is behind the scenes there.  When working with databases, for example, I tend to prefer to write my own version of the DataSet class, populate it, and then sever the connection immediately.  That way my later code doesn't have to remember to dispose the custom dataset, and if there is an unhandled exception there's not a risk of a connection hanging open or something.  Except in a few cases of limited usage, I feel kind of the same way about IDisposable that I do about C++ memory management:  it's a little to easy to shoot yourself in the foot with that.

Speaking of memory management, you might find this an interesting tip on working with the garbage collector in a game in C#:  reuse your objects as much as you can, to prevent a garbage collection hiccup in gameplay every ~2 minutes or so.  That was something I learned with AI War in particular just because of the massive number of objects and often temporary objects (shots, explosions, etc) that are constantly cropping up and then being discarded.  At first the garbage collector was a periodic problem, but by using hashtables to keep a store of "available" shots and explosions, I can recycle those memory objects and thus never trigger the garbage collector (at least not on that scale so that it causes lag, anyway).  I thought that was kind of an interesting discovery, and is part of what I mean when I say that optimization is a bit different in C# than in C++.  Seems like your average C++ programmer never thinks of that, they just throw up their hands in disgust at the gc, then go back to their preferred programming language.  Their prerogative, I guess; I do basically the same thing with their language.

Out of curiosity, did your attitude about C++ take shape before or after the bulk of your ERP type experience?  I'm a web/database programmer myself and write budget systems and whatnot, and I think it's really molded me into craving languages that let me worry about data models, business logic, and more conceptual stuff without bothering much about the particulars of memory and whatnot.

Hmm, I guess it was all kind of simultaneous.  As a kid, the only real language I worked in was QBASIC, but I never really liked that.  All the explicit line numbers (if you've seen what I'm talking about) seemed really brittle to me.  Then I was just an HTML/Javascript scripter for a long time, until in college I got into Java and 8086 ASM, which I really liked except for the strangeness of some of the window and display classes in Java.  And it bugged me how noticeably slow Java was.  When I first saw C# it was basically introduced to me as just the "Microsoft's version of Java," and for a while that's all I saw it as.  A lot of Microsoft's ASP.NET classes are not the fastest, so I saw little practical difference.  I guess it was when I started getting into higher-performance stuff and optimizations that I really found the power there, and then when I tried to get more into C++ it was like "why would I do this when there's already something easier with basically this same power?"  If I had had more experience with C++ first, my attitude might have been different.

I wrote some scanner software at once point in C#, interfacing with TWAIN drivers with p/invoke.  That was a real eye opener for me, too, and really helped cement the idea that the language/platform could do basically anything.  I guess I do gravitate to languages that are expressive and straightforward, but which have a lot of depth -- TSQL, Javascript, Actionscript, and C# are really my favorites.  I also like PHP pretty well, but Ruby on Rails never did it for me because I felt like it was guiding me too much and not giving me the freedom to do what I really wanted.  That was sure a long-winded answer to your question!  Anyway, I think we are pretty much thinking along the same lines there, anyway.

If you ever want to shoot the breeze about game programming design or methods, let me know!

Chris
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: LAN games with single serial key?
« Reply #12 on: June 04, 2009, 09:54:37 pm »
Chris,

Yea, since you only charge $20 it's already a different business model than Starcraft or SoaSE.  The trial should be enough for getting friends hooked, and the marginal increase in such sales of a limited 2-for-1 would probably not outweigh the marginal loss.

Quote
when need be, you can manage pointers and memory very directly in C#
True, and they even have the honesty to require you to use a directive called "unsafe" :)

Thanks for the tip on object pooling, I've heard similarly from some of my game-dev friends, like one guy writing a platformer (in C#) for the XBox.  Lots of folks ran into some serious memory management performance problems when writing C# for the XBox because they were used to just using "new" wherever it felt natural.  The console platform wasn't amused.  Even in database programming it's often advantageous to pool expensive resources like db-connections, so it's a pattern worth knowing.

I remember working in QBASIC for a while, modding the gorilla game a bit but nothing much serious.  Line numbers are more than brittle, they're insane ;)  I like how in Java "goto" is both a reserved word and a syntax error.  At the assembly level it makes more sense since it really is just a list of instructions.  I helped my Dad once with some PIC assembler when he was incorporating a GPS location-stamp onto some police-car-vcr controlling software/firmware.  I prefer higher level languages, but it was interesting.

Quote
A lot of Microsoft's ASP.NET classes are not the fastest
No, no they aren't.  At work we're migrating from ColdFusion to .NET for our web application layer, and the framework I'm writing pretty much completely bypasses the normal ASP.NET way of doing things.  We might move to the ASP MVC framework later (our custom coldfusion framework is more or less MVC), but I'm still a bit skeptical of the overhead.  At points I've been pretty close to writing my own web-app-layer in C# and not using ASP.NET at all, but both my remaining sanity and the response I'd expect from our systems team hold me in check ;)

Quote
If you ever want to shoot the breeze about game programming design or methods, let me know!
Sure, I have a few hobby game projects going in addition to the work-work.  Sorry for derailing the thread ;)

Thanks,
Keith
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: LAN games with single serial key?
« Reply #13 on: June 04, 2009, 09:59:24 pm »
Oh, an actual on-topic thought: maybe sell 2-license packs for $35? $30?  3-license packs for $50, etc.  I have no idea what numbers would work with your profit margins or if it's too much of a pain to administer, just a thought.
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: LAN games with single serial key?
« Reply #14 on: June 04, 2009, 10:10:47 pm »
Oh, an actual on-topic thought: maybe sell 2-license packs for $35? $30?  3-license packs for $50, etc.  I have no idea what numbers would work with your profit margins or if it's too much of a pain to administer, just a thought.

If there's demand there, might do that later.  But our pricing at $20 was intended to be the in-advance license pack.  I think our ecommerce partner will let us do volume licensing because they are for software in general, but our other distributors -- Impulse, plus any others down the line -- probably can't do that with their systems since a game is not usually licensed that way.  And distributors generally reserve the right to match any deals on software being sold at a discount elsewhere, so that would basically mean they would have to sell even the first copy for less just because essentially that would be the only equivalent "sale" compared to our discount.

A lot of this digital distribution stuff is pretty new for games, and for the moment it's all just aping the brick and mortar stores.  I imagine that more creative licensing models, like what you are describing, might have a chance to become the norm in the next 5-10 years, though.
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!