• 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.

Ashodin

Member
ok ok one more

AIvWNMt.gif
 

JulianImp

Member
ok ok one more

AIvWNMt.gif

Looks nice! I think it'd look even better if you changed the background color a bit as well.

Actually, seeing that made me think that having the player and/or camera have to grow accustomed to very low or high luminosity. Say, the character stays in a dark place for a while, and slowly gets used to the low-light environment; then, the character would be subjected to lots of glare and/or bloom right after reaching a particularily well-lit room, which would wear out after a while, depending on how sudden the luminosity variation was.

Thinking more about it, I'd say it could be a nifty mechanic for a relatively slow-paced game, or one that wants to build a particular kind of (probably eerie) atmosphere, but it'd probably feel out of place in a fast-peaced game.

Sorry for going on a tangent with a random mechanic idea, but I guess doing this kind of game design exercises can be somewhat interesting every now and then.
 

Jobbs

Banned
ok ok one more

AIvWNMt.gif

I don't know if you're really looking for crits, but I'll just gently say that I don't particularly care for the overall color scheme, particularly the yellow. I'm not sure if these are temp graphics or to what extent they are temp.

Love the scarf physics, though. I wanted to do something similar but didn't for some reason. Maybe next time.
 

Sàmban

Banned
Looks nice! I think it'd look even better if you changed the background color a bit as well.

Actually, seeing that made me think that having the player and/or camera have to grow accustomed to very low or high luminosity. Say, the character stays in a dark place for a while, and slowly gets used to the low-light environment; then, the character would be subjected to lots of glare and/or bloom right after reaching a particularily well-lit room, which would wear out after a while, depending on how sudden the luminosity variation was.

Thinking more about it, I'd say it could be a nifty mechanic for a relatively slow-paced game, or one that wants to build a particular kind of (probably eerie) atmosphere, but it'd probably feel out of place in a fast-peaced game.

Sorry for going on a tangent with a random mechanic idea, but I guess doing this kind of game design exercises can be somewhat interesting every now and then.

Actually I disagree. I think the fact that the background stays the same looks more immersive. Given that being inside should only change what you experience versus the entire world, I think it's a really neat touch you have going there. The contrast between the cave and outside really gives me a feeling of "man, it's sunny outside and it's dark in here."
 

Ashodin

Member
I don't know if you're really looking for crits, but I'll just gently say that I don't particularly care for the overall color scheme, particularly the yellow. I'm not sure if these are temp graphics or to what extent they are temp.

Love the scarf physics, though. I wanted to do something similar but didn't for some reason. Maybe next time.

I'll pass it along to my artist, yeah. And I figured ol' big bad Jobbs, master of dark scenes and dark environs would hate color ;)
 

ChawlieTheFair

pip pip cheerio you slags!
Figured I'd share an early and very wip-ish (Don't mind the jittery 'hud') version of a little something I call McStabby:

Wip01.png


Click here to play!

It's got some basic mechanics going on, only thing somewhat final is the art direction, so yeah. Should be noted that I'm mainly an art guy with very little experience actually making games so even this little is a pretty big achievement for me.

Anyway, would be fun with some feedback on what little I have while I figure out where to go next.

Do you mind if I ask how you got your game playable in a browser? Me and my friend made one using Construct 2 for fun, unfortunately it was too big for the official site's dropbox (didn't realize it would be an issue at the time), also tried using google Drive but their tutorial was outdated.
 

Blizzard

Banned
Well it's to simulate the fact that you can see quite a bit of a cave before you enter, but as you go deeper in...
It would actually be the opposite in real life -- from outside, you can barely make out anything in a cave.

Once you go into a cave, your eyes adjust to the darkness, and you can see more. Try posting a GIF of the effect inverted from its current setup and see how it looks.
 

Ashodin

Member
It would actually be the opposite in real life -- from outside, you can barely make out anything in a cave.

Once you go into a cave, your eyes adjust to the darkness, and you can see more. Try posting a GIF of the effect inverted from its current setup and see how it looks.

Oops you're right
 
