Jump to content

  • Log In with Google      Sign In   
  • Create Account

bubbaray97

Member Since 02 Jan 2013
Offline Last Active Apr 22 2013 12:40 PM

Posts I've Made

In Topic: c++11 and VS2010 options

19 March 2013 - 06:27 PM

Thank you all for the suggestions.   I really do appreciate it.

 

A few responses...

 

@iMalc and @Stroppy Katamari....yes new laptop/getting Win7 on this laptop will be the plan most likely...doesn't help for this trip though...of course since its a little after midnight tonight and just wrapped up today's meetings that may not matter anyway...

 

@Stroppy and @ppodsiadly...I will checkout MinGW in general though...as I'm not using anything MS specific (at least not on purpose)

 

@eddie....yeah I was aware of that, but really didn't want to change all my code.   I considered using that as a macro in replace for what I wanted, but that just seemed ugly.

 

And lastly....@Stroppy....technically I have admin rights on my work laptop so I *could* install it without having to talk to IT, but considering I left development over 10 years ago as a profession it would be a challenge to explain to the company why that would be of value to them....but far more importantly...per my employee aggreement (which granted it easily challenged in court) anything done on company property becomes IP of the company and I'd rather not give them my game for free :)

 

So it seems like I'm left with...

1) Change IDE

2) Change my code (either LCD, or using function like eddie suggested)

3) Upgrade my "travel" system

 

