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

GAF Indie Game Development Thread 2: High Res Work for Low Res Pay

Status
Not open for further replies.
KEEP

THE

SHAKE

Its a very useful feedback tool, IMO. There are games that go overboard with it but its good here.


For me, I think it's because Sean's game looks authentically like a Gameboy game and my mind probably expects it to also feel like one (played a lot of Gameboy when I was young). I think the screen shake messes with that expectation because screen shake as hit detection feedback (ie player hitting an object) is a relatively modern and somewhat uncommon thing. Like I said, it's probably just me.
 

asa

Member
Congrats!. I always loved Power Hover's aesthetics ( probably one of my favorites from this thread ). Planning an Android release?

Thanks! Yeah we are working on the Android version, it should come out in February. We actually have had Android build up and running couple weeks now. The game runs great, even on older devices, but the testing it on the myriads of devices takes some time.
 

SeanNoonan

Member
KEEP

THE

SHAKE

Its a very useful feedback tool, IMO. There are games that go overboard with it but its good here.

Yeah, totally keeping it, but I might allow players to disable it if they really want to - it will be on by default though.

In other news, I'm getting the hnag of this blogging thing again. It's keeping me motivated and giving me the excuse to check out other people's games. See here: http://noonan.design/
 

Blizzard

Banned
KEEP

THE

SHAKE

Its a very useful feedback tool, IMO. There are games that go overboard with it but its good here.
I pretty much never say this about screen shake...but yeah I agree with Absinthe. I think it's mild enough that it's good feedback without being disorienting.

That said, I see you're considering an option -- I love options! If it's easy to do, might as well. Accessibility options for things like seizure flashes / motion sickness / screen shake / color blindness are always nice to have.
 
I pretty much never say this about screen shake...but yeah I agree with Absinthe. I think it's mild enough that it's good feedback without being disorienting.

That said, I see you're considering an option -- I love options! If it's easy to do, might as well. Accessibility options for things like seizure flashes / motion sickness / screen shake / color blindness are always nice to have.
This is good to have. Options for stuff like this is nice, IMO.
 

SeanNoonan

Member
That said, I see you're considering an option -- I love options! If it's easy to do, might as well. Accessibility options for things like seizure flashes / motion sickness / screen shake / color blindness are always nice to have.

Yeah, it might be possible. The way the game is built might make it difficult - I'll have to investigate. Every time I have to go back to work on this game to look at the code it's like that scene in Alien Resurrection with the failed Ripley clones. It's horrid :D
 
I am still making a game but it took a huge drop in size and scale so I can actually make something and release it in one lifetime, so here are some random gif's

WldWHQq.gif


JuppjTW.gif
 

Nemo

Will Eat Your Children
We all had to go through it. I can't even remember how many times I had to downscale everything, 10+ times at least over the first three years, starting in big budget FPS games which as you can imagine took it's fall pretty damn quickly going to console DD games, to new type of PC games, to smartphone puzzle games to high res pixel art stuff to amiga inspired stuff etc before finding our comfort zone and working through that to reach a higher point with each project