Feels like it's been forever since I've posted in here, as usual the output in this thread is bananas (God, Ashodin, those scarf physics look pretty)

Finally coded in the the turnbased system with extra features (the rhythm gameplay itself and time length of attacking turns), now I'm moving on to working on the dialogue and inventory system. (and on the side organising VA's, artists, music and writing the story)

With the inventory system, I've completely hit a brick wall.
I was following a video tutorial on setting up an Item Manager while sorting out the item types into Weapon, Armor, Consumables and KeyItems (or in my case, Instruments, Accessory and Consumables) and now I've made a new script while using the Item Base class as the List Type.

The problem is is that because it's a List type of ItemTest (the item base), when I call the item array position it only gives me the variables "Cost, Name, Description" rather than all of the variables assigned to that item. (so the item is Consumable type which has "Charges" and "HealthModification" as variables inside the class, the class taking it's inheritance from the Base Class.)
So for example, I'm trying to store the healthmod var inside another variable for the battle execution state but instead of giving me all of Consumables variables, it only gives me the Item Base variables.

Added to that, I've tried changing the List type to Consumables rather than ItemTest (base item class) and it won't let me actually do that.

Has any one had any experience with this or has a better option for doing Inventory Classes in Unity? (oh yeah I'm using c#)
 

Ashodin

Member
Yep include a scarf and everyone goes nuts :p

I'm actually surprised at all the love for it; I found someone else's code and modified it to work the way I wanted to, so most of the work wasn't done by me, I just used it that way.
 

V_Arnold

Member
Fengshuifever: maybe you went in one array too deep? As in you get item's properties a result rather then the references to the items themselves?
 

Limanima

Member
Feels like it's been forever since I've posted in here, as usual the output in this thread is bananas (God, Ashodin, those scarf physics look pretty)

Finally coded in the the turnbased system with extra features (the rhythm gameplay itself and time length of attacking turns), now I'm moving on to working on the dialogue and inventory system. (and on the side organising VA's, artists, music and writing the story)

With the inventory system, I've completely hit a brick wall.
I was following a video tutorial on setting up an Item Manager while sorting out the item types into Weapon, Armor, Consumables and KeyItems (or in my case, Instruments, Accessory and Consumables) and now I've made a new script while using the Item Base class as the List Type.

The problem is is that because it's a List type of ItemTest (the item base), when I call the item array position it only gives me the variables "Cost, Name, Description" rather than all of the variables assigned to that item. (so the item is Consumable type which has "Charges" and "HealthModification" as variables inside the class, the class taking it's inheritance from the Base Class.)
So for example, I'm trying to store the healthmod var inside another variable for the battle execution state but instead of giving me all of Consumables variables, it only gives me the Item Base variables.

Added to that, I've tried changing the List type to Consumables rather than ItemTest (base item class) and it won't let me actually do that.

Has any one had any experience with this or has a better option for doing Inventory Classes in Unity? (oh yeah I'm using c#)
If I understanded it right, all you have to do is a type cast.
 

Pierate

Member
Do you mind if I ask how you got your game playable in a browser? Me and my friend made one using Construct 2 for fun, unfortunately it was too big for the official site's dropbox (didn't realize it would be an issue at the time), also tried using google Drive but their tutorial was outdated.

I simply exported as a html5 project and uploaded it to my own dropbox.
 
Yep include a scarf and everyone goes nuts :p

I'm actually surprised at all the love for it; I found someone else's code and modified it to work the way I wanted to, so most of the work wasn't done by me, I just used it that way.

Can you share a link?

I'm pretty interested in the final details. It looks great.

Well it's to simulate the fact that you can see quite a bit of a cave before you enter, but as you go deeper in...

Hmmm. I see where you're coming from. The entrance would have a lot more ambient light so it should be brighter.

However that wouldn't depend on your position. I guess the current system works best though since a gradient from light to dark wouldn't really work with your art.
 
Fengshuifever: maybe you went in one array too deep? As in you get item's properties a result rather then the references to the items themselves?

Not exactly, because when I type manager.clementInv.clementInventory[0].name, it brings up a reference to the item's name that was added to his Inventory.