Kinda what I thought (although to be honest I really hadn't considered the IDE swithc before, not sure why)....but thought it was worth the chcek.

 

Thank you all....


In Topic: Task and Timeline management tools?

07 March 2013 - 10:40 PM

Here you go....http://agilescout.com/best-agile-scrum-tools/

 

reviews of tons of tools...some free, some not  (I didn't read them, could be a fake site, but they at least listed a LOT of the tools out there)

 

We used to use xPlanner at my last startup (one of the free ones on the list)....worked fine when we were small, but outgrew it when the team hit around 50..probably outgrew it before then, but thats when it got painful and we switched.    Based on the screen shot on the review site though looks like its had some major changes...

 

The dev team (which I'm no longer part of) now uses Version1.    Its most certainly not free, but well we got acquired 6 years ago and now the company has 55,000 employees so that wasn't as much a concern anymore smile.png     They seem to really like it and it integrates with lots of our other systems.

 

Bear in mind this is for Enterprise software, not games...but wouldn't think that would matter for a tool like this


In Topic: Looking for a new browser

07 March 2013 - 07:36 PM

I agree with Kuramayoko10, I use FF for 99% of the time when I have a choice (my work machine has only IE and anything else is either blocked or auto-uninstalls).    

In the one other percent I use Opera for one aspect of a particluar online game because of the way it lets you set tabbing macros makes one aspect of that game soooo nice.


In Topic: Is my design "bad"?

06 March 2013 - 04:45 PM

Thanks I'll certainly check those links out.   And yes I'm using the factory pattern already for everything related to the GUI.

 

Why are you using maps the way you are?

 

The main reason was for improved random access.     For example there are LOTS of Units in the game.    But the unit is a fairly basic class.   It has stats about that particular unit, but all of its base charateristics (and special rules) are determined by what ShipClass it is.  And there are also lots of those.    The name if you will for a ShipClass is stored as a string (which is the key in its map) so I can quickly lookup the details about a unit's shipclass withouth having to traverse a vector looking for the shipclass which has a given name.    There are similar relationships say from Fleet to Unit, or Prov to MapCell...

 

I might have gone overboard here in that they don't all have to be maps (most of the others are pretty small datasets so traversing a vector probably wouldn't be a big deal performance-wise), but the unit to shipclass relationship is really what drove me down this path


In Topic: Is my design "bad"?

06 March 2013 - 03:49 PM

I'm sorry, it's really little information for us to work on. I'm really shooting blind.

 

yes sorry some details coming below...

 

You should rather have a few solid units than a large amount of units that are similar to the others.

 

Very true, but in this case I didn't design the game rules...its a boardgame I used to play back in high school and college (oh too many years ago smile.png).     and I don't have to tackle them all at once, just looking to make sure my design would let me get there eventually.   The game was sold as a series of modules which all expand on the core rule  set.    If you were to include all the modules you would get the stats I listed above.   And yes its very complicated totally nerd out kind of game
 
The game is Federation & Empire by a company called ADB (Amarillo Design Bureau  can be found at starfleetgames.com).     To be clear...I'm building this game for myself and I have no legal right to sell, distribute, etc anything related to the board game (and certainly not use the licenses they in turn have with Paramont Pictures).   I've just always liked the game and since I left professional development many years ago, this is my side project that reminds me I still have some idea how to code... I have no plans to ever let anyone else have a copy...but doesn't mean I don't want to do it right.

 

anyway onto details about my design

 

class CoreGame 
{
private:
/* various functions related to the startup of the game itself called by GameInit() below which I've removed to keep this shorter*/
	void ChangeGamePhase(int state, int newState);
	void AdvanceTurn();
	int GameYear;
	std::string GameSeason;
	int PlayerTurn;
	int GameTurn;
	int GameStep;

public:
	CoreGame();
	~CoreGame(void);
	void GameInit();
	void SetNextGamePhase(int &state, int newState);
	int getGameYear() { return GameYear; };
	std::string getGameSeason() { return GameSeason; };
	int getPlayerTurn() { return PlayerTurn;};
	int getGameTurn() { return GameTurn;};
	int getGameStep() { return GameStep;};

//this is my image resource manager class
	ResourceManager<ImageResource> RM_Images;
	
//pointers to the classes for various game states (again removed some to keep this shorter
	ECONSTEP* econstep;
	GAMEMAP *TheMap;
	PRODSTEP* prodstep;

	std::pair<int,int> ActiveObject;
	std::pair<int,int> LastActiveObject;

//all the various game objects
	std::map <std::string,SHIPCLASS> ShipClass;
	std::map<int,RACE> Race;
	std::map<int,PROV> Prov;
	std::map<int,PLANET> Planet;
	std::map<std::string,MAPCELL> MapCell;
	std::map<int,UNIT> Unit;
	std::map<int,FLEET> Fleet;
};

 

Then as an example here is the class for my econstep

 

class ECONSTEP 
{
private:
	std::map<int,ECONHIST> EconHist;   ///this is a object for holding some historical stats
	FlowLayout* flow;    ///the pointer to the root of the screen

	bool surveyStatus;   //various game logic flags
	bool tugStatus;

	void CalculateIncome();       //game logic for this step that happens without user input
	void InitEconStepControls();

protected:

public:
	ECONSTEP(void);
	~ECONSTEP(void);

	void InitEconScreen();     // generates the widgets that need to be on screen and sets up listners for input
	void InitEconStepScreen();
	void ConductSurvey();    //just one of the various logic steps which may happen as a result of user input
};

 

one last example....this is for one of the game objects themselves (a race)

 

class RACE
{
public:
	RACE(void);
	~RACE(void);

	std::string RaceName;
	std::string ShortName;
	int RaceID, iOffMapProvs, iOffMapMinor, iOffMapMajor, iOffMapSB, OrigOffMapProvs;
	int iCredits, iCommandPoints, iSurveyTotal, iSurveyShips;

//logic functions (in this cas related to econ
	int DetermineOnMapProvs();
	int DetermineOnMapMajor();
	int DetermineOnMapMinor();
	int DetermineCapitalMajor();
	int DetermineCapitalMinor();
	int DetermineCapturedProvs();
	int DetermineContestedProvs();

//these should be private, but haven't moved them yet
	std::multimap<int,std::string> ProdQueue;   //hold the allowed production for each turn
	int team,iEconStatus;
	std::map<std::string,int> mothballs;    //holds lilst os reserve units and count

};

I used those examples because they are all related.    But the question was asked about logic, you can see there is some above, but the really gory rules come in the ShipClass class. which I haven't needed to spend a ton of time on yet as the real differences come in how units move and fight and right now I'm building out most of the logisitical related aspects of the game (inital unit placement, econonmy, production, base maintence, that type of thing)


PARTNERS