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

usea

Member
C# sharp. I don't understand how to decide what an entity will be or how to get the different entities to interact.
I try to put as little in a class as possible, and use inheritance as little as possible. So yeah, every class does basically one thing and I have a lot of them. They link together through composition (usually dependency injection).

I am bad at explaining how to design classes in this way. Basically, in a class's constructor you pass in all the things that class is going to use. What these things are and how they interact depend on the context. Usually, if I say to myself "I need something that does [this]" I will usually make a class for that thing. Any class that needs that thing done will just get a copy of that other class in its constructor.

This is the methodology I follow in software engineering in general, and I use it in games because it just seems like good practice.

Here are some links which you have probably come across already
http://gameprogrammingpatterns.com/component.html
http://piemaster.net/2011/07/entity-component-primer/

Sorry if I misunderstood your question.
 
C# sharp. I don't understand how to decide what an entity will be or how to get the different entities to interact.

I'm not sure how to implement it in C# since it makes much more sense on other more dynamic languages but here it goes. Usually in a typical OOP way you had a class for each object of your world. If you had a barrel, a car and a tank it probably would have gone something like this:

Object -> Vehicle -> Tank
Object -> Vehicle -> Car
Object -> Barrel

The thing is you probably want:
- The barrel to explode
- The tank to move like a vehicle
- The cat to move like a vehicle AND explode

So with traditional OOP this becomes quite difficult to achieve. So with the Component/Entity pattern you do something like this (classes are entities, modules are components):

Code:
module Explosive
module HandlesLikeAVehicle

class Tank
  include HandlesLikeAVehicle
end

class Car
  include HandlesLikeAVehicle
  include Explosive
end

class Barrel
  include Explosive
end

This is slightly different than multiple inheritance, bear that in mind. So an entity is almost nothing, it's usually just a container for the components. How do you make them interact? usually you can use some kind of reflection on the classes and guess if certain_object.is_explosive? then explode. It all comes down to the language you are using though. Basically you are trying to reuse some common minimal behaviour but without recurring to inheritance.
 

charsace

Member
I try to put as little in a class as possible, and use inheritance as little as possible. So yeah, every class does basically one thing and I have a lot of them. They link together through composition (usually dependency injection).

I am bad at explaining how to design classes in this way. Basically, in a class's constructor you pass in all the things that class is going to use. What these things are and how they interact depend on the context. Usually, if I say to myself "I need something that does [this]" I will usually make a class for that thing. Any class that needs that thing done will just get a copy of that other class in its constructor.

This is the methodology I follow in software engineering in general, and I use it in games because it just seems like good practice.

Here are some links which you have probably come across already
http://gameprogrammingpatterns.com/component.html
http://piemaster.net/2011/07/entity-component-primer/

Sorry if I misunderstood your question.

I'm not sure how to implement it in C# since it makes much more sense on other more dynamic languages but here it goes. Usually in a typical OOP way you had a class for each object of your world. If you had a barrel, a car and a tank it probably would have gone something like this:

Object -> Vehicle -> Tank
Object -> Vehicle -> Car
Object -> Barrel

The thing is you probably want:
- The barrel to explode
- The tank to move like a vehicle
- The cat to move like a vehicle AND explode

So with traditional OOP this becomes quite difficult to achieve. So with the Component/Entity pattern you do something like this (classes are entities, modules are components):

Code:
module Explosive
module HandlesLikeAVehicle

class Tank
  include HandlesLikeAVehicle
end

class Car
  include HandlesLikeAVehicle
  include Explosive
end

class Barrel
  include Explosive
end

This is slightly different than multiple inheritance, bear that in mind. So an entity is almost nothing, it's usually just a container for the components. How do you make them interact? usually you can use some kind of reflection on the classes and guess if certain_object.is_explosive? then explode. It all comes down to the language you are using though. Basically you are trying to reuse some common minimal behaviour but without recurring to inheritance.

From the things I've read people say entity should only contain a Key. And that Key should be used look up a record to tell you what components are attached. The components only hold states that are processed by systems. This is the way I'm understanding it from what I read, so what you guys are saying is similar in nature, but a different.
 

usea

Member
From the things I've read people say entity should only contain a Key. And that Key should be used look up a record to tell you what components are attached. The components only hold states that are processed by systems. This is the way I'm understanding it from what I read, so what you guys are saying is similar in nature, but a different.
Yeah, that's definitely different than what I am used to.

