Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 14 Oct 1999
Offline Last Active May 16 2016 10:12 PM

Posts I've Made

In Topic: Graphics API for Visual Studio 2015

09 October 2015 - 11:03 PM

Visual Studio 2015 included Nuget out of the box, and if you go to Tools | Extensions and Updates | Updates ... there is a link to update to the latest nuget package manager version as well (and updates for the SQL data tools, and TypeScript version 1.6 as well) ...


Visual Studio is project, solution and .net framework compatible with 2013 ... you can open and work on anything and everything that works in 2013 (as far as I know) ... except actual IDE extensions ... which are different ...


Visual Studio 2015 does have 1 really crazy bug I've found so far - if you set your options to keep tabs instead of spaces (which I do ...), then using "Go to Definition" into assemblies (that aren't your own projects) will fail ... really insane bug ... cause the roslyn based stuff just isn't quite 100% yet.  However the issue is expected to be corrected in update 1, along with a few others.


I use both the Community (home) and Enterprise (work) editions ... and other than that 1 insane bug, I haven't seen any reason to use 2012 or 2013 any more (still have 2010 for REALLY OLD projects).

In Topic: Can a lone indie dev do an open world like this?

21 May 2015 - 08:23 AM

First, rock on Norman ... passion and dedication are the key to doing anything great.


Second, go OP ... it doesn't hurt to dream big.


And I want to give thumbs up to the ideas that learning is always a good thing, even if what you thought you were learning for doesn't work out.


I absolutely love Norman's posts 2 main points about (1) tackling each thing in VERY small chunks ... cause it does no good to "work" for 2 years with no progress or fun.  and (2) for a real project you want to actually finish, identify and solve the basic shape of each and every piece before you actual start building anything.


They didn't build a space shuttle by designing a fuselage this year, and then a propulsion system next year, and life support after the fact.  They broke down the requirements that would apply the whole thing, then to each subsystem.  Then they looked at which ares are "solved" (a drop-in usable system such as the radio, tires or oxygen tanks), which ones were just work intensive (refining the shape of the wing, landing gear), and which ones required actual advancement and had risk (designing a propulsion system with high enough thrust to weight, the heat shield for reentry).  Then they made rough estimates on the whole, made sure the budget had a reasonable chance of success, and started work on the hard parts first (no point designing a wing, if you can't get it into space or keep it from burning up on reentry).  Also, besides risk, what they did and what you need to do is: tackle the part that affects the other parts the most.  You can also work on parts that are totally independent at your leisure (like characters, history, etc) - because this work won't get thrown away, even when you tech research gets abandoned as you adopt new technology.


But now I want to expand on a few related ideas.  You do NOT need to keep switching to cutting edge technology every year, if you do, you will never release anything.  However, you will probably need to plan to switch technology once or twice during a long project like this - because you will encounter cases where you just can't bear to keep working on something you know is crappy, when the shiny new thing is right in front of you.


And also, ongoing projects that last 6-20 years are fine ... but NOT projects that are in a no-fun useless "in development" state for that whole time.  Almost all of the interesting, or success, or enjoyable projects I've heard about that people have worked on for 10 plus years, are version 2, 3, 11 or 15 of something that only took 0.5 - 3 years to get to some "interesting" state.  Every one of these "lifelong" indie projects I've seen go anywhere started out with much much smaller scope, than it had after 5 - 10 years.  It doesn't work the other way.  You can't start with "I have to build a GTA V clone, but better.", you have to start with something either dramatically smaller (so you can actually do it), or dramatically better (so you can attract others along the way to help you), or dramatically different (cause the ability to release something like a AAA 2015 game in 2025 doesn't motivate people for long).


My personal recommendation is to see this as a journey with many many stepping stones along the way.  Don't start your 10 year game now, that will be very un-enjoyably in a few years and feel like failure.  Start something else, that will either teach you a part of what you need to build your big game, or that you can use to explore a part of your idea for your big game, or that is a fun vehicle to work on that same world/characters that your big game may eventually be built on top of.


This post is getting a little long so I'll leave you with this:  

(it's a video on the history of Bethesda Softwerks, but most importanting, watch up to a little past the 4 minute mark to see how, when the developers started work on what they wanted to work on, as they went on, it morphed into something else, eventually being very different than their original idea, and becoming the foundation for the Elder Scrolls series they've continued with to this day).


And this: http://www.illwinter.com/dom4/

Its a recent release from a very passionate small developer, whose been working with the same stuff for a decade, but not without releasing the earlier versions along the way.  If you back up to the home back, you will see a timeline of his releases from 2003 - 2014, mostly chronically the release of successive versions of his 2 games ('Dominions' and 'Conquest of Elysium' ... which are 2 related but different games built with the same technology, art and data).


Good luck and enjoy the future!

In Topic: Card game Class Structure

24 March 2015 - 10:27 AM

You can almost think of the whole design as one where you mainly use the "traditional" oo for the micro level concepts (effect types, visual effects, etc), but you use composition / data driven techniques heavily at the macro level (a specific card is mostly just a set of sets of those micro objects).

In Topic: Card game Class Structure

24 March 2015 - 10:25 AM

Agree with Acharis 100% .... but once you have graphics you will probably be making a "Lightning Ball" visual effect (like 1 method, and an entry in an enum/switch statement somewhere) ... that your data driven card(s) will reference if they want to use it.

In Topic: Card game Class Structure

24 March 2015 - 08:14 AM

The part I didn't say is that ... this is really just standard OO and polymorphism ... OO has always had factories and such ... people just think of it as "composition over inheiritance" because in 1 specific detail (the card's effects) you are composing a set of objects, instead of coding those compositions as a class ... but really this is just standard data driven OO ... no different than the way physics engines have worked since the dawn of time (A physical object is composed of a set of "parts" ... each combination is not coded manually as a separate class).


I think the reason people get confused is that OO classes all teach things wrong ... they talk about Animals with Dogs and Cats ... or Shapes with Square and Circle classes ... but that is a bad example, because it isn't based on what the computer is doing in a real world data-oriented way ... better examples would be something like a UI system that has Control, Button, TextBox ... where there is a very useful based behavior related to accepting input and knowing where you are on the screen ... but then the derived classes are actually different in their behavior ... and they have a valid logical reason to be aggregated ... I've never seen an "Animal" or "Shape" base class do anything useful ... not like a "Control" base class, which can support child control containment, etc.  Another good example might be an "Image" that has derived classes for a Bitmap (or similar) and another for a VectorDrawing ... (which in turn has a list of shapes).