• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Indie Game Development Discussion Thread | Of Being Professionally Poor

Status
Not open for further replies.

JulianImp

Member
I've begun working on my multiplayer roguelike attempt. So far I've only managed to get the screen to be pixel-pefect, but at least it's a start.

What I'm still trying to work out is how I'll use my texture atlas to draw tiles, and how in the world I'll manage to do that without using up a draw call per tile (!). Unity's CombineChildren component sadly only works as long as all the objects use a single material, but changing each tile's individual texture offset appears to create a separate instance of the material, therefore making CombineChildren do nothing, as no two tiles share the same material instance.

Having a material for each tile would probably be awful as well, but if I change an object's texture offset to the tile I want to use, it changes all tiles as well.

I've researched about a way to batch objects together using MaterialPropertyBlock and drawing stuff by hand using Graphics.DrawMesh (but I'm not sure if that'll work with Unity free), or perhaps figuring out how CombineChildren works and creating a custom implementation from scratch.

The main issue is how Unity splits the material whenever I change an object's material properties during runtime... I mean, how do all those asset packages manage to draw all tiles using a single draw call, other than using pro-only features?I'm stumped, but it's fun to feel that way once again! I only hope I don't spend too much time working on this one thing, though, because I have yet to begin working on the game proper.

Besides this issue, I've been refining the game concept a little bit more:
  • All game actions will require minimal input, so as to be bufferable as soon as possible
  • Due to this rule, there should be no item, magic or attack selection menus

After coming up with that, I've somewhat settled on the actions mapped to each button:
  • Attack button (can be directed)
  • Magic button (can be directed or cast on oneself)
  • Item button (can be directed)
  • Pick up/use button (either requires being on top of the object or next to it, I'm not sure)

Simplified down to the bare essentials, players would be restricted to a single weapon, spell and item at a time, so they'd have to choose wisely whether they want to keep using a long-range lance or an arc-hitting sword, or between an offensive fireball spell or a defensive healing one, for example. Dropping stuff would probably be restricted to swapping what you have on you with something that's lying on the ground, mostly to avoid using a "Drop what?" menu.

However, I've found an issue with movement: if moving a single tile and attacking both take up a whole action, then there'd be little to no incentive to move away, and would probably make it really hard to outrun an enemy. Possible solutions could be having players move multiple tiles at once (as in Advance Wars games) or having movement actions spend a fraction of the action bar, so players can do something else slightly earlier after moving.

Then there's the player stats... I'm not sure if I'll be using equipment to upgrade the players' stats, have stat up potions or a more classic level-up system. If I end up using experience and levels, I'd like to let the player choose which stat to upgrade using the four face buttons, but that'd restrict me to using just four stats for simplicity's sake. I'd probably need a stat to govern action speed (agility), MP (intelligence), magic damage (intelligence as well?), HP (constitution) and strength (constitution as well?). That'd leave the fourth stat slot open, though, and I'm not sure what to fit in there.
 

AlexM

Member
Interesting, I would have thought unity would handle draw call optimization internally. I didn't realize it was up to the user.

Doh, playmaker ;) Visual scripting tool for Unity.

Interesting. I am a bit averse to visual programming tools though.
 

charsace

Member
Another Sprite test.
e89DR.png
 

JulianImp

Member
Another Sprite test.
e89DR.png