(in the ClementInventory script I added a line clementInventory.Add(im.ItemList[0]) which added the item to his inventory just fine. (at least I think just fine))

If I understanded it right, all you have to do is a type cast.

Right! I tried changing the line above to clementInventory.Add((Consumable)im.itemList[0]) but that still doesn't pass over the variables to the Item State....unless I have to call it like that there.....wait I'm gonna try that.

Edit: Nope. Damnit.
 

Limanima

Member
Not exactly, because when I type manager.clementInv.clementInventory[0].name, it brings up a reference to the item's name that was added to his Inventory.

(in the ClementInventory script I added a line clementInventory.Add(im.ItemList[0]) which added the item to his inventory just fine. (at least I think just fine))



Right! I tried changing the line above to clementInventory.Add((Consumable)im.itemList[0]) but that still doesn't pass over the variables to the Item State....unless I have to call it like that there.....wait I'm gonna try that.

Edit: Nope. Damnit.
Could you share the code please? It's hard to help without seeing exactly what you're doing.
 
Could you share the code please? It's hard to help without seeing exactly what you're doing.

Sure thing!

Code:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;

[System.Serializable]
public class ItemTest : ScriptableObject
{
	public int cost = 0;
	public string name = "";
	public string description = "";
}

So this is the base Item Class.

Code:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;

[System.Serializable]
public class Consumable : ItemTest
{
	public int charges = 0;
	public int healthMod = 0;
}

The Consumable class which inherits ItemTest.

Code:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class ClementInventory : MonoBehaviour 
{
	public List<ItemTest> clementInventory = new List<ItemTest>();
	
	void Start()
	{
		ItemManager im = GetComponent<ItemManager>();
		
		clementInventory.Add(im.itemList[0] as Consumable);
	}
}

The new Inventory for the main character that uses the same List Type as the List which stores all items from ItemManager

Code:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class ItemManager : MonoBehaviour
{
	public List<ItemTest> itemList = new List<ItemTest>();
	
	private static ItemManager itemInstanceRef;
	
	void Awake()
	{
		if(itemInstanceRef == null)
		{
			itemInstanceRef = this;
		}
	}
}

The ItemManager class which stores all items in the game.

Code:
if(GUILayout.Button("Add New Consumable"))
			{
				Consumable newConsumable = (Consumable)ScriptableObject.CreateInstance<Consumable>();
				newConsumable.name = "NEW CONSUMABLE";
				newConsumable.description = "";
				newConsumable.cost = 0;
				newConsumable.charges = 0;
				newConsumable.healthMod = 0;
					
				im.itemList.Add(newConsumable);
			}
*small snippet of code from whole script
This is from the ItemManagerInspector editor class which allows me to create a new Item within ItemManager directly from the inspector.

Code:
if(manager.battleDataRef.isClementTurn)
			{
				if (GUI.Button(new Rect((Screen.width / 2) - 100, 190, 200, 30), manager.clementInv.clementInventory[0].name))
				{	
					manager.battleDataRef.ClementItem = manager.clementInv.clementInventory[0].name;
					manager.battleDataRef.ClementItemBehaviour = manager.itemListRef.hamburger.healthMod;
					manager.SwitchState(new BattleTargetState(manager));
				}
			}
*small snippet of code from whole script

And this is the problem here. This is the BattleItemState class.
Basically I want to change ClementItemBehaviour's value from the old ItemList to get a reference to the new itemclasses changing the line to "manager.clementInv.clementInventory[0].healthMod.

Long ass post, but I hope this gives a better idea.
 

Limanima

Member
And this is the problem here. This is the BattleItemState class.
Basically I want to change ClementItemBehaviour's value from the old ItemList to get a reference to the new itemclasses changing the line to "manager.clementInv.clementInventory[0].healthMod.

Long ass post, but I hope this gives a better idea.

This is the line in question?
manager.battleDataRef.ClementItemBehaviour = manager.itemListRef.hamburger.healthMod;

Try this:
manager.battleDataRef.ClementItemBehaviour = (Consumable )(manager.clementInv.clementInventory[0]).healthMod;
 