This gamasutra article is pretty informative. Messaging is super useful for decoupling, and it seems to make heavy use of it. But I've never personally used the scratchpad/bucket data storage thing before. I'll give it a shot with my next project.
 

charsace

Member
I'm going with more what you guys are saying. I'm gonna use GameObject as a container for the components and keep hacking away from there. Thanks for the help.
 
From the things I've read people say entity should only contain a Key. And that Key should be used look up a record to tell you what components are attached. The components only hold states that are processed by systems. This is the way I'm understanding it from what I read, so what you guys are saying is similar in nature, but a different.

There are two things there:
- The key -> components table. In most cases I'd say is a limitation on how to implement this paradigm in certain languages rather than a design choice.
- Who decides what to do with an entity with an "explosive" component is a design choice. If you are not refactoring code logic into the component then you are doing nothing more than just tagging your entities.
 

charsace

Member
There are two things there:
- The key -> components table. In most cases I'd say is a limitation on how to implement this paradigm in certain languages rather than a design choice.
- Who decides what to do with an entity with an "explosive" component is a design choice. If you are not refactoring code logic into the component then you are doing nothing more than just tagging your entities.

I agree. That's why I'm implementing something in the vain of what you guys said.
 

missile

Member
@Tash: Doesn't look like an indie game!
oliverandspike_aqual.png

Sweet.


Took me like 5 years to get sick of it and 5 years to plan and save what the hell I was going to do with my life. ...
Glad you now know about it.

"... developing Mainframe and DB stuff for financial institutions" sounds
like maximum punishment for me. I would never do it, even not if they would
pay me a fortune.

... I was thinking in starting with some small games and applications for mobiles, but boy, there are too many choices and I'm still kinda lost. ...
Too many choices and too much noise. What's the game you are going to create?
 
Not sure if it is of any help to anyone (most of you probably have your own) but we shared our press contact list (only contacts that are available on the net, no personal ones).

We are also working on two titles right now (both are developed in Unity):

Oliver&Spike: Dimension Jumpers (3D Console Adventure/Platform mix)
*Lots of pretty*

More info on our O&S blog.

It is incredibly frustrating at this moment in time to try to get funding or a publisher for O&S. Everything really speaks against it Marketing wise but we are just too stubborn to let the whole low cost, end of console generation cycle, mobile trend take over. We still believe that there can be new, ambitious IPs for console games, damnit :)

Have you tried Sony's PubFund? Crowd sourcing?

Looks very VERY professional, hope you get your game out there!

Oh hey, you picked up Skjalg? He's awesome!
 

Tash

Member
I've not worked on a game before, but I've been working towards getting into concept art for a while, so I'm naturally very interested in getting involved with a project. Unfortunately I'm not really sure where to start. I've done a few tutorials in Unity3D and it seems simple enough to grasp, plus I have a couple years of Maya experience.

What I'd like to do is start off with a simple sidescroller or top-down adventure game (metroidvania, zelda) that focuses on hand rendered art (Bastion, Trine, Rayman Origins). I have a few ideas for concepts, but I'm assuming I'll need someone to team up with that has a bit more experience.

Anyways, would Unity be appropriate for a 2D game (probably with several "layers" of interactivity, 2.5D I guess? oh and I use a Mac btw)? And is this something I could reasonably learn as I go and do myself in terms of gameplay engineering, or would I have to recruit someone? (any gaffers up to it? pm me if you'd like to see my ideas :p)

Unity is perfect for 2D or top down if you don't have any prior programming experience. I think it's really easy to get into and prototyping. So absolutely, go for it :)
OH and great start with the concept stuff. Love it. I worked as a freelance artist/illustrator for a while and did official GoT and CoC Trading Cards (and other stuff). You'll definitely should get going and get some galleries up at the art sites out there so potential clients can see your work.
 

Tash

Member
Have you tried Sony's PubFund? Crowd sourcing?

Looks very VERY professional, hope you get your game out there!

That's part of the problem. It's actually hard to sell it as an indie game to the crowd. So we are not an indie quirky/special darling like say Fez, Journey or Bastion.

I have contacts for Sony's PubFund but we haven't used it yet since we are in discussion with some of the big guys directly. We'll see where it goes. :)

We think that crowdfunding will be hard for this one. It's not a cheap project (cut-scenes with voice-overs and all and consoles. I am not sure if people are ok to open up their wallets for a no-name indie with no console track record so far. Not to mention garnering the attention of the media and coverage. We are looking at a 1 million USD goal to get it all finished. See what I mean? :)

