Jump to content

  • Log In with Google      Sign In   
  • Create Account


X-Shiryu

Member Since 11 Jul 2010
Offline Last Active Aug 21 2013 03:13 PM
-----

Topics I've Started

2D RPG C++ new version 08/21

29 July 2013 - 11:28 AM

Description: A simple 2D RPG game (untitled), currently developing the game engine and focusing on gameplay elements.
  • Top down turn-based RPG.
  • Pick a character class.
  • Character level increases: distribution of points between attributes.
  • Unique skills between character classes.
  • Generic abilities for any character class.
  • Quests: Main and Optional.
  • Achievements.
  • Equipment Slots: both hands, helm, armor, gloves, boots and accessories.
  • Affinity Equipment System: To build your gear. (not implemented).
Controls: Mouse (required) and Keyboard (shortcut keys to access menus).
 
Tools/Libraries: C++ (Microsoft Visual Studio 2012) | Boost | DirectX (June 2010 SDK) | FreeType | FreeImage | OpenAL | OGG | Vorbis.
 
Platforms: Windows.
 
Languages: English and Portuguese (native).
 
Links: If you want to test: My Google Drive Link (Just click on File >> Download (11 MB), not need to install!).
Any DLL error (ex: d3dx9_43.dll) you will need to install DirectX Redist (2 MB): DirectX Redist Minimal Package.
 
Contact:
Spoiler

 
Screenshots:
Spoiler

Doubt if I can post my project here

28 July 2013 - 12:25 PM

Hello everyone!
 
I am developing a RPG in C++ (alone) a while ago and as I have no skills to do graphics and even audio contents, so I'm using image files and audio from other games (most comes from the RPG Maker).

What I would know is: At least can I be posting the link to download here? If not what could I do?

Is not a commercial game.

What I would like is to have some feedback while I'm developing it.

Currently, I'm developing the game engine.
 
Some screenshots:

Spoiler

 
Sorry if I posted in the wrong place


[D3D9] Draw Filled Circle avoiding Triangle Fan

24 January 2013 - 02:25 AM

I'm implementing some controls for my GUI system, and now its time to do a RadioButton class, whereas I'll not using textures, but pure primitive shapes.

 

Its very simple: what I'll do is render a unfilled external circle and if RadioButton is clicked/checked, will be rendered a filled one inside.

 

Since Triangle Fan is marked as deprecated for D3D10+, can achieve it using Triangle Strips?

Model circle;
float position_x = 50;
float position_y = 350;

float radius_x = 30;
float radius_y = 30;

const int degrees = 360;
const float degrees_to_radians = 3.14159265f / 180.0f;

circle.ResizeVertices(degrees);

//Direct3D Triangle Strip
//circle.SetPrimitiveType(TriangleStrip);

//Direct3D Line Strip
circle.SetPrimitiveType(LineStrip);

circle.SetPrimitiveCount(circle.GetVertexTotal() - 1);

for (int i = 0; i < degrees; i++)
{
    const float rad = i * degrees_to_radians;

    circle.SetVertexPosition(i,position_x + (cos(rad) * radius_x),position_y + (sin(rad) * radius_y));

    circle.SetVertexColor(i,Color::Black);
}
 

Using LineStrip top result and TriangleStrip bottom result:

Untitled.png


Porting from Shader Effect FW to raw Vertex/Pixel Shader

12 January 2013 - 03:02 AM

Using Effect FW i could use methods to pass data to shader using a string as handle:

MyEffect->SetFloat("my_var",1.0f);

So what i doing now is:

call D3DCompile to fill my ID3DBlob with compiled data.

call CreateVertexShader to create it by passing ID3DBlob above.

and for Constant Table i call D3DXGetShaderConstantTable passing ID3DBlob above. Problem here: D3DX call.

 

Now that D3DX library is deprecated for next DirectX updates, can i still use ID3DXConstantTable and D3DXGetShaderConstantTable?

Because i can make the same code like above, working with string handles not with registers directly like this:

MyDevice->SetVertexShaderConstantF(0,1.0f,1);

Help about design a Render Class

02 June 2012 - 09:37 AM

I redesign some of my classes, and i thinking about:

Current implementation - no polymorphism, just a vector of void* and renderable object type (enum).
What i trying to do - Each renderable know about how renders itself, but implementing itself go to render class.

class Renderable
{
	 public:
	 	 virtual void Draw(Video& video) const = 0;	
};

class Sprite : public Renderable
{
	 public:
	 	 virtual void Draw(Video& video) const
	 	 {
	 	 	 video.Draw(*this);
	 	 }
};

class Shape: public Renderable
{
	 public:
	 	 virtual void Draw(Video& video) const
	 	 {
	 	 	 video.Draw(*this);
	 	 }
};

class Text: public Renderable
{
	 public:
	 	 virtual void Draw(Video& video) const
	 	 {
	 	 	 video.Draw(*this);
	 	 }
};

class Video
{
	 private:
	 	 vector<Renderable> renderables;

	 public:
		  void DrawAllObjects()
	 	 {
	 	 	 for (int i =0; i < this->renderables.size(); i++)
	 	 	 	 this->renderables[i].Draw(*this);
	 	 }

		  void Draw(Sprite& sprite)
		  {
	 	 	 //Specific Direct3D functions to draw a sprite
	 	 }

	 	 void Draw(Text& text)
		  {
	 	 	 //Specific Direct3D functions to draw a text
	 	 }

	 	 void Draw(Shape& shape)
		  {
	 	 	 //Specific Direct3D functions to draw a shape
	 	 }
}

At main we have something like this:
Video call DrawAllObjects
Sprite Draw
but now go back to Video Specific Draw Sprite implementation

This is good for my case?
Now Video knows Sprite and Sprite know Video

The problem is: where to put de implementation it self (calls of D3D functions)

PARTNERS