Jump to content

  • Log In with Google      Sign In   
  • Create Account

Squared'D's Journal

Auxnet: Battlegrounds Progress

Posted by , in Auxnet 07 April 2014 - - - - - - · 919 views
game programming
I've been making a lot of progress these days. I've just finished most of a major renovation (hopefully the last until release) of the graphics engine. Before I had limited each model to one set of textures (diffuse, normal, effects map), but by artist request, I've added the ability to use a second set for added customizability(not a real word, but should be). I've also added the ability to change the colors of models in the engine. This will allow characters to be able to choose there colors. This isn't new earth-shattering technology, but it's a big deal for me.

I'll be moving back to the US tomorrow. Hopefully I'll be able to force my way back into the job market. I guess if things don't work out, I can always move back to Korea, but I'm going to try my hardest at becoming a successful indie developer.

Posted Image

AI System Progress and Auxnet development

Posted by , in Auxnet, AI 27 March 2014 - - - - - - · 1,070 views
ai, auxnet
AI - Progress
Things have been going well on the AI front. I'm still hoping to have a strong enough foundation in a few weeks to be able to put my source code up on GitHub. It'll still be very early in the process, but I think I should have more than just a skeleton before I allow others to see the code.

I've been looking at various middleware SDKs, namely RakNet, NVidia PhysX, and AngelScript, just to get a feel of what makes a good SDK. I've decided for now to go the RakNet and AngelScript route and have all of my samples be console applications and not graphics applications. I still will make a 2D version of the sample, but it won't be an official part of the Root AI SDK.

Here's a screenshot of the console based example game. The AI system isn't being used yet so the AI bot just uses simple code to move left. Soon it will still just move left, but it'll be the AI engine telling it to do so.

Posted Image

Auxnet: Battlegrounds - Update
As for the game Auxnet: Battlegrounds, I just received the base animations from our 3D modeller so now I have the needed test data to start working on enhancing the animation system. I want to get a video of the new animation up soon.


Latest Updates 2013-12-20

Posted by , in Auxnet 19 December 2013 - - - - - - · 655 views

I've been doing a lot of things these days. After spending the past few years as a shut in hermit programmer, I've been trying to spread out and become more public. I've been teaching English for the past 6 years, but I'm hoping to get back into programming. I think increasing my reputation on the internet will help me in that endeavor so I've been trying to as active as possible and getting in touch with various online communities.

Write now, I'm starting to look at adding scripting to my game. I'm working on an experimental side engine to test things on apart from my main game. I've just downloaded the latest version of Angel Script to my computer. I want to see if I can use that to separate game specific code. I've been thinking about porting my experimental side engine over to Android. I think using a scripting language will allow me to further distance the game specific code from platform specific work.

What I've been working on:

STL-Style UTF-8 String Class now on GitHub - http://squaredprogramming.blogspot.kr/2013/12/utf8stringonGithub.html

Squared'D YouTube Channel - https://www.youtube.com/channel/UC-QAiqVnw6nVrFzW__fZeeA


Adding Attachment Models to Entities (with Video)

Posted by , in Auxnet 21 November 2013 - - - - - - · 1,068 views
skeletal animation, attachments and 5 more...
Adding Attachment Models to Entities

I've successfully added model attachments back into my 3D engine. I'm providing a video entry that gives some details about how I implemented it. Because all 3D engines are different, I only give show shader code, but I think the explanations are nice and clear. This is probably one of my most informative videos. If it gets a nice reception, maybe I'll make more. I really put a lot of effort in to this video. It's taken me a few days to complete. I actually wrote a script for it and planned how I'd put it together. Enjoy.

If you'd like information on creating a skeletal animation system, here are some links. In the Direct X SDK, there is a sample on this topic as well.

Here's a basic bone system that uses Open GL, but the concepts be used with Direct X

A wiki that explains what skeletal animation is.

An old discussion on Gamedev.net about implementing a bone animation system.

A basic Skeletal Animation Tutorial

Feel free to check out my Google plus page for updates and check out my YouTube channel.
Google+: Squared'D Game Google+ Page
YouTube: Squared'D Youtube Channel

Middleware and 3rd Party Libraries in Auxnet - Part 2 - PhysX

