Finally live, play it here.
As always if you have any questions about its development please ask, this is a development forum and we should be using it to learn from each other.
Enjoy the terror.
Squize.
Printable View
Finally live, play it here.
As always if you have any questions about its development please ask, this is a development forum and we should be using it to learn from each other.
Enjoy the terror.
Squize.
Only had time to play it briefly for now, will play longer after today´s work is finished for sure.
In a nutshell its just pretty kick a s s =)
Great visuals and sfx form an atmo rarely seen in a flash game if ever. Really, Production values really make it stand out.
And yeah, as oldschool alien/ sci fi fan i adore every corner of it.
Excellent work fellas.
I wondered though, did you get paid for putting it on newgrounds?
Cheers mate :)
And yeah, newgrounds were kind enough to sponsor it, we don't self sponsor as we don't have a proper portal in place ( Or the desire to make one yet ).
Squize.
Squize it's a nice game. Very similar to the one i'm developing.
We'll i'm glad your open to helping. When I asked for your help before, your reply was "I've tried making diablo type games before, just give up now"Quote:
As always if you have any questions about its development please ask, this is a development forum and we should be using it to learn from each other.
Honestly it has nothing to do with diablo except that you used to click to attack and I changed it to space. It's a stick guy, some rats to kill, and a few spiders. I could really use your help, hence your game is so similar to mine, and I am VERY new to this. I have developed this game completely on my own. I have made alot of changes to it since my last post. Check it out and tell me what you think. I REALLY need some help fixing some glitches with the inventory, but it's coming along VERY well. A lot better then anything i've ever made. Please, if your going to tell me to give up, save your breathe. I would rather work on something then nothing.
Here is a link.
http://megaswf.com/serve/1600856
http://megaswf.com/serve/1600856
http://megaswf.com/serve/1600856
for some reason when I upload it to megaswf then I can't open and close the inventory, but in my .swf I can, so I don't know what the deal is with that. The things I could REALLY use help with, is when you close the inventory, you can still see the items in the slots. Another problem I'm having is I need to make it so when the items are on the floor and you walk, then they scroll with the background. Someone who is knowledgeable in arrays, and for(i=0, i<2, i++) { statements would be a huge help.
can someone play this all the way through and give me some REAL feedback? Like glitches that need fixed, things I can implement, and a partner or two to complete the game would be awesome. I am really sick of perusing every project on my own, getting so far, then getting stuck, and giving up. Again, only REAL advice plz, Don't say "I have tried a diablo type game, it's too hard, give up"
"I've tried making diablo type games before..." :)
I gave your game a try, it's still early days for it isn't it.
* Inventory
I couldn't really tell what was going on there. I'd look at using a multi-dimensional array for storing things, like in tilebased games.
That way you can create a grid for your inventory slots. When you drag a new item in you work out it's x,y coords, convert those to it's position within the grid, if its empty you can then add it to the inventory.
As for items being left behind, if you make the grid a sprite then you can either:
Attach each item into the correct grid position.
Have a movieclip with every item in each grid position, and then just gotoAndStop to the correct frame for that item ( Leave frame 1 blank for an empty slot ).
Then you just have to toggle the visible flag of the inventory sprite.
* Scrolling objects
Just place them in the same sprite as the background, when the background scrolls they will too.
I think you mistook my previous advice. Making an RPG is really hard, I've made 90+ games and only one of those was an RPG. And it was hard work :)
You're still using AS2, part of my advice was to change over to AS3. It's much much better in every way. Painful as hell when you're changing over, it seems like a stupid painful bloated mess, but now I can't go back to AS2, it's so weak in comparison.
Nothing makes you a better game developer than completing games, it doesn't matter what your first complete game is like, as everyone after that will be better.
Doing an RPG you're just going to struggle and get frustrated and eventually ditch it. There were lots of games I wanted to make when I first started, but I held off until I was good enough to make them to the standard I wanted.
Squize.
superb! glorious graphics and tantalizing game play. 99 outta 10
Hey thanks for the reply.
Yes, it's in its VERY early stages. I'be dabbles in flash off and on since like flash 5 but I haven't even had the program for the last 4-5 years or so. When I made that original post I was actually only into the project about 4 days. I'm really just trying to re-learn everything, before I switch over to AS 3.0.
Did you try the new link I just put up? The inventory system is actually fully functional. When you kill the spider and equip the armor, you get +50 health. The first chest gives you a helmet that adds +25 health, the bone shield gives 25 and the boots give you +3 move speed, and the bone club changes your dmg from 1-2 to 1-4. I was actually impressed that I could make that happen, I was just messing around with a .fla called inventory i found on this site.
It's not much yet but I don't want the .fla out for the public yet, but can I e-mail it to you and maybe you could look over it and give me some tips?
My biggest problem right now is when I create an item from the library like this:
, then I want to add additional actions to the items that are created using the function createInventoryItem(). For example. The way the inventory works is it's just a mask that covers it up. So when you let of of 'I' key then mask covers it up, but when you do it again, then it goes away. Revealing and hiding the inventory, but you can still see the items placed in the inventory slots. The problem is that for some reason the duplicated movie clips like the rats, and the items created from the library, are placed over all the other layers. Is there a way to either place those created MC's in a layer below the mask so they are covered as well? Or, apply actions directly to those new MC's, for example: the helmet is called _item. So how do I make it so that when:Quote:
//function to create item
function createInventoryItem() {
//creats helmet
if (createItems == "helmet") {
//attach item to stage
var _item = attachMovie("item", "item"+uniqueItemId, _root.getNextHighestDepth());
//var _item = attachMovie("idName", "item" + newName, depth [, initObject]))
//set item position
_item._x = _root.itemX;
_item._y = _root.itemY;
//set item settings
_item.myName = "item"+uniqueItemId;
_item.slotID = "empty";
//make helmet a button
_item.onPress = function() {
dragItem(this)
}
_item.onRelease = _item.onReleaseOutside = function() {
dropItem(this);
}
//add item to array
items_array.push(_item);
//update unique Item Id
uniqueItemId++;
}
//create bone club
if (createItems == "boneclub") {
//attach item to stage
var _item2 = attachMovie("boneClub", "boneClub"+uniqueItemId, _root.getNextHighestDepth());
//var _item = attachMovie("idName", "item" + newName, depth [, initObject]))
//set item position
_item2._x = _root.itemX;
_item2._y = _root.itemY;
//set item settings
_item2.myName = "item2"+uniqueItemId;
_item2.slotID = "empty";
//make helmet a button
_item2.onPress = function() {
dragItem2(this)
}
_item2.onRelease = _item2.onReleaseOutside = function() {
dropItem2(this);
}
//add item to array
items_array.push(_item2);
//update unique Item Id
uniqueItemId++;
}
//create spiderBoots
if (createItems == "spiderboots") {
//attach item to stage
var _item3 = attachMovie("spiderBoots", "spiderBoots"+uniqueItemId, _root.getNextHighestDepth());
//var _item = attachMovie("idName", "item" + newName, depth [, initObject]))
//set item position
_item3._x = _root.itemX;
_item3._y = _root.itemY;
//set item settings
_item3.myName = "item3"+uniqueItemId;
_item3.slotID = "empty";
//make helmet a button
_item3.onPress = function() {
dragItem3(this)
}
_item3.onRelease = _item3.onReleaseOutside = function() {
dropItem3(this);
}
//add item to array
items_array.push(_item3);
//update unique Item Id
uniqueItemId++;
}
//create spider Chest
if (createItems == "spiderchest") {
//attach item to stage
var _item4 = attachMovie("spiderChest", "spiderChest"+uniqueItemId, _root.getNextHighestDepth());
//var _item = attachMovie("idName", "item" + newName, depth [, initObject]))
//set item position
_item4._x = _root.itemX;
_item4._y = _root.itemY;
//set item settings
_item4.myName = "item4"+uniqueItemId;
_item4.slotID = "empty";
//make helmet a button
_item4.onPress = function() {
dragItem4(this)
}
_item4.onRelease = _item4.onReleaseOutside = function() {
dropItem4(this);
}
//add item to array
items_array.push(_item4);
//update unique Item Id
uniqueItemId++;
}
//create bone shield
if (createItems == "boneshield") {
//attach item to stage
var _item5 = attachMovie("boneShield", "spiderShield"+uniqueItemId, _root.getNextHighestDepth());
//var _item = attachMovie("idName", "item" + newName, depth [, initObject]))
//set item position
_item5._x = _root.itemX;
_item5._y = _root.itemY;
//set item settings
_item5.myName = "item5"+uniqueItemId;
_item5.slotID = "empty";
//make helmet a button
_item5.onPress = function() {
dragItem5(this)
}
_item5.onRelease = _item5.onReleaseOutside = function() {
dropItem5(this);
}
//add item to array
items_array.push(_item5);
//update unique Item Id
uniqueItemId++;
}
//end of create item
}
/*------------------------------Make item appear-----------------------------------*/
//button to create a new helmet
chest1Clicked = false;
chest2Clicked = false;
//CLICKING CHEST 1 DROPS A HELMET
_root.chest1.onRelease = function() {
if(chest1Clicked == false) {
_root.itemX = _root.chest1._x+20;
_root.itemY = _root.chest1._y+30;
chest1Clicked = true;
createItems = "helmet";
createInventoryItem();
_root.chest1.gotoAndPlay(2);
}
}
//CLICKING CHEST 2 drops spider boots
_root.chest2.onRelease = function() {
if(chest2Clicked == false) {
_root.itemX = _root.chest2._x+30;
_root.itemY = _root.chest2._y+60;
chest2Clicked = true;
createItems = "spiderboots";
createInventoryItem();
_root.chest2.gotoAndPlay(2);
}
}
//clicking boneClub drops new item
_root.skeleton.boneClub.onPress = function() {
//changes variable to boneclub so that you get club instead of helmet
createItems = "boneclub";
//resets item position
_root.itemX = _root.skeleton._x + 75;
_root.itemY = _root.skeleton._y + 10;
//creates item and changes skele animation
createInventoryItem();
_root.skeleton.gotoAndPlay(2);
}
//clicking boneShield drops new item
_root.skeleton.boneShield.onPress = function() {
//changes variable to boneclub so that you get club instead of helmet
createItems = "boneshield";
//resets item position
_root.itemX = _root.skeleton._x - 25;
_root.itemY = _root.skeleton._y + 10;
//creates item and changes skele animation
createInventoryItem();
_root.skeleton.boneShield.gotoAndStop(2);
}
if( _root.mask._currentFrame == 1) {/*which is the frame that the mask is there so that you can't see the inventory*/
then. _item._visible = false;
}
so that when the mask is gone and you can't see the inventory, then you can't see the _item ((which is the helmet)) either. Does that make sense? Anyways I'm going to try and send you the .fla I would love some help, I hate trying to create full games all by myself.
Hey thanks for the reply.
Yes, it's in its VERY early stages. I'be dabbles in flash off and on since like flash 5 but I haven't even had the program for the last 4-5 years or so. When I made that original post I was actually only into the project about 4 days. I'm really just trying to re-learn everything, before I switch over to AS 3.0.
Did you try the new link I just put up? The inventory system is actually fully functional. When you kill the spider and equip the armor, you get +50 health. The first chest gives you a helmet that adds +25 health, the bone shield gives 25 and the boots give you +3 move speed, and the bone club changes your dmg from 1-2 to 1-4. I was actually impressed that I could make that happen, I was just messing around with a .fla called inventory i found on this site.
It's not much yet but I don't want the .fla out for the public yet, but can I e-mail it to you and maybe you could look over it and give me some tips?
My biggest problem right now is when I create an item from the library like this:
, then I want to add additional actions to the items that are created using the function createInventoryItem(). For example. The way the inventory works is it's just a mask that covers it up. So when you let of of 'I' key then mask covers it up, but when you do it again, then it goes away. Revealing and hiding the inventory, but you can still see the items placed in the inventory slots. The problem is that for some reason the duplicated movie clips like the rats, and the items created from the library, are placed over all the other layers. Is there a way to either place those created MC's in a layer below the mask so they are covered as well? Or, apply actions directly to those new MC's, for example: the helmet is called _item. So how do I make it so that when:Quote:
//function to create item
function createInventoryItem() {
//creats helmet
if (createItems == "helmet") {
//attach item to stage
var _item = attachMovie("item", "item"+uniqueItemId, _root.getNextHighestDepth());
//var _item = attachMovie("idName", "item" + newName, depth [, initObject]))
//set item position
_item._x = _root.itemX;
_item._y = _root.itemY;
//set item settings
_item.myName = "item"+uniqueItemId;
_item.slotID = "empty";
//make helmet a button
_item.onPress = function() {
dragItem(this)
}
_item.onRelease = _item.onReleaseOutside = function() {
dropItem(this);
}
//add item to array
items_array.push(_item);
//update unique Item Id
uniqueItemId++;
}
//create bone club
if (createItems == "boneclub") {
//attach item to stage
var _item2 = attachMovie("boneClub", "boneClub"+uniqueItemId, _root.getNextHighestDepth());
//var _item = attachMovie("idName", "item" + newName, depth [, initObject]))
//set item position
_item2._x = _root.itemX;
_item2._y = _root.itemY;
//set item settings
_item2.myName = "item2"+uniqueItemId;
_item2.slotID = "empty";
//make helmet a button
_item2.onPress = function() {
dragItem2(this)
}
_item2.onRelease = _item2.onReleaseOutside = function() {
dropItem2(this);
}
//add item to array
items_array.push(_item2);
//update unique Item Id
uniqueItemId++;
}
//create spiderBoots
if (createItems == "spiderboots") {
//attach item to stage
var _item3 = attachMovie("spiderBoots", "spiderBoots"+uniqueItemId, _root.getNextHighestDepth());
//var _item = attachMovie("idName", "item" + newName, depth [, initObject]))
//set item position
_item3._x = _root.itemX;
_item3._y = _root.itemY;
//set item settings
_item3.myName = "item3"+uniqueItemId;
_item3.slotID = "empty";
//make helmet a button
_item3.onPress = function() {
dragItem3(this)
}
_item3.onRelease = _item3.onReleaseOutside = function() {
dropItem3(this);
}
//add item to array
items_array.push(_item3);
//update unique Item Id
uniqueItemId++;
}
//create spider Chest
if (createItems == "spiderchest") {
//attach item to stage
var _item4 = attachMovie("spiderChest", "spiderChest"+uniqueItemId, _root.getNextHighestDepth());
//var _item = attachMovie("idName", "item" + newName, depth [, initObject]))
//set item position
_item4._x = _root.itemX;
_item4._y = _root.itemY;
//set item settings
_item4.myName = "item4"+uniqueItemId;
_item4.slotID = "empty";
//make helmet a button
_item4.onPress = function() {
dragItem4(this)
}
_item4.onRelease = _item4.onReleaseOutside = function() {
dropItem4(this);
}
//add item to array
items_array.push(_item4);
//update unique Item Id
uniqueItemId++;
}
//create bone shield
if (createItems == "boneshield") {
//attach item to stage
var _item5 = attachMovie("boneShield", "spiderShield"+uniqueItemId, _root.getNextHighestDepth());
//var _item = attachMovie("idName", "item" + newName, depth [, initObject]))
//set item position
_item5._x = _root.itemX;
_item5._y = _root.itemY;
//set item settings
_item5.myName = "item5"+uniqueItemId;
_item5.slotID = "empty";
//make helmet a button
_item5.onPress = function() {
dragItem5(this)
}
_item5.onRelease = _item5.onReleaseOutside = function() {
dropItem5(this);
}
//add item to array
items_array.push(_item5);
//update unique Item Id
uniqueItemId++;
}
//end of create item
}
/*------------------------------Make item appear-----------------------------------*/
//button to create a new helmet
chest1Clicked = false;
chest2Clicked = false;
//CLICKING CHEST 1 DROPS A HELMET
_root.chest1.onRelease = function() {
if(chest1Clicked == false) {
_root.itemX = _root.chest1._x+20;
_root.itemY = _root.chest1._y+30;
chest1Clicked = true;
createItems = "helmet";
createInventoryItem();
_root.chest1.gotoAndPlay(2);
}
}
//CLICKING CHEST 2 drops spider boots
_root.chest2.onRelease = function() {
if(chest2Clicked == false) {
_root.itemX = _root.chest2._x+30;
_root.itemY = _root.chest2._y+60;
chest2Clicked = true;
createItems = "spiderboots";
createInventoryItem();
_root.chest2.gotoAndPlay(2);
}
}
//clicking boneClub drops new item
_root.skeleton.boneClub.onPress = function() {
//changes variable to boneclub so that you get club instead of helmet
createItems = "boneclub";
//resets item position
_root.itemX = _root.skeleton._x + 75;
_root.itemY = _root.skeleton._y + 10;
//creates item and changes skele animation
createInventoryItem();
_root.skeleton.gotoAndPlay(2);
}
//clicking boneShield drops new item
_root.skeleton.boneShield.onPress = function() {
//changes variable to boneclub so that you get club instead of helmet
createItems = "boneshield";
//resets item position
_root.itemX = _root.skeleton._x - 25;
_root.itemY = _root.skeleton._y + 10;
//creates item and changes skele animation
createInventoryItem();
_root.skeleton.boneShield.gotoAndStop(2);
}
if( _root.mask._currentFrame == 1) {/*which is the frame that the mask is there so that you can't see the inventory*/
then. _item._visible = false;
}
so that when the mask is gone and you can't see the inventory, then you can't see the _item ((which is the helmet)) either. Does that make sense? Anyways I'm going to try and send you the .fla I would love some help, I hate trying to create full games all by myself.
that's weird. When I test the game in the .swf i uplaoded to megaswf.com, then it doesn't work. The items won't even stick in the slots, but it works fine on my computer. I really need to send you the .fla so you can see what I'm talking about.
Cheers Blink :)
It's like old times in here with you and Tom. We just need iopred and daydream and it'll be 2003 all over again.
JD, sorry mate, I work full time doing this and I really don't have the time to look through a fla.
I looked through the code you posted, and a couple of things caught my eye.
You're attaching movies onto _root ? You should be attaching them to the inventory mc, that way they become children of that mc, so hiding them is as simple as inventoryMC._visible=false;
Also you're kinda hard coding the chests, so chest1 contains a helmet, etc. You're going to go through hell changing things.
Create a chest class, a generic holder that detects a button press. When the player clicks on it you can then either give it a random item, or pull which item should be in it from an array.
It sounds so much more work, and in the short term it is, but it will pay off. Imagine creating 10 levels with 10 chests in each, that would be soul destroying coding them all by hand like that, not to mention error prone.
I don't know if I've got my old as2 oop structure anywhere, I'm sure I posted it on here way back, I'll try and look for it for you.
Squize.
Everything your saying makes sense in theory. But if you don't know how to do it, then you don't know how, lol . . . It would be way better to do what your saying have all the chests run off one function and have them drop random item's, but i don't really know how to do that stuff that well, which is why I want you to look at the .fla lol. If you noticed I made alot of stuff random. The starting point of the first rats are random, there speeds they are a random amount between 4-7 that spwn, the second group of rats have random 10-20 health ect. Ya that sounds good. I just don't really know how to do it. That's why I was hoping you could look at it and maybe show me how to simplify/reuse the code.
JD, its understandable when you´re not that experienced yet and have the feeling there´s someone who knows about this stuff in and out and if only he could look through your stuff and act as something like a personal tutor you´d progress way quicker.
But you also gotta see it from the other´s perspective: Someone making games as a profession, as fulltime job who pays his bills with it, likely is busy in front of the computer most of the day and then if hes got some rare spare time off from it maybe not always that much into also spending that looking through someone else´s fla for the rest of the day.
I know me, like some other longtimers here probably even thought about writing a book on game development once or twice in between but most didn´t do it due to a lack of dedicated free time for it and that´s besides the point that there are meanwhile many great books on game creation out there.
That brings me to my next point: I can only speak for myself but besides the side that next to working fulltime on games and looking after my baby nephew regularly another reason for me not giving help on people´s specific flash related coding issues that often anymore these days is:
In 9 out of 10 cases when i see someone asking a coding related question in flash dev its about something i know has been answered many times before and there are also many great examples for how to tackle such problems on the internet.
Especially for things which are commonly used in many games, like in this case an inventory system you can bet there are many examples and tutorials for how to get such things done nicely in games, so a bit of googling often would really give you more help than someone else trying to make sense of looking through your fla lengthy.
Besides that, sorry to be blunt but i find it a bit off that you take over the thread to make it about questions on your game.
How would you feel working on something for weeks or months and then, finally, at the end you get to show it to the world and someone turns the topic completely away from talking about your thingy in your thread for it?
This is also a board where people can help each other with coding problems and its great when they do, Squize, me and some others of the long timers here have done that for years, but yeah, best you create an own thread on your coding issue and yeah, if someone says kindly he doesn´t have time for looking through your fla, then yeah, leave it at that =)
Rereading this post i wondered a bit to myself whether i should feel sorry for how times have changed and also for you coming years later to the party after the days where way more of the longtime members here were still just starting out with making games and sorta spending days, weeks, months and even years helping out each other on quite specific game dev problems most of the day here.
And now its sorta like: Nay man, can´t do free tutoring lengthy, busy doing this as fulltime job now with many.
But then i thought: You know, i think its also great in a way that flash game making and game development and ressources on game development and coding in general have come so far in the last 7-10 years that now its really quite sensmaking to say: man, google it and its likely in 9 out of 10 cases there´s a good solution and explanation for it already out there =)
So yeah, best we keep the focus of this thread on Squize´s game and feedback and questions on that =)
+1
:)
Squize.
The game is up on Kong now, so I thought I may as well be cheeky and mention it, seeing how aside from two mates and someone asking about their own game, the feedback has just not happened.
Here he is.
I find it funny and kinda sad about how this place has changed in that I've had more pm's at newgrounds about how aspects of the game were coded than here.
Squize.
Cool you got it onto Kong mate =)
Regarding your earlier reply to me: Nice, i wasn´t even aware Newgrounds was paying (good i hope =) ) for games.
Regarding running an own portal: Yeah, you know, we´ve been there with SN before and haven´t done it back then, meanwhile i dunno how viable it is to run an own portal when a bigger and bigger chunk of gamers is using facebook or their mobiles for the quick gaming fix.
Regarding Outpost: What´s next, a unity 3D version? I´d like that =)
Regarding the state of these forums: Yeah, you know, its not an issue with your game at all, as we talked about it before with blogs, twitter, facebook and google+ etc becoming the dominant places where people talk about their games or the development of their games and then the sites where they post the games, so there getting feedback from the audience playing the games or working on games for those places there directly, yeah, a forum like this is automatically way less trafficked than it was when all those other options didn´t exist yet or weren´t used by most yet.
It surely also has to do with how the games and flash markets have changed though, with sponsored or free to play advertising or micro transaction stuff becoming more and more common sites centered around such topics and games are trafficked higher and with flash itself, well, Adobe hasn´t exactly helped it staying the en vogue thing besides for those who already use it what with their actions in the last 6-12 months.
When you look at the unity forums in comparison they have massively growing user counts on their forums (which is both a good and a bad thing, there are way more topics coming up but with that also a larger chunk of nonsense of course, but yeah, also some really cool stuff =) ).
Me personally, besides client work i´m only really interested in doing flash stuff these days either when it is about using unity to export to flash or if and when the flash ide´s mobile flash app exporter´s result´s performance is good enough for that maybe deploying a flash made game to mobile.
So yeah, when sponsored, advertising or micro transaction driven games, or ones being deployed to mobile or being deployed as flash file from unity, well, when all these have their own active communities, there´s not that much left to a general but flash centric place like here.
Its weird yes, but if you look at the unity forums they have lots of posts on flash stuff exporting topics now so probably a much more active "flash game dev" community than the one here.
I see this place as more of a place where i get to say hi to the other old farts like me in between and in between seeing what all are up to, for the more active day to day chatter i use the other options, too.
Yeah NG aren't really considered a sponsor, but they've been quietly doing it for a while now ( They picked up my last game, DN8, too ).
Tom is a joy to work with.
I'd love to do Outpost using Unity / Stage3D, I'd still keep it top down, but having real time lighting would add so much more to it. But it's the dev time mate, I need to eat and pay bills :)
( I'm trying not to do adver-games any more, I think I only did 3 last year, which means each game has to both pay for itself and the next one, so I've got to be a lot more pragmatic about how I spend my time ).
As to FK.games, we've all known it's been in its death throes for a long long time, and I wasn't expecting ( Or particularly wanting ) a load of "Well done" posts here, but I was half expecting some questions about it, even cheeky ones about how much I sold it for, as this is a game developers forum and here's the end result of game development, a complete working live game which I'm more than willing to answer any question about ( Aside from the money :) )
Basically this thread is just an advert for the game, which is pretty wrong, but it's the way the board has gone.
Speak to you soon mate,
Squize.
Nice, i'm glad to hear =)
Yeah, i know how it is, totally the same with me.
Well, in a parallel universe we'd never broken up and i'd suggest let's do this together =)
Bummer. See, i totally wanted to ask about the money =)
Seriously though, i'd like some more posts on the development of it =)
Don't worry, there's nothing wrong with talking about something you worked on =)
Holy crap! How did I not see this :(
Either way, will play it through, and review :) Just logged in again after a long time away.
(Quickly reading through previous posts, you say you would want realtime lighting? Don't you already have that here? (Will play now :) ) )
Very cool stuff!
I liked it better than the alpha for sure. I just wish there would have been more ambient music/higher sound quality for something like this. There already were a lot of details though, which was awesome :)
I died at level 3, and will continue some other time because I've actually been a bit busy in the past while...
Great job though!
And yeah, now I see what you did with the lighting. BTW, seemed a bit weird that your flashlight sort of shows in light areas, but doesn't work in the dark ;)
This game will be an inspiration to the one I told you about ages ago, but which is on hold as I pull through several smaller games first :)
P.
Thanks mate.
I didn't want too much music for a number of reasons. A lack of music in the early levels helps create tension by making the sfx more important and brings them to the front ( "Aliens" did the same, when the marines first start looking around the base the sounds are really clear with no background music, its an old movie trick ).
Also the sfx are very bombastic, when it kicks off it kicks off loud, and music is lost in that mix. It's more important for me to feel you're in the middle of a fire fight than a film.
As to the quality, it's 64kps, and 128kps is classed as "CD quality" so its pretty good for a Flash game. There are over a 120 sounds in there, for example there are 5 different shell casing sounds, 4 types of foot step for 3 different surfaces etc. Pushing the bitrate up would have just made the filesize explode, and it's a large enough game as it is.
You may notice it through headphones, but I think it's fine through speakers.
The flashlight is just overlaid on the floor layers, and so the shadows go above that. I did try it the other way and it just didn't work as its not a true torch like effect, so it looked cheap and nasty.
Cheers for the feedback,
Squize.
I wouldn't call what I wrote feedback/a review...I WOULD do a lengthy one, but sadly I'm just busy :(
But hey, good job either way! When I see 64 kbps I get a knee jerk reaction of "ewWw", but that's my producer side getting the best of me...
When's the sequel coming? :P
P.
"Summer 2012"
( And I now know you've not finished the first one ;) )
Squize.
That one of your's Squize? Nice, I've played it two short times and was very impressed. Now since you're open for questions:
I'm taking a first stab at collaboration so I'm curious about how production was handled? You say you're on a strict budget, so I'm thinking you have a target monetary goal and translate that to a time goal? Did you use an artist, composer and how much time was spent on each facet (coding/graphics/music) and how was time budgetted/prioritised? Moscow list?
The AI in the game was impressive. It's not the complexity, but how well it is a game element is what impresses me. Do monsters wait until you enter a line of sight before beelining towards you, or are there some other factors as well?
Regarding the sound questions that popped up. I find it rather odd that you can use such high samplerates in Flash, as I'm experimenting with dynamic sound at the moment and the Flash soundbuffer asks for 441000 samples per second (which makes for a very odd number of bytes per milisecond). I do remember higher bitrates having a lot more definition in the higher end of the spectrum though. Weird. Anyways, the reason is that I want to use music which dynamicly changes with the amount of action happening on the screen and there seems to be no other way to switch between loops without latency. Outposts' music is trigger based I believe?
Cheers mate.
With regard budget, we knew it needed to sell for at least $10k to make it worth while ( That's obviously indie money, not day rate adver-game fantasy money ), so we built it more as a $20k game, as we take a pride in what we do, and the game is out there forever whilst money is just fleeting ( It is for me anyway ).
The whole point of being an indie is the creative freedom, so long as we got the min. it would pay the bills and go towards funding the next game, so that's what we based the budget on.
As to the collab, Lux and I have worked together before and been friends for ages, so it was just a joy. It's important to have an artist push you so you don't cut too many corners. In terms of work, he worked on weekends and threw a lot of hours at it too, but like I said it's more a personal pride thing.
He was totally on the same wavelength as me about it, so there was no worrying about getting his buy-in, which I think is really important.
For the music it was a mate of a mate who I'd worked with a couple of times with before. Again getting his buy-in was easy, and important.
For the AI it is a simple line of sight routine, mixed with some boid like behaviour. Its not as good as I wanted, but theres always the cpu time to consider so you can only make it so complex.
Yep, music is just triggered, nice and simple. I think you're mixing up frequency rate with mp3 encoding rate ( I can never remember the terms so I could be getting mixed up myself there too ).
Hope that answers everything mate, and thanks for asking :)
Squize.
Squize is epic...
where do you and your crew do all the work? aka where you located?
Ha, I'm the opposite of epic mate :)
I'm based in Wales after having enough of London, Lux is in America, Olli ( The other half of GYW ) is in Germany and Matt the musician is a London boy.
We're quite spread out, I seem to live on Skype.
Squize.
I had to hide in a corner with aliens everywhere because I have no ammo. :(
Other than that my only concern is that my character feels like he weighs 1000 pounds... why does he have to "build up" speed? Unless maybe the alien goo is sticky, it just seems like I had a hard time moving around.
Nitpicks aside, this game is glorious and way farther than the beta you let me test out... oddly enough it reminds me of the Mansion serious, cept' with guns.
I wanna join your crew >_<... haha whats your guys next project?
@IP
The pistol has infinite ammo, plus from level 2 onwards there are terminals where you can buy more, so you should never be totally helpless.
As to the players weight, how would you have him moving ? I wouldn't want him moving at full speed all the time as it would feel floaty and too arcade like, reverting back to 2px per frame when shooting is the price of an accurate shot and adds tension. I think going from 2px to 4px per frame in too short a space of time would feel wrong, there has to be some sort of delay to the acceleration.
Glad you liked it though, if those were the only nits being picked about the game I'd be more than happy :)
@YBAB
We're doing Outpost:Swarm as a spin off, it's already been sold which is great as we have a budget to work to.
Then I guess O2, but I've got an idea for a top down racing game that I really want to do before that, I'm approaching Alien burn out :)
Squize.
Terminals? Clearly I overlooked this. I thought the "credits" were for your score... :p
The weight makes more sense when you explain it that way. I wasn't really considering the compensation for aiming, though I still feel like it takes a little too long to switch from one speed to the other (i.e. changing direction to run from an alien while reloading, they instantly catch up to me).
Anyhow, hats-off to GYW. You guys continue to out-do yourselves.
very cool game. Didn't know you built it Squize, was playing on newgrounds for a bit.
Love the lighting, sounds are just the right amount of chunk, makes you feel like you're shooting a powerful weapon.
+1
Cheers mate, although your low post count means whatever you have to say is pretty irrelevant ;)
"Terminals? Clearly I overlooked this."
You're not the only one, we've had reviews slamming the game by people who haven't figured out the terminals ( Actually some by people who couldn't get through the 2nd door ), just the nature of the beast that some people will get more out of a game than others.
Cheers boys.
Squize.
yeah not sure what happened to my old account, logins don't work anymore. Oh well, I just need to post another 5000 usefull comments and it'll be like nothing every happened.
The game is perfect! I liked the atmosphere, sounds, story, graphics, almost everything. Really good job and a great example of how solid Flash game should look like. Congrats!
Cheers mate :)
Outpost:Swarm should hopefully be out in the next week or so ( It's all but done, just waiting on the sponsors feedback / API details ).
It's not a sequel, more a spin off. It's our definitive take on the Swarm mode in O:H, and it plays pretty well, we're more than happy with it.
Squize.
Swarm looks awesome sauce! I like the landscape, the rocks give a good break from the rectangluar/angular nature of the spaceship!
Thanks. Yeah Lux did a fantastic job for the outside locations, it gives it a totally different feel.
I managed to come up with a way of doing terrain splatting a while back and we finally got to use it in this, so there are only 3 128x128 tiles making up the floor, but it looks nice and organic because of the splatting.
I've started working with stage3D, and its fantastic, so I'm really looking forward to using that in the sequel.
Squize.
Speaking of Stage3D:
http://www.adobe.com/content/dam/Ado...es-roadmap.pdf
It's mentioned there that in the next year, they'll be finally adding lots of support for video cards, and so I probably won't be afraid to use it in the next year. :)
Which of course means, I'm going to say I'll start on my zombie game, but probably sit around and just mess around with a few demos, and then get carried away with something else... :(
Be sure to post some Stage3D demos you cook up of any crazy gfx you manage to cook up :)
Yeah everyone I know was pouring over that roadmap the other day when it came out :)
Air mobile supporting stage3D is a very big deal, a great step forward. All this doom and gloom about Adobe dropping Flash support for mobile browsers isn't anything really and makes sense ( In saying that its not all rosy, and Adobe had a PR disaster the other month when all that bad news came out in one big hit ).
I posted on the blog the other day about the first game we're doing with stage3D, a sequel to our shooter DN8. I've managed to get ND2D running alongside away3D. It's not perfect, but its still really impressive.
In the current build we've got six large planets with bump and specular mapping running over a skybox, with a silly number of sprites / particles / rotating cubes and collision detection in, and its not dropping a frame ( At 854x480 ).
Workflow isn't as smooth as you have to pack your sprites into textures for batching which is an extra step, but its so worth it. So long as DN8:Pulse sells well and feedback shows the majority of people can play it with their GPU's, I can't see us going back to the normal displayList again, stage3D is that good.
Squize.
Outpost:Swarm is finally out.
Play it here.
I'm going to do a blog post on the npc AI hopefully in the next week or if anyone is interested.
Squize.