This is the line in question?
manager.battleDataRef.ClementItemBehaviour = manager.itemListRef.hamburger.healthMod;

Try this:
manager.battleDataRef.ClementItemBehaviour = (Consumable )(manager.clementInv.clementInventory[0]).healthMod;

Yep! Tried it and it finds it in MonoDevelop alright, however...

Code:
Assets/Code/States/BattleItemState.cs(53,139): error CS1061: Type `ItemTest' does not contain a definition for `healthMod' and no extension method `healthMod' of type `ItemTest' could be found (are you missing a using directive or an assembly reference?)

Damn, so close. So basically what I understand is that it still can't cast to the variables in Consumables, because there's no variable in ItemTest but would that mean I would have to create a variable which holds the healthMod variable in Consumables?

Also, if casting a type would you cast it when you needed it or would it be better to try (or even possible) to cast the Consumable type before it's called upon, say in the ClementInventory class?


EDIT:
han-leia.gif


DISREGARD EVERYTHING I JUST SAID.

I switched the formatting around of the cast and it works perfectly! Thank you so much!
I'm still curious about the typecasting question I posed above.
Is there a 'catch-all' way to encapsulate that item in a typecast or will I have to cast it each time?
 

Limanima

Member
Also, if casting a type would you cast it when you needed it or would it be better to try (or even possible) to cast the Consumable type before it's called upon, say in the ClementInventory class?

I switched the formatting around of the cast and it works perfectly! Thank you so much!
I'm still curious about the typecasting question I posed above.
Is there a 'catch-all' way to encapsulate that item in a typecast or will I have to cast it each time?

I'm supposing that your ClementInventory can contain objects other then "Consumable" items, or am I wrong?
If so, cast when needed. If not, you don't need the "ItemTest" base class at all. Just use lists of "Consumable".

Question:
Why are you doing "as consumable" in this line of code (ClementInventory class)?
clementInventory.Add(im.itemList[0] as Consumable);
Both lists are of type "ItemTest" you don't need the "as Consumable".

And be careful with type casting, an exception is thrown if the type cannot be cast.
 

V_Arnold

Member
That is why I would just manage a state based list assembler, that just looks for the item.type, and arrange the specific lists based on that. After that, you just know that your list is the one you will need in that particular sub-list-view.
 
So over the last few weeks I have been trying my hand at learning how todo a minecraft style world in unity , don't really have an end goal but the more I delve into it the more ideas I get. I was initially going todo a journey style adventure with a minecraft aesthetic but I'm still not ure yet.

Thanks to various community scripts, assets and some of my own code enhancements it runs fairly well on my old laptop.

Here is a sped up day/night phase

https://www.youtube.com/watch?v=4VHOAiPGxxE&feature=youtu.be

Not sure where I go next, I definetely don't want a minecraft clone such as building e.t.c , in fact the only think I like from minecraft is it's visuals . Also would like todo something more then a typical shooter but then I get visions of old school heretic sprites mixed with minecraft style world. Wherever I go it's a fun learning tool. Perhaps the old style roguelike sprites (I.e @ ) in a 3d world , lots of experimenting todo.
 
I'm supposing that your ClementInventory can contain objects other then "Consumable" items, or am I wrong?
If so, cast when needed. If not, you don't need the "ItemTest" base class at all. Just use lists of "Consumable".

Question:
Why are you doing "as consumable" in this line of code (ClementInventory class)?
clementInventory.Add(im.itemList[0] as Consumable);
Both lists are of type "ItemTest" you don't need the "as Consumable".

And be careful with type casting, an exception is thrown if the type cannot be cast.

Yeah you're absolutely right, there's three other item types in that list, so gotcha, cast when I need to!

That was more messing around with trying to cast it with what I've tried before and which worked.
I've taken that out now because I've only neede to cast for that item entry not the WHOLE list foolishly (silly me).
 

missile

Member
Programming a GUI is quite tough! Not because it is technically any difficult,
no, but because you have to consider so many different cases. Jesus! I'm
currently programming an edit field and there are quite some many different
states and actions you have to consider knowing that you can use the keyboard
(of course) and mouse on such a field. And features like selection and special
mouse behavior won't make it any easier. Without a flexible message/event
system you are pretty much doomed to failure on a bigger scope in handling all
the different possibilities independently, I would say. Well, I don't know if
my structure is any good on all accounts, but letting each element have its
own (polymorphic) message handler isn't a bad idea. Anyone knows some other
cool tricks for programing a GUI?
 

Noogy

Member
Programming a GUI is quite tough! Not because it is technically any difficult,
no, but because you have to consider so many different cases. Jesus! I'm
currently programming an edit field and there are quite some many different
states and actions you have to consider knowing that you can use the keyboard
(of course) and mouse on such a field. And features like selection and special
mouse behavior won't make it any easier. Without a flexible message/event
system you are pretty much doomed to failure on a bigger scope in handling all
the different possibilities independently, I would say. Well, I don't know if
my structure is any good on all accounts, but letting each element have its
own (polymorphic) message handler isn't a bad idea. Anyone knows some other
cool tricks for programing a GUI?

It's dirty work :p I don't think I'm exaggerating when I say half of my time developing Dust was spent on UI visuals and subsystems. And many more months integrating dynamic and remappable mouse/keyboard stuff for the PC version. Don't even get me started on localization and resolution-independence.

If you want happy customers, there's sadly no easy way around it. And I don't look forward to doing it again.
 

razu

Member
It's dirty work :p I don't think I'm exaggerating when I say half of my time developing Dust was spent on UI visuals and subsystems. And many more months integrating dynamic and remappable mouse/keyboard stuff for the PC version. Don't even get me started on localization and resolution-independence.

If you want happy customers, there's sadly no easy way around it. And I don't look forward to doing it again.

Agree. It's always a pain.
 

Tenki

Member
I'm starting to work on a homage to Skyroads with a couple of friends. It's a project for the university, but I guess we will keep developing it, making more levels and so.

The levels are designed to match the rhythm of the chiptune music. And it's pretty impossible :lol

Here's a little video: https://www.youtube.com/watch?v=CXzRHvaDoKE
 

missile

Member
It's dirty work :p I don't think I'm exaggerating when I say half of my time developing Dust was spent on UI visuals and subsystems. And many more months integrating dynamic and remappable mouse/keyboard stuff for the PC version. Don't even get me started on localization and resolution-independence.

If you want happy customers, there's sadly no easy way around it. And I don't look forward to doing it again.
Sounds 1/encouraging! xD If it wouldn't speed up development time for my RSA
tool, I guess I wouldn't do it atm, at least not for the game am building.
Small games can get away with just a list of items. However, I think it will
pay-off further down the road regarding bigger games and esp. for debugging
purpose. Good GUIs are taken for granted these days, which is good, but the
step from just a list of items to a GUI, satisfying the status quo, is a huge
one.

It stands and falls with the underlying structure, I guess. I try to
encapsulate as much as possible such that the basic GUI structure is very
shallow yet very flexible. Anything more advanced should merely be an
extension of the basic structure the programmer or artist can use to create
his/her own behavior, look, and feel. The buttons, edit fields, windows etc.
am currently doing are already an application of the the basic structure to
test/debug/evaluate it. A collection of predefined buttons, windows, etc. will
make up a basic API later on, but the programmer is free to replace everything
and can define his/her own behavior, look, and feel for every element,
because (s)he has full control of what is supposed to be an element, i.e.
how it behaves, reacts, looks etc.

I don't know if this all sounds good or nor, but that's at least the way how
I'm approaching it. Doing it this way ensure me that the GUI isn't tied to any
specific program/tool/game/rendere/input etc. and can be quickly used in any
other program without inhering/relying on a huge framework. This should solve
the problem of having no GUI in small programs, tools, etc. yet at the same
time should allow one to adapt it to the task at hand to make it as
productive and cool as possible. Pipe dream?
 
It's dirty work :p I don't think I'm exaggerating when I say half of my time developing Dust was spent on UI visuals and subsystems. And many more months integrating dynamic and remappable mouse/keyboard stuff for the PC version. Don't even get me started on localization and resolution-independence.

If you want happy customers, there's sadly no easy way around it. And I don't look forward to doing it again.

Pretty much, I've been stuck on UI, buttons and controls for almost the past 2 months and still many more things to consider, at the end, I did something I should have started from the beginning, think your UI like MS did for the buttons and windows and add a similar stuff for your game, it make things reusable and easy to manage in long term, but add a few things more to make it flexible for animation, I wonder if there is an easier way to design that, maybe a framework for easy UI design?
 

Dynamite Shikoku

Congratulations, you really deserve it!
I bought the substance indie pack on a whim before the summer sale ended. Designer and Painter both look quite good, but a bit daunting to start with (designer in particular)
 
I spent all weekend glued to my chair and got like zero sleep working on the rough demo we're gonna show at Florida Supercon of Rebirth. I now have 2 more days to finish it, and I don't even have the gameplay elements in my main area yet. FML no sleep this week either :-(

And the holiday weekend will be no better it seems, since I'll be manning a booth all weekend. And now I'm at the day job thinking about how much I need to get done and how little time I have to do it in.
 

OldRoutes

Member
I spent all weekend glued to my chair and got like zero sleep working on the rough demo we're gonna show at Florida Supercon of Rebirth. I now have 2 more days to finish it, and I don't even have the gameplay elements in my main area yet. FML no sleep this week either :-(

And the holiday weekend will be no better it seems, since I'll be manning a booth all weekend. And now I'm at the day job thinking about how much I need to get done and how little time I have to do it in.

Don't give up, man! You're almost there! Last push! :)

Don't hesitate to show us progress!
 

Kritz

Banned
A few weeks of my life this past year could be best described as a montage of lucidness, with solid chunks of time missing from my short term memory between the spurts of self awareness known as bathroom breaks.

I do not envy those who do it by necessity.
 

Limanima

Member
Code:
pause duration:1200;
label name:beginning;

select control:fc_tutorialRightHand;
set position: -50, -350;
set visible: true;
move to: 200, -350; speed:1000; accel:500; 
pause duration:500;
set visible: false;

select control:fc_tutorialLeftHand;
set position: 50, -350;
set visible: true;
move to: -200, -350; speed:1000; accel:500; 
pause duration:500;
set visible: false;
loop label:beginning;

I now have a tutorial script working on my game!
This is a proprietary scripting language I created for my engine. The language is self- explanatory, that's one of the objectives.
This simple scripting language is proving to be very handy.

Edit:
Here's another example: This script is attached to a label and it makes the label blink:
Code:
label name:beginning;
set visible: true;
pause duration:500;
set visible: false;
pause duration:500;
loop label:beginning;
 
After months of frustration, piles of prototypes, I'm ready to start working on something I want to finish. I've worked on everything you see from soup to nuts in about 15 hours with GameMaker, not that that's an accomplishment.

6scCvNH.png


Space Station. I want to make a 2D space station exploration game inspired by System Shock 2. I'm trying to find a balance to make core mechanics like inventory management and "using" objects in the environment less easy and more frantic than most 2D games so I'm working on a system where you can only use your mouse to inspect and use the surroundings in a limited box and view

L4ujzmM.gif


Lastly, I'm working on it being real dark, so this is some messy lighting

8wgy0iK.gif


All graphics are placeholder and I'm new- sorry if I broke any image rules!
 

Dascu

Member
Hey, have you guys seen this thread?
http://neogaf.com/forum/showthread.php?t=846818

Was curious what the developer perspective was on the discussion

IMO: Indie games are games made without a publisher. Simple as that. I don't like how the term has become associated to some kind of quality or style. I disagree with the notion that indie games are 'creative artistic works of passion' versus 'robotic AAA cash-grabs'. And frankly I feel very critical of how Sony or Microsoft have been trying to get 'gamer cred' by focusing on these kind of indie games. The next 'minimalistic narrative platformer about a character dealing with personal grief' is getting just as tired of a trope as any recent EA FPS.
 
Status
Not open for further replies.
Top Bottom