Either way, thanks for the encouragement. Appreciate it a lot :)

Tafer: what do you mean by too many choices? mobile platform wise or genre wise?

Great stuff, Tash!

I'm really glad to see a lot more 3D stuff coming out of indie games these days :)

Thanks :) Costs are the reason we don't see it more often and we can totally see why and maybe that a lot of indie don't have the artist(s) to do the 3D.
 
That's part of the problem. It's actually hard to sell it as an indie game to the crowd. So we are not an indie quirky/special darling like say Fez, Journey or Bastion.

I have contacts for Sony's PubFund but we haven't used it yet since we are in discussion with some of the big guys directly. We'll see where it goes. :)

We think that crowdfunding will be hard for this one. It's not a cheap project (cut-scenes with voice-overs and all and consoles. I am not sure if people are ok to open up their wallets for a no-name indie with no console track record so far. Not to mention garnering the attention of the media and coverage. We are looking at a 1 million USD goal to get it all finished. See what I mean? :)

Either way, thanks for the encouragement. Appreciate it a lot :)

Good Sir, I think you would be surprised just how many of us would be happy to have a well polished platforming game in an imaginative world. Castlevania did well for so long for being a reliable, creative for what it was, polished experience.

Gate Keepers for consoles are rather sad. :/

Good luck to you though! Stay in touch :)
 

Tash

Member
Good Sir, I think you would be surprised just how many of us would be happy to have a well polished platforming game in an imaginative world. Castlevania did well for so long for being a reliable, creative for what it was, polished experience.

Gate Keepers for consoles are rather sad. :/

Good luck to you though! Stay in touch :)

That's certainly encouraging and in par with what people told us during GDC in March. We'll see :)
 

Ashodin

Member
Working on Mr. Wave's animations have been pretty... well.. draining! But I'm nearing the end of my work on what he needs to do in the game, and that is a big step - once I finish that, it's all about the powers, then it's level design. Then, I'll have a complete demo soon!
 

JulianImp

Member
@Tash: Both the 3D game and the platformer creation tool look promising, and totally awesome, congratulations!

Also, your studio's press contact list will be really useful once I have a good enough prototype for showing at review sites! I'll need to show Quark Storm more soon, since it's still absolutely unknown except for my friends and family, the pople that assisted to the Indie Showcases I displayed my game on and as the teachers and students I've worked or hung out with.
 

Ashodin

Member
Hey all! The game I've been working on with my small three man company Ragtag Studio was just revealed yesterday. Its called Ray's the Dead, a game about growing and managing a huge zombie army. I know there is some Zombie fatigue out there, but this one is quite different from what you normally see in Zombie games. Please take a look at the article here:

http://www.polygon.com/2012/12/5/3722424/ex-wideload-rays-the-dead

Thanks!


TrailerPark-1.png

Looks pretty cool man!
 

JulianImp

Member
I've not worked on a game before, but I've been working towards getting into concept art for a while, so I'm naturally very interested in getting involved with a project. Unfortunately I'm not really sure where to start. I've done a few tutorials in Unity3D and it seems simple enough to grasp, plus I have a couple years of Maya experience.

What I'd like to do is start off with a simple sidescroller or top-down adventure game (metroidvania, zelda) that focuses on hand rendered art (Bastion, Trine, Rayman Origins). I have a few ideas for concepts, but I'm assuming I'll need someone to team up with that has a bit more experience.

Anyways, would Unity be appropriate for a 2D game (probably with several "layers" of interactivity, 2.5D I guess? oh and I use a Mac btw)? And is this something I could reasonably learn as I go and do myself in terms of gameplay engineering, or would I have to recruit someone? (any gaffers up to it? pm me if you'd like to see my ideas :p)

You've got some nice art in there! I really like those stylized cartoony monsters (gotta love the bug with balloons attached to it).

I've been thinking about making a sidescroller dungeon crawler and/or metroidvania for a while. If you're still interested on the game when Quark Storm's development is nearing its end, I'd be interested in making that game with you, and meanwhile we could toss ideas back and forth to see if we can come up with a good artstyle and gameplay concept (and perhaps create a prototype or something). If you're interested, PM me and I'll se if we can sort something out.

So far I've only used it for 2.5D games using 3D models, and I think making a full 3D game like Trine would probably be the easiest choice (at least from a programming standpoint), but it'd be interesting to come up with a way to make a game in the style of Rayman Origins.
 

Tash

Member
Hey all! The game I've been working on with my small three man company Ragtag Studio was just revealed yesterday. Its called Ray's the Dead, a game about growing and managing a huge zombie army. I know there is some Zombie fatigue out there, but this one is quite different from what you normally see in Zombie games. Please take a look at the article here:

http://www.polygon.com/2012/12/5/3722424/ex-wideload-rays-the-dead

Thanks!


TrailerPark-1.png

No such thing as zombie fatigue :D
Grats on that article. Still trying to get any of the big guys to write about us -.-

@Tash: Both the 3D game and the platformer creation tool look promising, and totally awesome, congratulations!

Also, your studio's press contact list will be really useful once I have a good enough prototype for showing at review sites! I'll need to show Quark Storm more soon, since it's still absolutely unknown except for my friends and family, the pople that assisted to the Indie Showcases I displayed my game on and as the teachers and students I've worked or hung out with.

Happy if the list is of any help and yup: The real work starts with getting attention. Best of luck with the whole press push :)
 

