Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

879544 Posts in 32988 Topics- by 24369 Members - Latest Member: PickMeAWinnerGames

May 24, 2013, 10:00:52 AM
TIGSource ForumsDeveloperFeedbackDevLogsRobots Love Ice Cream
Pages: 1 [2] 3
Print
Author Topic: Robots Love Ice Cream  (Read 4823 times)
burtonposey
Level 0
***



View Profile WWW
« Reply #15 on: April 01, 2012, 12:18:12 PM »

It's been a really long time since I've posted. The game is still on-going and we've been pouring any time we have into it since August. A lot of our team members have full time jobs and I'm pretty much no exception. I've been doing a lot of contract work and "storing up nuts" to afford several months off to work exclusively on the game. It was just proving to difficult to just keep floating from contract gig to contract gig and I didn't want to take a salary job and be required to sit in a chair for 8hours a day and more if they needed me.

So, as of this Friday, I'm on Robots Love Ice Cream until at least July, when we hope to have the game finished up.

We're about 3-4 weeks from the first milestone, where we'll have a nice vertical slice ready to show off and the first level will be, for the most part, a complete experience. A lot of our approaches have changed and the visual look and feel is a bit more refined (at least I think so). The Kickstarter campaign proved to be a very reactionary experience. We made decisions because we needed to show more and keep interest peaked and not because we felt they were the right decisions. We just didn't have time to think. So we've been building the game up and tearing it down trying to figure out what we want to make and what we feel like people will enjoy.

Here's some images of some of the stuff we've been working on since my last post ages ago.


First guy's name is Spinston. He captures the Citizens in the game, at least in the first level.

The second fella's name is Scrambles. He's more of a stationary turret sort of robot. He hovers and fires from his two side-oriented cannons and then his base rotates 90 degrees and then he fires from those.

The last image is a WIP of the "hero" of the game, the ice cream truck. It has the default weapon, that we're currently calling "Plain Vanilla", attached. The truck will keep it's same core form intact when the player switches weapons, but the mount/turret will change to make it easy for the player to see which weapon they've equipped.

What's in store for the week:
A lot of what I'll be working on this week is just taking stock again of where we're at, organizing our project folders a bit better. I'll also be working on creating many more movement patterns for the robots and trying to find some great combinations of them to use in the enemy waves. I'm really gunning to create some nice patterns like Galaga and I've rebuilt my movement system three times now just to keep getting closer to the point where I can easily tweak the parameters for movement and rapidly iterate on the flow of enemies.

Our main artist is working on the UI design and building out the environment for the first level.

That's about all for now. Now that I have time to think (in general) I'm looking forward to posting regular updates here once again. Take care.
Logged

laxwolf
Level 1
*



View Profile WWW
« Reply #16 on: April 01, 2012, 05:37:16 PM »

wow, I'm so happy to see this again. Grin

if only that $18,000 could of gone to someone working full time on the game.
Logged

Solo artist, modeler, designer, and programmer at 3dbitgames!
brettchalupa
Guest
« Reply #17 on: April 01, 2012, 05:44:28 PM »

This looks really promising! I didn't know about it when it was kickstarted, but I am excited to follow development. Smiley
Logged
burtonposey
Level 0
***



View Profile WWW
« Reply #18 on: April 01, 2012, 06:23:30 PM »

wow, I'm so happy to see this again. Grin

if only that $18,000 could of gone to someone working full time on the game.

Yea, we've had many different expenses for stuff for things that we couldn't quite anticipate. But we've managed about as well as we can and we just try to have a great time working on it each and every day for as long as we could afford to. But I'm in a great position now, not having to take any work until August and just focus on making the game awesome.

Edit: Also, to break down the numbers 7% of that amount is gone from the start with fees from Amazon Payments and Kickstarter. Then you have costs of fulfilling rewards. We asked for an amount we felt like we could conceivably get through Kickstarter, but I think we anticipated putting a lot of our own resources into it as well and that's where we're at,  Smiley.
« Last Edit: April 01, 2012, 06:50:51 PM by burtonposey » Logged

Franklins Ghost
Level 10
*****



View Profile WWW
« Reply #19 on: April 01, 2012, 10:53:09 PM »

Hadn't seen this project before but just went through the posts and like the different character designs Smiley
Logged

burtonposey
Level 0
***



View Profile WWW
« Reply #20 on: April 02, 2012, 08:42:01 AM »

Hadn't seen this project before but just went through the posts and like the different character designs Smiley