The only things that stand out as odd are the hair (it's a bit too straight), and the left arm (it stretches in an odd way).

Still, those are minor issues, and the sprite overall looks great. You could make do with four colors, though (orange + shadow, skin and blue-ish).


Interesting, I would have thought unity would handle draw call optimization internally. I didn't realize it was up to the user.

I think Unity Pro does that, but the thing is by manually changing each tile's offset values Unity recognizes each othe them as an individual object to be rendered, therefore clogging up the rendering pipeline with hundreds of draw calls at once where there should've been a couple at worst (one per tile type), and a single one at best.
 

charsace

Member
The only things that stand out as odd are the hair (it's a bit too straight), and the left arm (it stretches in an odd way).

Still, those are minor issues, and the sprite overall looks great. You could make do with four colors, though (orange + shadow, skin and blue-ish).




I think Unity Pro does that, but the thing is by manually changing each tile's offset values Unity recognizes each othe them as an individual object to be rendered, therefore clogging up the rendering pipeline with hundreds of draw calls at once where there should've been a couple at worst (one per tile type), and a single one at best.

Completed another version of the sprite before I read this. I will take your advice though. Here it is:

zDIJy.png


The thing with the Hair is that when add more of it, it looks weird. And when I'm zoomed in, colors look different. I guess it isn't noticeable when it isn't zoomed in.
 

qq more

Member
Completed another version of the sprite before I read this. I will take your advice though. Here it is:

zDIJy.png


The thing with the Hair is that when add more of it, it looks weird. And when I'm zoomed in, colors look different. I guess it isn't noticeable when it isn't zoomed in.

Looks a lot better.
 

charsace

Member
I did a recolor that has more contrast:
o76xX.png

Two more edits:

23Cn2.png


A futuristic one:
nkvPa.png


Don't know where I will take the art style for the platformer. It will either take place in the prehistoric period or in the far future.
 

JulianImp

Member
So, I finally found a way to tile a material without instancing it!

After searching for quite a while, I stumbled upon Unity's Mesh.uv property, and this bit of code inside their documentation:

Code:
using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
    void Start() {
        Mesh mesh = GetComponent<MeshFilter>().mesh;
        Vector3[] vertices = mesh.vertices;
        Vector2[] uvs = new Vector2[vertices.Length];
        int i = 0;
        while (i < uvs.Length) {
            uvs[i] = new Vector2(vertices[i].x, vertices[i].z);
            i++;
        }
        mesh.uv = uvs;
    }
}

So, I was supposed to manually change each mesh's UVs rather than the material's offset... the result was:

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

Code:
public class PruebaAtlas : MonoBehaviour {
	
	[SerializeField] private int indiceX; //A tile instance's column valur
	[SerializeField] private int indiceY; //A tile instance's row value
	
//	public bool logs = false;
	
	private void Start() {
        Mesh mesh = GetComponent<MeshFilter>().mesh;
        Vector3[] vertices = mesh.vertices;
        Vector2[] uvs = new Vector2[vertices.Length];
        for (i = 0; i < uvs.Length; i++) {
        	uvs[i] = new Vector2(vertices[i].x + indiceX + 0.49f,vertices[i].y + indiceY + 0.5f);
//			if (logs) {
//				Debug.Log("UVs[" + i + "] = " + uvs[i]);
//			}
        }
        mesh.uv = uvs;
    }
}

Also, that +0.49f and +0.5f are there only because I exported the plane model with the pivot in the wrong position (should've been on one of the edges rather than the center.

The results were the following (please don't pay attention to Unity's messed up scene view, and the fact all UVs appear to be reversed( that's what I get for not rotating the plane prior to exporting it):


A few things I noticed were:
  1. Unity handling everything in floating-point values means pixel-perfect stuff tended to break down way too often. Notice the +0.49f instead of 0.5f? It's because Unity would mistakenly draw a white line instead of the last pixel when 0.5f was used.
  2. Material tiling was similarily broken. Splitting the texture into sixteen 8x8 tiles pero row and column meant setting the material's texture scale 0.0625... except it broke horizontal lines! The fix was replacing that number with 0.6249 (I mean, seriously).
  3. Making the viewport pixel-perfect was a bit of a headache. The correct orthographic size for my 240x160 screen was 10, but I tried several other numbers (such as 8) to no avail before coming up with 10 as the correct value.

Besides all this, I think I might end up dropping the whole turn-based part and making it into a real-time game, both to make it easier to understand and to solve several balancing issues that came up (such as moving a single tile per turn being almost useless compared to attacking)... I'll be looking into that the next few days.
 

Genji

Member
A few things I noticed were:
  1. Unity handling everything in floating-point values means pixel-perfect stuff tended to break down way too often. Notice the +0.49f instead of 0.5f? It's because Unity would mistakenly draw a white line instead of the last pixel when 0.5f was used.
  2. Material tiling was similarily broken. Splitting the texture into sixteen 8x8 tiles pero row and column meant setting the material's texture scale 0.0625... except it broke horizontal lines! The fix was replacing that number with 0.6249 (I mean, seriously).

The following might help:

-Try point filtering instead of billinear - this may cause some jitter depending on how you're moving the world/camera
-Try adding a 2 pixel border to the atlas texture itself around each tile that extends the final color if you're not using point filtering
-Remove mip maps if you're doing pixel perfect textures
 

Kikarian

Member
I have a lot of programming knowledge in C#, C++ and Python. I know a little of 3D modelling and Animation.

So, basically I'm new to Indie game development and I've just installed UDK and Blender (3D Modelling program).

I'm wondering how much 3d modelling and Animation knowledge is needed to make an indie game?
Bear in mind that this game will be 3D and not 2D.

I am willing to learn 3D Modelling and Animation.

I've always loved 3D Modelling and Animation, but strangely I learned to program instead (Which I also like).
 

JulianImp

Member
The following might help:

-Try point filtering instead of billinear - this may cause some jitter depending on how you're moving the world/camera
-Try adding a 2 pixel border to the atlas texture itself around each tile that extends the final color if you're not using point filtering
-Remove mip maps if you're doing pixel perfect textures

Yeah, I'm using point filtering and no mipmaps already. The only reason I'm not using pixel borders along atlas edges is because that'd severely limit the amount of tiles I can fit inside the atlas (2px per texture can add up fast, even more so at 8x8 tile sizes).

I have yet to try moving the camera around and see what happens to the textures, but I'll be fixing the plane object's UVs and pivot position soon.

I have a lot of programming knowledge in C#, C++ and Python. I know a little of 3D modelling and Animation.

So, basically I'm new to Indie game development and I've just installed UDK and Blender (3D Modelling program).

I'm wondering how much 3d modelling and Animation knowledge is needed to make an indie game?
Bear in mind that this game will be 3D and not 2D.

I am willing to learn 3D Modelling and Animation.

I've always loved 3D Modelling and Animation, but strangely I learned to program instead (Which I also like).
It depends. I'm really unexperienced with modelling and animation, which is why I went with Quark Storm's simplistic graphical style (spheres, particles and bordered levels). You could also try making games that use machinery or vehicles while you're getting used to modelling, and later on move onto organic characters, since something like a tank is a lot easier to model and animate than a lowly ant, for example.
 

Bollocks

Member
I have a lot of programming knowledge in C#, C++ and Python. I know a little of 3D modelling and Animation.

So, basically I'm new to Indie game development and I've just installed UDK and Blender (3D Modelling program).

I'm wondering how much 3d modelling and Animation knowledge is needed to make an indie game?
Bear in mind that this game will be 3D and not 2D.

I am willing to learn 3D Modelling and Animation.

I've always loved 3D Modelling and Animation, but strangely I learned to program instead (Which I also like).

It depends on the scope of the game and what kind of animations you want: Keyframe, IK,..
You can get a keyframed object in no time. In fact I used my knowledge of 3D Studio Max to keyframe an object in Blender, it works the same basically.
Also any particular reason why you installed UDK? I would opt for Unity instead.
 

AlexM

Member
I think Unity Pro does that, but the thing is by manually changing each tile's offset values Unity recognizes each othe them as an individual object to be rendered, therefore clogging up the rendering pipeline with hundreds of draw calls at once where there should've been a couple at worst (one per tile type), and a single one at best.

Yeah that's not cool. I've been playing around with it a little and noticed that you have to buy pro to have shadows.

I think I'm gonna skip unity for a while. By all accounts I should love it (uses one of my favourite languages, multiplatform, editor) but every time I use it something turns me off it pretty quick.

I'll def go back and give it another shot in the future (and probably again after that) but my hands are full with this PSM stuff for now.
 
Where's a good place to get some mid-poly(Is that even a term) models to prototype stuff. I'm making a party based RPG. Contemplating just doing Red Capsule=Fighter Blue Capsule=Mage Green Capsule=Ranger. However I want to plug in some decent looking stuff so I can show my friends :p
 

JulianImp

Member
Here're some sprites I've been doing for my multiplayer roguelike, after a few hours and revisions to my base character model:

wWfRf.png
uDg8T.png


I've still got to work on the color contrast (even more so since it varies from one monitor screen to another), but it's a start. With this, I already have some basic character proportion guidelines.

I'll have to see how they look in motion and from the sides, though.

@AlexM: It depends on what you want to do. The only things Unity resricts from the free version is plug-in support and some things related to image quality: occlussion, dynamic shadows (you can still use basic blob ones or baked lighting), audio and video postprocessing effects. You can still make awesome games without using any of that.
 

nicoga3000

Saint Nic
I need a good starting point with Unity 4.x. I have tried some tutorials and some examples, but even the first option of, "start a project with default parameters" or "do this/that/the other" are impossible to follow since some things have changed between 3.x and 4. Any good suggestions on how to get started? I was originally going to dive into GML for a project, but Unity is a FAR more superior environment for my new plan.
 
I need a good starting point with Unity 4.x. I have tried some tutorials and some examples, but even the first option of, "start a project with default parameters" or "do this/that/the other" are impossible to follow since some things have changed between 3.x and 4. Any good suggestions on how to get started? I was originally going to dive into GML for a project, but Unity is a FAR more superior environment for my new plan.

I used BurgZurg's Hack n Slash tutorial, have you watched that? It moves on to Unity 4 at some point.
 
Hey Everyone! Been watching this thread since its inception. Plan on developing my first game during the summer when I finish college and before I begin full time work in September. With the new reveals of Ouya, I was thinking it could be a nice platform to develop for. I'm well versed in Android and Java development, so I can't imagine it will be too different. What do you guys think of the idea??

The game will be a fairly simple turret shooter. I have more experience in Java but I can also work with C++. Does anyone have any experience with PSVita development?? I downloaded the SDK, but never got around to using it. I feel the game could get lost on the Android app store, I'd rather it had at least some chance on the Ouya or PSVita.
 

Blizzard

Banned
Unfortunately I have made very little progress made over the Christmas break, but I did make an alternate font loading system that actually checks the font texture atlas size needed instead of attempting to judge it based on font metrics. This lets me use a smaller font atlas (I think a 1024x2048 texture was large enough for even an 128-point font). I also fixed a crash if I try to use larger font point sizes than my engine supports.

Unfortunately, with FreeType 2, I'm still getting aliasing, and I don't really see any easy way around it. If I create an 128-point letter with a slanted side, for instance, I get stair stepping and I'm not sure much grayscale aliasing is even being done (though it's presumably happening in 256 steps by default).

I should probably go back to working on GUI stuff instead of getting bogged down in font details, but I do hate having ugly font rendering. :(
 

Kikarian

Member
It depends on the scope of the game and what kind of animations you want: Keyframe, IK,..
You can get a keyframed object in no time. In fact I used my knowledge of 3D Studio Max to keyframe an object in Blender, it works the same basically.
Also any particular reason why you installed UDK? I would opt for Unity instead.
Yeah, I'm going to be using blender to keyframe objects really.

Looking at Unity, it's probably my best option to choose.
Thanks for the advice.
 

Blizzard

Banned
After some digging around, my current best guess is that my jagged 128-point font issue is due to subpixel rendering being involved with software patents by Microsoft. :(

If anyone happens to have expert advice regarding whether it's legal to use this (say, on Windows only, but not on Linux), that'd be appreciated. Supposedly you might also be able to use a different color filter, but I'm not an expert on the topic.
 

Popstar

Member
After some digging around, my current best guess is that my jagged 128-point font issue is due to subpixel rendering being involved with software patents by Microsoft. :(

If anyone happens to have expert advice regarding whether it's legal to use this (say, on Windows only, but not on Linux), that'd be appreciated. Supposedly you might also be able to use a different color filter, but I'm not an expert on the topic.
Can you post an image of [part of] your font texture? You probably don't won't want to be using sub-pixel / cleartype anyways. An image will help diagnose what's going on. It's possible you're hitting a gamma problem.
 

AlexM

Member
@AlexM: It depends on what you want to do. The only things Unity resricts from the free version is plug-in support and some things related to image quality: occlussion, dynamic shadows (you can still use basic blob ones or baked lighting), audio and video postprocessing effects. You can still make awesome games without using any of that.


I hear ya, I guess if I were to use Unity those are the features I would want. Not knoking unity, just not my cup of tea

The game will be a fairly simple turret shooter. I have more experience in Java but I can also work with C++. Does anyone have any experience with PSVita development?? I downloaded the SDK, but never got around to using it. I feel the game could get lost on the Android app store, I'd rather it had at least some chance on the Ouya or PSVita.

The PSPVita dev kit is essentially a c# interface to OpenGL.Outside of vertex buffers (which are objects now) everything is pretty much exactly the same. Of course there's also the PSM/Vita specific classes for input/sound etc.
 

Bananimus

Member
I have a lot of programming knowledge in C#, C++ and Python. I know a little of 3D modelling and Animation.

So, basically I'm new to Indie game development and I've just installed UDK and Blender (3D Modelling program).

I'm wondering how much 3d modelling and Animation knowledge is needed to make an indie game?
Bear in mind that this game will be 3D and not 2D.

I am willing to learn 3D Modelling and Animation.

I've always loved 3D Modelling and Animation, but strangely I learned to program instead (Which I also like).

I have a similar technical background and am currently using Unity and Blender to make a game (about 1 week in). Blindly firing up Blender and trying to figure it out was pretty much a disaster, but I found a helpful tutorial series (link) that got me started. Everything beyond part 2 is behind a paywall, but the free stuff was enough foundation to actually start making something reasonable. There are additional tutorials on animation and rigging, as well as a Unity-specific sections that I haven't checked out yet.
 

fin

Member
My christmas break has been going good. Off work till the 7th so I should have something to show off then. Been working on art related stuff. Just finished going through the new Mecanim Tutorial.
http://www.youtube.com/watch?v=Xx21y9eJq1U
Have to say I'm pretty impressed. Was able to repath my rig (bi-ped) and mesh to this system no problem. Blender auto-weights worked pretty good, but going to have to do some tinkering on that still.

They also put out a bunch of source animations to play with:
https://www.assetstore.unity3d.com/#/content/5330

I've also been playing around with lightmapping/shaders/mobile... Apparently the dude that made the Strumpy Shader Editor got hired by Unity and released SSE open source. Been playing around with that, but I think it errors out with Unity 4. It's kinda dangerous stuff, some how got a memory leak and had to re-import everything. After doing some research it's apparently hard to do Bumpmapping and specular with a lightmap. Tried this, which was too taxing for tablet (Galaxy 10.1). Then tried this, which seems to be broken in Unity 4. It seems like the Main_Color is affected by the normal map.... Then I stumbled upon a blog post from the Shadowgun team.

http://blogs.unity3d.com/2012/03/23/shadowgun-optimizing-for-mobile-sample-level/

No bumpmap w/lightmap. But still some great shaders that should be optimal for mobile. Plus a nice sample level to see their hierarchy, scripts etc...
 

jujubeads

Member
which app should i be looking at if im trying to make a point and click adventure game?

adventure game studio seems pretty good -- is that the preferred program for beginners?
 

qwerty2k

Member
Had an idea for a game whilst i was asleep last night (2d or 3d platformer), not sure if it's been done before though?

You play as a book who's pages have been ripped out and scattered across the lands. Your goal is to obviously collect the missing pages that make up your book (which is a collection of fairy tales), upon regaining pages from the book you gain new abilities from characters from within the fairy tales (either that or i am thinking that each level has an element from a fairy tale and you need to get the page to complete the 'puzzle' enabling you to progress). Could even do something with the thinness/thickness of the book when you regain pages.

Anyway, only a rough idea...thinking unity as that seems to be the indie darling at the moment (though im currently learning xna)
 

cbox

Member
I'm looking to expand into the indie scene after my first game is launched. I wouldn't mind 3d modelling, but from watching so many videos on youtube I get a bit timid as it looks like it takes years to master. Any good places to get started? I did some 3d modelling in college and it was enough for me to know the interface for 3ds max, the amount of new programs out there is scary!

Also, sound production is friggin hard - trying to create some basic ambient tracks for my game is tougher than I thought. It'll be great when it all comes together though.
 

Tashi

343i Lead Esports Producer
Had an idea for a game whilst i was asleep last night (2d or 3d platformer), not sure if it's been done before though?

You play as a book who's pages have been ripped out and scattered across the lands. Your goal is to obviously collect the missing pages that make up your book (which is a collection of fairy tales), upon regaining pages from the book you gain new abilities from characters from within the fairy tales (either that or i am thinking that each level has an element from a fairy tale and you need to get the page to complete the 'puzzle' enabling you to progress). Could even do something with the thinness/thickness of the book when you regain pages.

Anyway, only a rough idea...thinking unity as that seems to be the indie darling at the moment (though im currently learning xna)

BRB, making this game.

:p

That does sound pretty cool though.
 
Been looking at old screenshots of my game from about 8~ ish months back and wow there is a huge change in visuals even though the character sprite work was mostly done back then, all the little touches add up when seen side by side:

XC5Y4.png
0wyWB.png
 
Thanks, like I said it's all the tiny tweaks that now roll into one really help, might have to make a video of the game over the year as I have over 250 different builds on my pc now.

I am adding in a true pad mode so the pc version doesn't have touch screen elements... and maybe for OUYA? depends.
 

charsace

Member
Been looking at old screenshots of my game from about 8~ ish months back and wow there is a huge change in visuals even though the character sprite work was mostly done back then, all the little touches add up when seen side by side:

XC5Y4.png
0wyWB.png

Beautiful. What are you coding in and what size are those sprites?
 
Been looking at old screenshots of my game from about 8~ ish months back and wow there is a huge change in visuals even though the character sprite work was mostly done back then, all the little touches add up when seen side by side:

XC5Y4.png
0wyWB.png

Looks remarkably like a game from a user from a forum I used to frequent called Nikita or Nakiti or something. Really nice stuff
 

razu

Member
Been looking at old screenshots of my game from about 8~ ish months back and wow there is a huge change in visuals even though the character sprite work was mostly done back then, all the little touches add up when seen side by side:

XC5Y4.png
0wyWB.png

Game looks great, and it is fun looking back at old builds. My helicopter didn't even tilt to begin with :D
 
Wow - that looks fantastic! What are you working in?
MMF2 developer with the iOS expansion, it's unbelievable how good that exporter is and the only code I know is basic HTML and how to make a calculator in C#.

Beautiful. What are you coding in and what size are those sprites?
Sprite size is on average 64x96 with some frames using more or less, the original sprite was based on a 3D model I designed and made at university, captured in poses then completely sprited over, some frames are just made up such as my avatar animation without a 3D base.

The game itself is either 480x320 or 568x320 for widescreen devices.

Looks remarkably like a game from a user from a forum I used to frequent called Nikita or Nakiti or something. Really nice stuff
Guess what :p

Game looks great, and it is fun looking back at old builds. My helicopter didn't even tilt to begin with :D
In the last 8 months I rebuilt the game from scratch to refine it, added in a lot of extra features and better methods for adding in enemies and other things, I have an even older version on an old newgrounds account running in flash somewhere...
 

razu

Member
Today's Chopper Mike progress report..

I've added a new shader to the bits inside the canopy...

Shader preview


Zoomed


In-Game



It looks cool in motion, and really helps to fit Mike into the scene better.

I'm going to make some more levels now! :D
 

asa

Member
After abysmal sales of Fruitmatter (and landing a job in the industry which prevents me for marketing and working on the game anymore) I'm thinking about releasing the game for free. I might actually benefit from the game somewhat that way, ie. possibly get some good reputation and connections.

Anyone have any suggestions for distribution methods, I would like to know the exact download amounts and some statistics and as simple download procedure as possible.

Is there any free services for freeware game distribution?
 

razu

Member
damn, that looks excellent! love the blue lighting effect on the sides of the tiles.

Thanks man! Comments like these really make your day! :)

I wanted to make a solid little 'set' that looked like an old kid's tv show. The reflected sky colour is there to seat the objects into the lovely blue sky. I'm glad you A) noticed it, and B) like it! :D

I can't really explain how wicked it looks on an iPhone. The colours are *beautiful* on those screens..
 

nicoga3000

Saint Nic
MMF2 developer with the iOS expansion, it's unbelievable how good that exporter is and the only code I know is basic HTML and how to make a calculator in C#.

Oh nice - I used TGF and MMF back in the day, but I haven't tried MMF2 yet. I may have to give a demo a try.
 
Status
Not open for further replies.
Top Bottom