Posted by , in Auxnet 13 November 2013 - - - - - - · 1,237 views
nvidia, physx, game development and 4 more...
Middleware and 3rd Party Libraries in Auxnet - Part 2 - Phys X
Posted Image

It's been a couple of weeks since I've updated, but I want to continue writing about the different middleware and 3rd party libraries that I've been using. Now I'll give some information on how I use the popular physics library PhysX by Nvidia.

What is it?
PhysX is the physics library from Nvidia. It was made by Nvidia, but it works on non-Nvidia graphics cards. I use version 3 which doesn't require any additional drivers to be installed.

PhysX can be used for rigid body physics and collision detection. It has built in shapes that can be used such as boxes, spheres, and capsules. It also supports heightfields, convex hulls, and triangle meshes.

Why did I choose it?
I was in need of a nice collision detection system and this suited my needs nicely. At the time that I found out about this, I was just a hobbyist and was looking for a free solution (or at least something that would be free until I started to make money). I tried two other physics engines and felt the most comfortable with this one.

I also liked the Phys X 2 documentation. The documentation for version 2 is much more complete than PhysX 3, but after becoming familiar with 2.8, version 3 was not too difficult. If you don't have much experience, working with the Phys X 3 documentation may be a little difficult. Even I often have to study the example code to try to figure out what's going on sometimes.

How do I use it in the game / engine?
I currently only use PhysX for collision detection. My game engine has one major division in its objects based on class lifetimes. The first division is application level and the other is state level. Application level objects are classes that need to be alive from application start until the application dies, and state level objects live and die with a state. I also use a plugin system to add functionality that's similar to adding components in a component-based entity system. Because of this, I have two basic classes that I feel fit nicely with the way PhysX is organized, CPhysX3AppAddon and CPhysX3StateAddon.

This class is responsible for physics objects whose lifetimes are the same as the app and things that shouldn't be created and recreated. It includes the following:
physx::PxFoundation *m_Foundation;
// This should be created first to instance the higher level SDKs. As stated in the
// docs "Every PhysX module requires a PxFoundation instance to be available"

physx::PxPhysics *m_Physics;
// This is a factory class used for instancing objects in the Physics SDK.

physx::PxCooking *m_Cooking; // Only if needed
// This is used to preprocesses or cook raw data and turn it into a form that can be used by PhysX
The main job of this class is to take care of the scene. So it keeps an instance to a physx::PxScene *m_Scene object. All physics bodies should be associated with a scene. As stated in the docs, "a scene is a collection of bodies, particle systems and constraints which can interact. The scene simulates the behavior of these objects over time. Several scenes may exist at the same time, but each body, particle system or constraint is specific to a scene -- they may not be shared."

The engine uses component based entities. Physics components are registered with this class.

What are my future plans?
I hope to be able to do more things with PhysX in the future like being able to throw things and have them bounce in a realistic way. I also want to see what interesting effects I can achieve by adding things like forces and adjusting gravity. Code-wise, when it comes to the ever evolving design of this engine, I want to see if CPhysX3AppAddon is even necessary. Maybe it would be better to keep things together and create and destroy all Phys X objects with the state.

Squared'D on social media
These days, I've been trying to increase my internet presence. I'm on Google+ now, and I have a YouTube channel. If you'd also like to gain more exposure, let's subscribe and follow one another so we can pick up more followers. I think this could help some of us grow our brands. You can leave a comment below if you think this sounds like a good idea. I'll follow most games; however, I'm not into over the top violent and horror games.

Google+: Squared'D Game Google+ Page
YouTube: Squared'D Youtube Channel

Posted Image

Posted Image

Middleware and 3rd Party Libraries in Auxnet - Part 1 - Direct X

Posted by , in Project B, Auxnet 01 November 2013 - - - - - - · 873 views
auxnet, middle ware, middleware and 2 more...
Middleware and 3rd Party Libraries in Auxnet - Part 1 - Direct X

Making a game like Auxnet has been a very daunting and tiring task. I work on a team; however, I'm the only programmer. Making such a game alone wouldn't be possible unless I used various libraries and APIs. I guess it would be possible, but it would have tripled the amount of time spent. In this series of blog post, I'll examine some of the middleware that I used to create the game. I'll examine them by considering the following questions:
  • What is it?
  • How do I use it in the game / engine?
  • Why did I choose it?
  • What are my future plans?