Thank you very much! The concepts are being done by a friend who apparently has some mental tap into my brain because he's channeling my love of Mega Man and vinyl toys perfectly. I've been doing the modeling, unwrap, & rig on them and my lead artist is doing the textures.

We're taking it one level at a time, but I think our thinking is the later levels will have different and/or altered enemies that match the level's theme (a la Mega Man's stages).
Logged

burtonposey
Level 0
***



View Profile WWW
« Reply #21 on: April 05, 2012, 09:29:40 PM »

For a while now, I've been working to find a solution to get my enemies flying in different patterns with the most minimal amount of overhead. Tonight I think I came across my final solution.

Background:
One of the more unique things about RLIC is it is happens around a planet. So it plays like a side scrolling arcade shoot 'em up, but when you get far enough horizontally, you are back at the start of the level, because the horizontal element is essentially a heading around the planet. It's kinda cool in theory. I have two functions that help me translate and orient any entity with certain properties with respect to a heading, a height, and the center of the world.

The Problem:
In practice, it's really difficult to program everything in the game with this consideration, especially when it comes to the movement of the enemies. In a normal, orthographic game, you'd lay out your cool bezier curves and be done. Simple enough. Now, wrap that around a planet and your ability to express those patterns easily becomes difficult because your curves don't respect the curvature of the planet.

The Solution, take one (path of least resistance, worst results):
I've messed around with many different methods to solve this issue. One of them involved not using animation or bezier curves and just trying to math the problem to death, without any visual construction. This has proved to not give me the flexibility I need to express the Galaga-like patterns I want (likely due in part from a lack of deep math knowledge/practice). I can't really make an enemy bob one second and then dive towards the player using math without spending half a day. I just wasn't getting cool enough motions with having them simply moving along sine waves.

Almost the solution:
Once I realized how much I needed to find a curve solution, I started tinkering with the idea of having proxy objects animate in cartesian coordinates, like a normal game would allow. Each robot would connect with a proxy object from which the robot would glean the position and compare it to the last position the robot had for the curve animation. Using that, I can calculate an offset, feed it into my aforementioned planet-centric transform and orientation functions, and get something that worked relative to the robot when it started sampling the proxy object. This is awesome, but I was worried about the overhead of having so many proxy objects animating. If there's 15 robots on the screen, I would need 15 animated proxy objects, I still felt like there was a better, more efficient solution.

The current solution:
Refusing to believe I had an optimal solution, I kept an eye out for a better way and kept poking around answers.unity3d.com and got an idea from a few posts that I could actually query an animation using a point in time and do something like the following:
Code:
AnimationState _animState = this.animation["TestAnimation_01"];
float length = _animState.clip.length;
float newTime = Random.Range(0, _animState.length);
_animState = animation["TestAnimation_01"];
Debug.Log("pre: " + transform.position);
_animState.time = newTime;
animation.Sample();

This code effectively takes the animation, Test_Animation_01, and pushes it to a particular time. Then, using Sample(), it forces an update. This might be obvious to some of you guys who use Unity, but I had no idea I could sample an animation from any point in it's duration! From there, I can simply return the transform.position of the GameObject this animation curve is attached to and the robot who asked for it can use it as it wishes.

The opens up the possibility that every robot that needs this pattern for movement in the entire level can sample this AnimationClip from a Manager, ask it what it looks like at a point in time, and free it up for another to use it. We now have n-1 less guys that need to be updating an animating Animation Component every frame.

Here's my little crude sandbox proof of concept for the "curve sharing". This is really crude and still a bit off of what I'll need in my final implementation, but wanted to post regardless it in case anyone had any need for something like this. So again, essentially there's one object with an animation definition and the others are simply asking the single instance to simulate what it looks like at a point in time with respect to when it was activated (waitTime).
web demo
curvesharing.unitypackage

That's about all I have for tonight. This is really going to allow us to be more expressive with how the enemies move, not to mention cut down on the time to tweak the movements.
Logged

pwei
Level 0
*


View Profile
« Reply #22 on: April 06, 2012, 06:57:34 AM »

Interesting project.

I'm not sure I really understand your curve problem.  When you say were you programming things with respect to 'heading, height & center', do you just mean polar coordinates (r,θ)? 

This actually seems fine, even with the curves you are talking about.  Instead of thinking about (r,θ), imagine you are playing a Galaga type game, but when you go off the sides you wrap.  This is a Cartesian coordinate system (x,y) that wraps on the x-axis.  It's easy to imagine how your curves move in this system right?  Now transform your coordinate system:

r = y + PlanetRadius
θ = x / max(x)

To get back from (r,θ) into screen space just do the normal polar coordinate transformation but also rotate the sprite by θ

Does this address your problem, or am I just confused?
Logged
burtonposey
Level 0
***



View Profile WWW
« Reply #23 on: April 06, 2012, 08:59:34 AM »

Interesting project.

I'm not sure I really understand your curve problem.  When you say were you programming things with respect to 'heading, height & center', do you just mean polar coordinates (r,θ)? 

Polar coordinates are essentially what I'm doing, though I'll take another look at it. I actually started working from a Super Stardust HD algorithm I found and removed the 3rd dimension from it so the transforms are just played out on two dimensions, which is the space where my gameplay takes place, despite it being presented in a 3d manner.

My problem was finding a way to express the animations efficiently. One thing I've found about the animation curves is that they're not relative. So if I have an enemy doing animation A and then he switches to animation B, I need some way of saying, "Do that, but relative to where I'm at right now". This proxy curve stuff allows me to do that. I just calculate offsets based on where it was at time 1 vs. time 2.
Logged

burtonposey
Level 0
***



View Profile WWW
« Reply #24 on: April 14, 2012, 03:25:24 PM »

Managed to get my robot animation stuff working quite nicely. I have a system that lets me lay one animation curve out for each type of animation needed in a level and have robots simulate themselves in the game world, relative to where they are. I'm not quite ready to show it off, so I'll just leave it at that. Should have something presentable and decent in about 3 weeks.

I also fixed an issue that I've had for several months. After our Kickstarter, I came to the intelligent conclusion that it would require a lot less overhead to move only the hero truck and the camera instead of everything else in the game world. The end result is visually identical, but I only have to move two objects with respect to the game world instead of N-2 things, Smiley. I had to break out the Law of Cosines to figure out what my turret angle needed to be and I also need to use Unity's WorldToScreenPoint to figure out if I need to invert my angle to a negative one.

Going to move back onto the enemies. I've got a big list of things to work on there, including but not limited to:
- creating firing mechanics for the turret type enemies (hovering, stationary guy - Scrambles)
- wire existing animations in for Scrambles (firing, reloading, defeated)

Just wired up all of the animations for Spinston for the first time. Here's a look at the capture process right now. I've go to programmatically pace the pull of the Citizen a bit. I'd like to time it with Spinston's actual spin so that the Citizen pulls up more when he's actually spinning and starts to lose pull/traction when he's winding up.

Logged

burtonposey
Level 0
***



View Profile WWW
« Reply #25 on: June 30, 2012, 10:35:40 AM »

It's been a while since I've updated, but we've been really busy and hard at work on the game.

I managed to work an extra project to afford to bring on another artist so apart from creative oversight I can work on programming more which is where I'm needed the most.

We're planning on getting the game into a near-beta state around July 12. Still a ton to do, but it's all been a lot of fun since I've been able to focus almost exclusively on RLIC.

The game is still really performant, which makes me feel better about how many times I've gutted a few systems and gone back and re-approached them.

This weekend I'm working on wiring up the user interface systems to code. We're using NGUI now, though we did start with EZGUI. This was a great call and an easily affordable move as NGUI was only $45 and I found out that one license purchase covers my whole team. NGUI has a level of approachability that has made it easy for my new artist to setup the components in Unity so I can wire them up with the game systems. We still need to figure out exactly how we'll do the SD/HD atlas switching to accomodate retina/non-retina iPad displays.

I've got a lot to show, but I'd rather hold on to some of the cards in my hand. That said, here's our latest truck concept for the ice cream truck. This is a paint-over done over the 3d model, but the actual textured model looks every bit this good, Smiley.

Logged

burtonposey
Level 0
***



View Profile WWW
« Reply #26 on: July 02, 2012, 12:08:39 AM »

Been stuck in gameplay GUI work for the past two nights. I think I'm about a day behind where I wanted to be, but I made the mistake (again) of not taking the time to quantify the needs for each component. At least I wrote a bunch of hooks for letting us scale and color everything when the values changed using the NGUI tweening api.

Definitely been going through about every emotion I can think of trying to get the game ready for beta. There's still a ton to do and it sucks that I end up feeling guilty about something as necessary as needing to get some rest.

Over the next day or so I'll be putting in the pause screen and level select screen, which is going to be pretty incredible looking. I feel like sharing the pictures of it, but I'd rather show the concepts with the in-game version, :D. My contract artist just finished bringing in assets from our comps for our menus and is moving onto remodeling the citizen buildings a bit to make them stand out in the foreground a bit more. They're also a lot more endearing. This is for the future sector (think themed Mario world) and I have been fighting to get the models a bit more whimsical and less technical and sharp. The solution was not a texture treatment but a retrofit of the mesh topology.

Hope everyone is well. Take care.
Logged

burtonposey
Level 0
***



View Profile WWW
« Reply #27 on: July 14, 2012, 08:47:20 PM »

Been a bit burnt out lately. Had to take a few days and unwind. Our contract artist has been doing an amazing job and keeping the art moving ahead and our main artist is back from a vacation and on task once again.

I'm working on currency pickup and the logic to make it look interesting. I was working on UI for gameplay but got a bit burnt out after my two day task turned into a week and a few days. So I'll come back to that. One thing I caught us doing was designing for things that we didn't have a firm understanding of mechanic-wise. We run the risk of wasting creative time if our mechanics change and the UI conveys in a way that no longer applies. So it's good to be off of that for a few days.

Once I'm through with the currency pickup logic, I'll be implementing a score mechanic similar to Super Stardust HD where the player can achieve a multiplier that gets increasingly harder to surpass and will reset if the player gets stunned or a citizen is captured. I really enjoyed this mechanic in Super Stardust HD and I think it sets the bar for excellence really high and spreads the distribution of scores out nicely.

That's about all for now. Time for less talking, more doing. I'll leave you with concept 3d paint-over of the building look and feel for the future sector. The actual game textures look pretty dead on, so I'm thrilled.
Logged

John Sandoval
Level 10
*****


i am become death


View Profile WWW
« Reply #28 on: July 14, 2012, 09:44:28 PM »

Love the character models.
Logged

burtonposey
Level 0
***



View Profile WWW
« Reply #29 on: July 21, 2012, 12:33:46 AM »

Love the character models.

Thanks! Sorry I didn't thank you earlier.

I've been doing a bit of everything and staying up a lot lately to get in 3-5 hours of extra work. I'm kinda numb.

Good team momentum
We had a great week this week and it seems that all three guys including myself who are working on the game really were encouraged by each others progress. It felt really good to have such a reciprocal sense of accomplishment. I can't say it's always felt that way, but I'm going to enjoy it and try everything I can to keep it going.

Enemy Wave System revisions
This week I've been shoring up deficiencies in my enemy systems based on feedback from my contract artist as he puts together the waves of enemies. I added a timeout to the enemies so they can just bolt from the level after a certain amount of time. If they do bolt, the player's multiplier resets to 0. Oh yeah, I added a score multiplier finally. It's a nice element that helps to spread scores out a bit.

UI
I've also spent a lot of time work on wave complete UI. The waves of enemies are like the chapters of a book and when you reach the end of one, you get assessed based on how fast you completed it. Programming it tends to be something that I get in and I can't find the motivation to get through it or I realize that I've got logic that goes behind it that isn't there yet. I tend to bounce in and out of working on it as it isn't my favorite thing to do. I'm just focusing on putting the numbers in there and I'll worry about the fluid presentation of the numbers (number rolls and tweens) once we're sure this is what we want to show.

Weapons
I'm working on rewiring the weapon systems. Right now it's very embedded into the Hero/Truck itself. What it needs to be is a snap-on sort of behavior where it just mounts and then it does it's own thing apart from the truck, though it does move with it since it's a child object. Got the final version of the truck rigged with suspension and a weapon mount. Got the default weapon textured, rigged, and imported into the game. We also modeled and textured a second weapon, the Rocket Pop Launcher. It looks a-mazing if I do say so myself. It's some of the best texture work my lead artist has done to date!

Game currency pickups
I have currency pickups working in the game in a primitive state. When the player gets within range of the currency, it flies towards the truck. I'd like to have them move towards the truck along slightly differing arcs, but I haven't resolved how I'm going to do that. Right now it's more A to B. I also textured and set up the material shader for the pickups too. I'll divulge the name a bit later. It's got pretty cute reasoning behind it.

I'll post some pictures later today to correspond with #screenshotsaturday. Right now I'm shaking I'm so tired, so I'm off to bed. Thanks for following along! Night
Logged

Pages: 1 [2] 3
Print
Jump to:  

Theme orange-lt created by panic