Jump to content

  • Log In with Google      Sign In   
  • Create Account


zachprinz

Member Since 17 Aug 2013
Offline Last Active Jun 06 2014 08:23 PM

#5116700 Creating Sprite Sheets from 3D Pixel Models, Animated in Blender

Posted by zachprinz on 13 December 2013 - 10:13 AM

Last night around 4:00 am I had this crazy idea. I figured I would post here to see if there's any plausibility behind it. 

 

As a little background I've done a lot of programming on games, but never any art/modeling/animation.

I'm working on a solo project and need art for it. However the amount of sprites I would like in the game way too high. 

 

Currently I'm using the Universal LPC Sprite Sheets which you can check out here

https://github.com/makrohn/Universal-LPC-spritesheet

 

Those allow me to change the users look depending on what items are equiped, which I quite like.

 

The problem is that getting someone to do custom graphics for a game with that many sprite sheets is out of the question  (unless they would do it completely on rev share, lol.) I'm in college and have almost 0 budget.

 

Brainstorming for a solution I more or less decided the most plausible solution to this, in order to stress my (non-existent) artistic abilities as little as possible would be as follows;

 

- Use a program like Qubicle Constructor http://www.minddesk.com/ to create a 3d pixel model of a base character, along with pixel models of  base armor and weapons. (They even have it set up to "qubify" predone 3d models, so I could even buy models somewhere and do that.)

- Take the .obj that Qubicle Constructor exports and import it into blender. 

- Use something like rigify in blender to give the model a rig.

EDIT: I've found pre-rigged animations that you can simply import into blender. Ontop of that. It's very easy to qubify something in blender. So the above steps aren't really necessary.

- Create animations using that rig.

- Somewhere in here I need to make sure that I can easily add pieces of armor to this rig. Not like completely new pieces, but adding another shape of shield or something like that, and have the animations I've previously done still work nicely.

- Then do something like shown here http://www.polycount.com/forum/showpost.php?p=1615247&postcount=9 to export the animations to spritesheets.

(Here's the 3DS MAX Script http://www.geoffsamuel.com/Script_Files.php?proj=4 )

 

This way after I did the original animation for each armour piece, and base weapon type, I could add as many weapons and shapes as I wanted. The other benefits I see with this is being able to come up with much more advanced animations than sprite sheets usually have, and being able to create completely new animations rather easily.

 

If someone who had any background with animation/modeling could tell me if there are any obvious and unavoidable problems with that plan, I would appreciate it. That's all I'm looking for.

 

EDIT: After some research, this is actually a lot more common than I thought. 

 

The basic steps would be:

-Find 3d model with some animations.

-Use blender to "qubify" it.

-Set blender up to look how you want it to in the spritesheet.

-Export sequence to pngs

-Create spritesheet from pngs.

 

And I'm sure their is some way to set parts of a blender model transparent, so I can get sprite sheets or each individual armor piece.




#5086801 Correct way to implement a scripting language for game logic.

Posted by zachprinz on 17 August 2013 - 11:36 AM

I'm about to start scripting Lua for my current project. I'll be using Luabind to bind it to c++. But before I started scripting I wanted to make sure I understood how this is typically done, and what things it's typically done for. 

 

My understanding of it as it stands is that I will create a scripts folder in my project folder and put a few more folders in that specifying the type of scripts inside for organization. Inside those I'll make short .lua scripts for each type of enemy/item/etc. These scripts will contain a few methods like OnCreate() to set up the values of the c++ instance of "Enemy"

 

RPGProject
  --scripts
     --enemies
       --man.lua
       --goblin.lua
     --items
       --potion.lua
       --food.lua
 
When I start the game it will load the map (I'm using .tmx files for loading maps) and through reading the map it will find say an enemy on tile (16,12) with a name value of "man." It will create an instance of "Enemy.cpp" and in the constructor of "Enemy.cpp" it will take the name value and find "scripts/enemies/man.lua" and call the OnCreate() method of that .lua file which will set up the values that go along with the "man" enemy.
 
I also plan to have an Update() method that will keep track of AI and that particular enemies behavior. The Update() method will be called every time the enemy finished the last task provided by the Update() method.
 
I also plan to make similar scripts for abilities and actions/spells (like attacks or teleports) as well as quests (although those will be implemented fairly differently.)
 
I just want to make sure I'm on the right path with this as I haven't been able to find to many examples.
 
Thanks.



PARTNERS