I hope this will help anyone who is thinking about including middleware in their projects.

Direct X
What is it?
Quick disclaimer. In this post, when I say Direct X, I'm actually just refering to Direct 3D. Direct X is the Windows graphics API that I decided to use. Direct X provides an interface that allows me to use the various features of the graphics card. Using HLSL(High-Level Shader Language), it's possible to write per vertex and per pixel programs to create many interesting effects.

Why did I choose it?
I have intention of starting a Direct X / Open GL debate. I've honestly never used Open GL. I decided on Direct X because it was created by Microsoft, and the only platform that I currently support is Windows and with MSDN and all of the Direct X samples included with the Direct X SDK, it was easy to start with. At first, I only supported Direct X 9, but now the game/engine also supports Direct X 11. I've developed a multiplatform framework that I hope will allow me to expand to other operating systems and using Open GL in the future, but for now, I just want to finish the game so I'm sticking with Direct X until the game has been completed.

How do I use it in the game / engine?
I use Direct X for all of my rendering. I've written two frameworks that sit on top of Direct X. One is very high level and uses handles to refer to resources. The other is much closer to the API. This has been working well, but as I've been coding, I've been realizing the benefits of the higher level framework and am considering phasing out the lower-level API-like framework and just and work on making the higher-level version faster. The higher-level framework is built on top of the lower-level stuff so I feel like I'll be able to eliminate a lot of code the and make it faster by just have the higher-level framework directly access the API. I'll continue to experiment with this and make a final decision after this game has been completed. No more major engine changes unless they are 100 percent needed to complete the project.

I make extensive use of HLSL shaders and created my own material system that uses different shader techniques and texture maps to make various effects. Most surfaces use 3 textures--diffuse, normal, effects. The effects texture contains extra per-pixel information for things such as glow and specular. Models are rendered in order based on their shader and texture combination to reduce changing the texture. Translucent things are rendered in a second past using a z-sorted order.

What are my future plans?
There are quite a few graphical features that I'd love to add. I've been doing a lot of reading on deferred rendering systems and feel that I'd be able to get a lot of interesting lighting effects with it, but shadows are what's actually high on my todo list. I'd also like to add more support for other kinds of visual effects like electricity, smoke, and other particle effects.

Posted Image

To follow the project here on Gamedev, you can visit here https://www.gamedev.net/page/indie/project.html/_/action/auxnet-battlegrounds-r18
You can also follow the project on Youtube here: http://www.youtube.com/channel/UC-QAiqVnw6nVrFzW__fZeeA

Google+ Gallery: https://plus.google.com/112888538773179540556/posts/DAQhfYqUMyH

Auxnet:Battlegrounds 2013-10-25 Prealpha Video

Posted by , in Project B, Auxnet 24 October 2013 - - - - - - · 813 views
auxnet, project b
Here's a video of a character movie around an arena. The game is still early in it's development, but we've been making a lot of progress so far. A lot of the artwork that you see here is being refined and redone so we hope the final project will be really good.

Our team also has a new logo now. We will develop under Development Team Alpha Studios. How's the logo?

2013-10-22 Video Blog - Getting Organized

Posted by , in Project B, Auxnet 21 October 2013 - - - - - - · 1,269 views
game development, scheduling and 4 more...

The blog post have been coming out fast these days. This is a video blog that will detail the process that I use when deciding on programming task. I still have a lot of coding to do so I have found the organization is very important when I want to get things done in a reasonable amount of time. More specifically, I need to work on various gameplay elements. The game engine internals are by no means set, but they are at a good enough level for me to focus on gameplay. Later, I'll work on improving things such as the graphics.

I'm also including an Excel spreadsheet of the template that I use.

Also, don't forget to check out the Auxnet: Battlegrounds project page

Attached Files

Project B is now Auxnet: Battlegrounds

Posted by , in Project B, Auxnet 19 October 2013 - - - - - - · 960 views
auxnet, auxnet battlegrounds and 1 more...
I've been working a lot the past few days. Here's our new project page right here on Gamedev.net that will give more information about our game. I'm still coding so I'll give more information later.

Posted Image


Recent Comments

January 2017 »

151617 18 192021