Maddness

Member
So after a hiatus for a year, I'm getting back into game development. Working on a new game.


I like hand drawn games. So wanted to show a little sneak peak of it and see if just a few teaser images would peak any interest. Lets me know if anything looks appealing. So here's the first snippet of some art from the game.


RMYxs.png


The game is being drawn for HD. Sorry for my hideous art style. Haha.
 

Ashodin

Member
Reaaaaaaaaaally close to figuring out and finishing the left-side sucking animations for Mr. Wave, and when I do.. IT'S GO TIME!!! Powers/level layouts/bosses... All the basic animations and actions for Mr. Wave will be complete, so then I get to just easily slip in all the extra stuff.
 
That's certainly encouraging and in par with what people told us during GDC in March. We'll see :)

This article might help you and some of the more serious indies out there:
http://gamasutra.com/view/feature/182962/what_do_investors_look_for_in_a_.php

On a previous point, I think doing 3D games well requires more specialized knowledge and labor than 2D.
That and it's so much easier to cheat with 2D graphics.
But polishing 2D can be a lot more laborious. If a frame is wrong in a 2D animation, you throw it out and redraw it.
If a frame is wrong in a 3D animation, just tweak it and move on.

I'm a self taught art person and I picked up on 2D OK, but 3D has been very difficult. Or maybe I just stupid.
 

Blizzard

Banned
I feel like 3D takes a lot more effort to make the models and textures look decent, especially if the style is remotely realistic.
 

Kritz

Banned
I'm at the point in my multiplayer game where I think I have to start making... mechanics and systems. Which is going to be so much fucking work because it is essentially the step where I make the game.

I've never been very good at planning out my development. I usually just make a thing until it's perfect or more likely I hit my skill cap on how good I can make an element. And then I just pick a random thing that isn't working or doesn't exist or needs modifications and just go at that. So, AI. I've never done much AI programming. The most I've done is have enemies walk up to you until you take damage from them, or have them shoot / attack you if you're within range. Now I'm trying to work out how to make decent wandering, fleeing, attacking, etc AI. I've never done swarm (I forget the term for it - flocking?) AI before so I'll have to go look up that at some point, maybe. A large problem I have is that I hate sitting down and planning out things. My design doc for this game is less than a sentence. Eight months ago when I finished my first uni course on game design, I hadn't even started my design document until my game was already finished.

Sorry for the weird blog thing I've just done. It's not like I'm under a deadline or pressure or anything to make this game. So I should probably save myself from stressing out about workloads when game making is just a hobby.

And to close off this post, here's some pretty unimpressive screenshots of my progress:


Players can create little castle walls that I'm developing into some rudimentary base building thing. They can also spawn these terrible little ramp laddery things to get up walls. Third screenshot is the wonderful capsules that exist as my wandering AI at the moment.
 

Tash

Member
So after a hiatus for a year, I'm getting back into game development. Working on a new game.


I like hand drawn games. So wanted to show a little sneak peak of it and see if just a few teaser images would peak any interest. Lets me know if anything looks appealing. So here's the first snippet of some art from the game.


RMYxs.png


The game is being drawn for HD. Sorry for my hideous art style. Haha.

Don't apologize. I like that a lot. It's quirky and easy to recognize which imo is important with graphics.
 

Servbot24

Banned
I made this very crude test animation tonight, took about 45 mins on my first try:

BroAniCH.gif