It had it's benefits tho, we're specialised in doing small projects so well now it never takes more than a month for personal projects to reach completion (bugs and small standard features withstanding), basically only doing contracted work now for longer periods (although even that has it's 6 month limit at the most, working on a single project for a year or more is exhausting as hell).
 
I am still making a game but it took a huge drop in size and scale so I can actually make something and release it in one lifetime, so here are some random gif's

WldWHQq.gif


JuppjTW.gif

You've redone the character art since last shown. I think?

I'm sorry to hear you've had to cut back, but I hope you're able to finish now! Hitting milestones and completing things does wonders for your mental health.
 
You've redone the character art since last shown. I think?

I'm sorry to hear you've had to cut back, but I hope you're able to finish now! Hitting milestones and completing things does wonders for your mental health.

I still have the original assets that i'll come back to but this is a more simple version of what I wanted to make, yeah I feel like i'm progressing now these last two or so months because of it.
 
I still have the original assets that i'll come back to but this is a more simple version of what I wanted to make, yeah I feel like i'm progressing now these last two or so months because of it.

That's awesome! Are you rotoscoping at all? Have a lot of reference material? Because those animations are incredibly good.
 

tsundoku

Member
I removed it once (and the hit pause) as it a test and it really removes a lot of the feedback for successfully hitting the candles - feels like you're cutting through them like butter, rather than twatting them with a big ass whip :D

It probably feels a lot better than it looks. I'll look into adding an option to disable it, like I did device vibration when you die.

It feels like a boss damage hit type screenshake like the kind of thing you mash out when you have vulnerable time. It feels way too significant for candles which you might hit what, 10, 20, 50 of in each stage? Your pitfall is using the screenshake and the hitstop. In my bible it's hitstop for death frames, screen shake applied very rarely for things like causing damage, things that need a gutteral or visceral feedback
have you tried it with just the sound effect and the hitstop?
 

shaowebb

Member
Did some test rendering today in Blender's Cycles Render. Noticed that if you make something in Blender Render then switch to cycles Render it doesn't change your starting nodes from Materials and Output to Diffuse, and Material. Also noticed if you setup a node to use Color Data and then hook it into your other nodes that it often caches the setting even if you change it over. Sometimes the easiest thing is just to delete a node and put in another setup properly before hooking into your other maps. Displacement maps that hook into the factor area of other nodes in particular had color data issues.

Still gettin a few quirks settled out but to setup a realistic object with a ton of maps and settings to it is definitely quick in this software.

Absolutely loving the speed, stability and GUI on this thing. I only have a couple more settings and tools to check through now and I'll be a 100% switched over now to Blender from Maya. I can already feel a major difference in the ease of modeling and rigging. Really fast and intuitive options and no system slowdown or crashing on these points which is new to me considering the amount of memory ate up by Maya for me in the past during these portions of a build was huge.

Hope to post a stage soon here. Got a theory on how Platinum Games is making those TMNT cel shading and Transformers Devastation graphics. If I'm right I'll post the results.
 
That's awesome! Are you rotoscoping at all? Have a lot of reference material? Because those animations are incredibly good.

nope, it's all hand/mouse drawn but stuff like running loops always take a few revisions over time to look correct.

These sprites are 1/3 the size of the main sprites so it's felt ten times faster to animatie over sprites 128 x 96 in size.
 
I am still making a game but it took a huge drop in size and scale so I can actually make something and release it in one lifetime, so here are some random gif's

That is also our problem. My programmer friend and I, really wanted to make a game together and everytime we try, we always end with with something so big that we don't think we'll be able to finish it in our lifetime unless we work on it full time(that's not going to happen).

Our Trello and Online repository has like 10+ unfinished game.

Last christmas we had a beer and decided to start over a simpler mobile game, and only add in bigger things once we're done.

So far, after 2 weeks of work(1-2 hours worth of work weekdays and some long hours on free weekends) we now have something playable though a derivative of almost every casual mobile game out there.
 
I am still making a game but it took a huge drop in size and scale so I can actually make something and release it in one lifetime, so here are some random gif's

WldWHQq.gif


JuppjTW.gif

Sorry you've had to scale back. I was forced to cut something from my game today that I was fighting to keep for months. It's not easy, but finishing and releasing a project makes up for it.
 

Jobbs

Banned
I am still making a game but it took a huge drop in size and scale so I can actually make something and release it in one lifetime, so here are some random gif's

WldWHQq.gif


JuppjTW.gif

Man you've been at this forever. why'd you change the sprite entirely? it looks awesome though.
 

Ranger X

Member
nope, it's all hand/mouse drawn but stuff like running loops always take a few revisions over time to look correct.

These sprites are 1/3 the size of the main sprites so it's felt ten times faster to animatie over sprites 128 x 96 in size.


You've made the right decision. You game will not be any less fun and we will actually be able to play it instead of the game being "forever in dev".
I should actually take a clue since my own game is in dev like since 2 years lol
 

Jumplion

Member
Small thing, but I got a "game over" screen to work alongside displaying how long the player survived.


Also have random text appear above the timer, varying from encouragement to trash talk. Like I said, small stuff, but it's nice to see some progress, even if it's just some pepper here and there.

I'll try to keep the updates on my thing more substantial, just have a few features and then figure out how to make it look halfway decent.
 

correojon

Member
I am still making a game but it took a huge drop in size and scale so I can actually make something and release it in one lifetime, so here are some random gif's

WldWHQq.gif


JuppjTW.gif
Those screens look awesome! What size are the character´s sprites, 42x32? I ended up with over 64x32 sprites and they don´t look so detailed by a mile, not to talk about the animation fluidity...and I´m using a tablet. Whenever I try to do something by hand I haver to scrap it. Mad props to you! Do you have a devblog or something where I could follow development of your game?

I´m making a SMW "clone" and constantly have to remind myself that the longest animation there is just 3 frames, but somehow I always end up doing more complicated sprites :S
 

anteevy

Member
My problem with my game's scale was the other way around. Started as a small balls game and grew bigger and bigger and I couldn't stop :D. Ah, let's double the amount of levels, let's add secret areas, bonus levels, a level editor, let's add leaderboards, let's add rush levels, different ball skins, etc. Having a release date (window) now helped me say "nope, that's it, nothing more, anything else as free DLC or something". Just finishing now what I started. (I hope) (it's hard to ignore that ideas.txt file with over 300 lines) (please help me) (god, what would have happend if I had started an RPG?)
 

Vanguard

Member
My problem with my game's scale was the other way around. Started as a small balls game and grew bigger and bigger and I couldn't stop :D. Ah, let's double the amount of levels, let's add secret areas, bonus levels, a level editor, let's add leaderboards, let's add rush levels, different ball skins, etc. Having a release date (window) now helped me say "nope, that's it, nothing more, anything else as free DLC or something". Just finishing now what I started. (I hope) (it's hard to ignore that ideas.txt file with over 300 lines) (please help me) (god, what would have happend if I had started an RPG?)

Probably end up hardly ever posting in this thread because you're just consumed with everything... maybe. That's my scenario anyway :p

Crunch is coming ;_;
And even then it's not going to be bloody done.
 

SeanNoonan

Member
Your pitfall is using the screenshake and the hitstop. In my bible it's hitstop for death frames, screen shake applied very rarely for things like causing damage, things that need a gutteral or visceral feedback
have you tried it with just the sound effect and the hitstop?
Aye, it just lost some impact, and back when I put it in, people who tested the game said that the game -felt- better in that build. All I'd done is add screen shake and make the candle smoke bigger. Simple things, I guess.
 
wavelengthlabs.png


Another little update the closer I get to tying this all together, just a quick test room with a bunch of in-progress meshes to test for height against the character.

There's a lot of changes that need to go through including things like the tiling of the walls needs to be less, probably will change the colour of the columns, splitting the test tubes into multiple materials and adding some UI to the terminals.

All in all, feeling really fucking good about this.

I'm just putting some of the updated meshes into the boss chamber and it looks imposing as hell. <squeee>

Edit : Also, the shader isn't on because...well it's still a (painful) work in progress.
 
Man you've been at this forever. why'd you change the sprite entirely? it looks awesome though.
Last year I spent 48 hours making a very VERY quick game because I was getting annoyed at doing the same thing every day, shortly after I felt like making a sequel to the quick game but with more structure and over the last few months it's pretty much turned into a mini version of what I wanted to make anyway, so I stuck with it.

The visual style is based in the quick weekend project and solid colour sprites are a ton better to animate quickly then detailed stuff.

Those screens look awesome! What size are the character´s sprites, 42x32? I ended up with over 64x32 sprites and they don´t look so detailed by a mile, not to talk about the animation fluidity...and I´m using a tablet. Whenever I try to do something by hand I haver to scrap it. Mad props to you! Do you have a devblog or something where I could follow development of your game?

I´m making a SMW "clone" and constantly have to remind myself that the longest animation there is just 3 frames, but somehow I always end up doing more complicated sprites :S
These retro sprites are at the most 64x64 but I hardly need all the space, stuff like standing is only about 48 pixels tall and 24 wide.

This is a quick visual difference between what I want to make and what I am currently working with, the big stuff already has animation frames but they still have the older visual style of black lines and genrally look poor now.

Joz12qN.png


And how the old sprite used to look from about 2013~2014

vBedolH.png
 

snarge

Member
Got a lot done over the weekend:

http://youtu.be/AaQiI0e2-F8
http://youtu.be/M64yqoOfjIY
http://youtu.be/Om9QMi_7oa0

Integrated Ferr2D into the project, which is giving me a boost as far as level design and implementation. A great product, although it looks like Unity will be rolling out something similar soon.

Also moved away from Unity's turd collision. Now everything is much more accurate, fast, and responsive.

Not sure if the words everywhere is becoming too much. I tend to be on the "Borderlands" side of giving visual text feedback. I think it looks cool! But this is starting to get in the way of the action. Only issue is I don't know how else to tell the player...stuff.
 

missile

Member
Some progress towards Retrotron on real hardware.

Finally I got all the tools working for programming on the Arduino boards
using Atmel's native developing environment called AtmelStudio. Took me awhile
to get it all up and running because I'm using an older version of the studio
due to some issues I encountered with VS2015 (isolation). Well, I also tried
the classic Arduino IDE from Arduino.cc, which is nice for beginners. And I
also tried the Visual Micro plugin which is really nice. It sort of merges the
"Arduino IDE" into Visual Studio. Works really good. Even some debugging is
possible via the IDE. The plugin does use Arduion's C-dialect but also takes
native C/C++ code. However, it isn't build for the lowest level, i.e. for
assembler programming/integration, whereas AtmelStudio supports assembly files
straight (full avr-as toolchain), lets you step through your assembly code
and also comes with an AVR simulator. That's nice. Hence, I go with
AtmelStudio because I need to program some parts in assembler and need to know
the timings down to machines cycles for Retrotron's video generating
functions. Yet there are some oddities in using AtmelStudio (6.2). It doesn't
know about the Arduino boards. The Arduino stuff you see in the picture below
comes from the Visual Micro plugin, but I'm not using it due to said problems.
But I've configured some stuff together to be able to download the compiled
binary to the Arduino hardware straight from the IDE.

tRTphX5.png

That's how the dev environment looks like.

For Retrotron I need to be in full control of all the timings. So the first
thing I need is system clock, which can be configured by setting some timers
of the hardware. The picture is a debugging snapshot showing that the timer's
control registers got written the correct values.

The goal is to output a valid NTSC/PAL video signal (scanning some internal
video RAM) which should drive some of my tiny CRTs I showed last time. Yeah,
that would be cool. :) If the chip has some cycles to spare after generating
all the video signal stuff, I may also try a small game on said hardware! :+
 

Minamu

Member
Is anyone here well-versed in 3d camera design? In particular for the RTS genre or similar where you have an isometric perspective and you control a squad of characters? I'm in such a team at the moment and I quickly noticed that the camera controls were a bit off, especially when rotating the view.

So the game is as above, a small squad-based game and you control the 45 degree isometric camera with WASD, with Q & E for 360 degree rotation. The problem is, or at least it sits badly in my gut as a non-RTS champion, is the way the camera rotates. The camera is kept separated from the characters so it doesn't spin around the selected individual or anything. Instead, as best as I can tell, the camera spins around its own center point, regardless of what's in the middle of the screen. I guess closest resemblance would be a free flying camera in an map editor like Unity or Unreal, except you can only move the camera in 2d space. It seems to me that the camera is spinning around the wrong thing or something? I don't know if it would make any difference in practice but it kinda feels like the world is the thing rotating instead of the camera itself but I doubt that's the case. Would normalizing or smoothing camera movement de/acceleration be a thing? Of course, this is a WIP Unity3D project, so the camera IS the default camera to the best of my knowledge.

I'm not sure how other games in the genre does it, I don't even know which games allow for camera rotation, if any at all. It's something you take for granted in other games, at least I do, and I don't know what's wrong (and neither does the team atm, as many have voiced the same concern).

Edit: Looking at this Dvinity video, it kinda behaves the same way, except we don't have the action focusing on each enemy on their turn. Near the beginning, the camera isn't locked to the characters as they walk and the center of the screen is the rotation point it seems. Maybe it's standard after all?

https://www.youtube.com/watch?v=MXBevgEAM4w
 

Sparse

Member
Is it cool to post my Greenlight?

It's called Aperion Cyberstorm, a 1-5 player twin-stick shooter - or 'tactical bullet-hell' as it frequently becomes. The jist of what players do is blow enemies up with abilities that can be combined. Oh, and dead enemies drop elements that do even more damage. Plasma-coated spiraling rockets, electric mines and lasers tend to wreck house.

Miiight have spent longer than intended working on it, because along with have PVP and waves of enemies coming after you, it also has a campaign that's around 4 hours long or so.

If anyone has any feedback/advice I'd appreciate it. :)

http://steamcommunity.com/sharedfiles/filedetails/?id=599566975
 

SomTervo

Member
I've spent something like 130 hours of the last three months, squeezed into evenings and weekends, slaving away at tens of thousands of words of text for a game coming out on PC and Xbox One in coming months.

I don't design games - but I would love to. Words are my current forte, my craft. So I'm applying that to this videogaming passion. It's really fulfilling doing something you love, even if it's an Everest climb to get shit done.

By God, it is tiring. Work 9-5, get home, have dinner, work 7-11, go to bed, get up, work 9-5... Yeesh.

Started dabbling in voice acting, though, auditioning and recruiting actors, writing their lines, and then directing them to get the best possible outcomes. It's satisfying as all shit when you finally hear lines you wrote in-game.
 
I've spent something like 130 hours of the last three months, squeezed into evenings and weekends, slaving away at tens of thousands of words of text for a game coming out on PC and Xbox One in coming months.

I don't design games - but I would love to. Words are my current forte, my craft. So I'm applying that to this videogaming passion. It's really fulfilling doing something you love, even if it's an Everest climb to get shit done.

By God, it is tiring. Work 9-5, get home, have dinner, work 7-11, go to bed, get up, work 9-5... Yeesh.

Started dabbling in voice acting, though, auditioning and recruiting actors, writing their lines, and then directing them to get the best possible outcomes. It's satisfying as all shit when you finally hear lines you wrote in-game.

If it makes you feel better - my god that game looks good.

Never heard of it but its now on my watch list for this year.
 

DNAbro

Member
I've spent something like 130 hours of the last three months, squeezed into evenings and weekends, slaving away at tens of thousands of words of text for a game coming out on PC and Xbox One in coming months.

I don't design games - but I would love to. Words are my current forte, my craft. So I'm applying that to this videogaming passion. It's really fulfilling doing something you love, even if it's an Everest climb to get shit done.

By God, it is tiring. Work 9-5, get home, have dinner, work 7-11, go to bed, get up, work 9-5... Yeesh.

Started dabbling in voice acting, though, auditioning and recruiting actors, writing their lines, and then directing them to get the best possible outcomes. It's satisfying as all shit when you finally hear lines you wrote in-game.

when I see how much people work on stuff it makes me feel really lazy. Reminds me that I could probably work my harder than I am currently. Game looks pretty sweet.
 

Exuro

Member
I have a strange issue. A while back I was playing around with some gearvr prototypes using unity and yesterday I made a quick endless runner. I tried making an apk to run on my phone but when I start it up it says to insert the gearvr as if it were a gearvr game. Thing is I never set up any of the oculus stuff in the endless runner project and I have no idea what I'm supposed to do to change it back so it compiles as a regular Android game. Anyone have any thoughts?

edit: Nevermind I had the VR setting ticked. Hopefully that fixes it.

Fancy stuff. Your screenshot gave me traumatic JTAG environment flashbacks.

That bad? I'm starting on some jtag stuff this week. Hopefully doesn't suck.
 

Blizzard

Banned
That bad? I'm starting on some jtag stuff this week. Hopefully doesn't suck.
JTAG is cool when you bring a dead board to life, but I hated the environment I had to use (something by Wind River). I think it was some sort of unholy creation built on top of Eclipse with a wide variety of bizarre behaviors. One time, an option might be on a pulldown menu and a right click menu. Another time, the option might only be on ONE of those. Sometimes it might simply stop responding and you'd have to restart some services or the entire thing.

If you like assembly language and reading chip datasheets, then it can be cool bringing new hardware to life one step at a time.

I just remember the horror of having hardware running correctly, but some software bug or user error would brick the system by improperly programming flash. Then we'd have to break out our long-lost JTAG module, crack the thing open, connect strange cables, and hope everything came back together. Sometimes there's also fun stuff like a pin that has to be held high, or some configuration that has to be written, before JTAG will even work.
 
I've spent something like 130 hours of the last three months, squeezed into evenings and weekends, slaving away at tens of thousands of words of text for a game coming out on PC and Xbox One in coming months.

I don't design games - but I would love to. Words are my current forte, my craft. So I'm applying that to this videogaming passion. It's really fulfilling doing something you love, even if it's an Everest climb to get shit done.

By God, it is tiring. Work 9-5, get home, have dinner, work 7-11, go to bed, get up, work 9-5... Yeesh.

Started dabbling in voice acting, though, auditioning and recruiting actors, writing their lines, and then directing them to get the best possible outcomes. It's satisfying as all shit when you finally hear lines you wrote in-game.

Wow that looks super impressive man, I just realised this game is connected to Hourences!

Yeah, the juggle between real life, actually doing money-related work and passion work can burn you out after a while.


Sidenote, here a clip from one of the tracks from the game.

https://soundcloud.com/alphawave-games/record-store-longer
 

missile

Member
Fancy stuff. Your screenshot gave me traumatic JTAG environment flashbacks.
I want to dive into JTAG further down the road possibly when I'm going to
switch over to more advanced hardware. The Arduino Nano (I'm currently using
for Retrotron) doesn't support JTAG. On the other hand I don't won't to get
lost debugging using JTAG in a trail-and-error fashion, because I think the
best debugger sits between your ears for the most part.


... I'm starting on some jtag stuff this week. Hopefully doesn't suck.
What JTAG device are you going to use, and on what hardware/board?
 

Popstar

Member
So late last year I did some work multithreading my framework to take advantage of all the lovely CPU cores people have lying around nowadays. Despite how long I've been programming I've never actually written any multithreaded code before.

I started by getting rid of the annoying pause I had when saving out a screenshot by compressing and writing out the PNG file in a separate thread.

I then moved everything except the Windows message processing loop into its own thread. This got rid of a pet peeve of mine. My framework now keeps updating when the window is dragged or the system menu opened. I also did a similar thing for the OS X version.

I've just come back to it after leaving it for awhile, and have started threading the asset loading starting with hotloaded textures.

So far implementing a threaded engine has been... fine. Pretty easy actually. I've heard all these stories about how difficult this is supposed to be but it really hasn't been.

I keep waiting for the other shoe to drop. Surely in my naiveté i've missed something important and that's the only reason it's gone so smoothly and i'll be paying for it with hard to debug random crashes later. But so far ¯\_(&#12484;)_/¯
 

Blizzard

Banned
Popstar, obviously you've sucked some sort of threading luck out of the aether, and everyone else is going to suffer the yang to your yin. :p


On another note, my game doesn't really do anything yet, but my main game state file is 3000+ lines alone. Does anyone else ever hit files that big? It's kind of scary.
 

correojon

Member
Last year I spent 48 hours making a very VERY quick game because I was getting annoyed at doing the same thing every day, shortly after I felt like making a sequel to the quick game but with more structure and over the last few months it's pretty much turned into a mini version of what I wanted to make anyway, so I stuck with it.

The visual style is based in the quick weekend project and solid colour sprites are a ton better to animate quickly then detailed stuff.


These retro sprites are at the most 64x64 but I hardly need all the space, stuff like standing is only about 48 pixels tall and 24 wide.

This is a quick visual difference between what I want to make and what I am currently working with, the big stuff already has animation frames but they still have the older visual style of black lines and genrally look poor now.

Joz12qN.png


And how the old sprite used to look from about 2013~2014

vBedolH.png

Those sprites look really good, the big ones almost seem out of a good KOF game. You shouldn´t feel bad for shrinking the sprites, I think I like them more than the big versions. Also, the mix of styles you have used, with heavy dithering for the environment and solid shadows for the character, matches beatifully. And those fluid animations makes it breathtaking in movement. How many frames do the standing and running animations have?
 

Popstar

Member
Popstar, obviously you've sucked some sort of threading luck out of the aether, and everyone else is going to suffer the yang to your yin. :p

On another note, my game doesn't really do anything yet, but my main game state file is 3000+ lines alone. Does anyone else ever hit files that big? It's kind of scary.
Once files get too big I feel the need to split them up just to make them easier to navigate. Depending on your IDE and how you like to get around your project it can be a pain or no worry at all.

My Maya model exporter is one of my bigger files at around 1000 lines. Most of them in a single function. (It would surely horrify the "functions should be 10-20 lines max" people)
 

Sadsic

Member
i really would like to make music for a video game again -- i also don't really care that much about getting paid. anyone want any probably free music? im pretty good at it
 
Status
Not open for further replies.
Top Bottom