I'm thinking about making an entire game using hand-drawn animation. Would be a lot of effort of course, but from the programming side of things I'm guessing it would be pretty simple, no? Puzzle platformer, you'd be interacting with unique parts of the environment, items and characters a lot. I'm thinking I can at least set up one or two rooms and see how it goes.
 

Ashodin

Member
I made this very crude test animation tonight, took about 45 mins on my first try:

BroAniCH.gif


I'm thinking about making an entire game using hand-drawn animation. Would be a lot of effort of course, but from the programming side of things I'm guessing it would be pretty simple, no? Puzzle platformer, you'd be interacting with unique parts of the environment, items and characters a lot. I'm thinking I can at least set up one or two rooms and see how it goes.

Very cool, if you are going to use it I'd tighten up the animation where his buttons are, they disappear and reappear in different spots. Otherwise it's awesome!
 
I made this very crude test animation tonight, took about 45 mins on my first try:

BroAniCH.gif


I'm thinking about making an entire game using hand-drawn animation. Would be a lot of effort of course, but from the programming side of things I'm guessing it would be pretty simple, no? Puzzle platformer, you'd be interacting with unique parts of the environment, items and characters a lot. I'm thinking I can at least set up one or two rooms and see how it goes.
Nice job :) what software are you using?
 

Servbot24

Banned
Thanks :) That was made in Photoshop but I would be using Unity for the game. And yeah that's not meant to be a useable animation, the real one would be clean.

Btw if I made the entire game out of primarily planes and high resolution textures I'm assuming I would not be likely to ever run into performance issues?
 

Ashodin

Member
I finally got the eating enemies fixed!!! YESSS!!! Now all I have to do is port the controls to each control scheme and it's power making time!!!

9cmLT.png
 

JulianImp

Member
Thanks :) That was made in Photoshop but I would be using Unity for the game. And yeah that's not meant to be a useable animation, the real one would be clean.

Btw if I made the entire game out of primarily planes and high resolution textures I'm assuming I would not be likely to ever run into performance issues?

It depends what devices you're targeting (mostly because most mobile devices have considerably less VRAM than computers), but you'd probably be fine as long as you keep an eye on texture sizes.

If an object is supposed to be small onscreen, or if the native screen resolution is low enough, you should shrink the texture down as much as you can while still making sure it doesn't look like a stretched mess in-game.
 

Servbot24

Banned
It depends what devices you're targeting (mostly because most mobile devices have considerably less VRAM than computers), but you'd probably be fine as long as you keep an eye on texture sizes.

I'll most likely be going for Mac/PC. I don't want to mess with touch controls yet and I don't like that the artwork would be so small on mobile devices.
 

embalm

Member
whoa very first review of Fruitmatter:
http://www.indiegamemag.com/fruitmatter-review/

Indiegamemagazine did a review few weeks ago, I just read it through and what do you know... Game got
80/100!
I'm happy!

Congrats on the review and the awesome score. I'm been following your progress here and on the Unity boards. Glad to see it getting some attention

What platforms did you release it on? Only PC & Mac? It looks like it could do really awesome on phones and tablets.
 

razu

Member
Development shot...

Clicky for big...


Dual monitors.. stylin'. Paid for by the day dev clients. High five to that!
 

udivision

Member
My ungainly coding would probably slay a CS 101 teacher at 50 paces.

Currently working on... lots of random bits and pieces of the game. For now, here's a not-quite-final look at how the menu should turn out. Will probably ditch the stencil font, it might be going a bit too far:

iPjp7Ynh4WQsz.png
 
After what seems like forever, I've finally updated Another Castle to version 0.05!
This update adds in a jetpack, flamethrower, spinning platforms, bouncy mushrooms, lava, and a fire golem to the game. The golems don't do much right now, but for the next update I'll be adding in ice and lightning golems that will share randomized attack patterns.


You can try it out at http://www.AnotherCastleTheGame.com and here's a youtube vid showing it off:

http://www.youtube.com/watch?v=9MxbsmQ_cuI&feature=plcp
 

Noogy

Member
Surreal, my first programming experiment was shown for a few seconds on the Spike VGA Awards. I don't think that normally happens.
 

razu

Member
100% agree with the bolded. I'd just drive me crazy :p

And actually, I've always preferred putting all source code in one folder. Otherwise you get into situations where it's tricky to decide where a file should go, people name them all weird.. then it becomes a total chore to find anything! All headers and source in one folder, for the win!!

Again, this is a non-issue when you are the entire development team! :D
 
Status
Not open for further replies.
Top Bottom