I find it relaxing. I use headus UVlayout for my unwrapping, only takes a few minutes to do complex unwraps.
I recently started a new little hobby project, and it's the first time I'm making a big-ish game by myself. And more than anything else - What's killing me is the doubt over every single decision. Even when I finally nail down on a spec, I'll keep doubting it as I move forward and built on top of it and then I just feel unsure of the whole thing :(
How do you guys deal with these blocks? Is there something that makes committing to a decision easier for you?
An if any of you are fans of dungeon crawlers and want to help me out - The trigger here is that I'm wrecking my brain over using grid-based or free movement in my blobber-inspired dungeon crawling RPG.
Thanks! It's actually still relevant lol so input was very much appreciated.I know it's been a while, but I'll give you my 2 cents. I had never played a tile based dungeon crawler till I tried Legend of Grimrock, but I loved it and have been a fan ever since. Granted, I started off on a great game and, sure, it does seem to make combat a bit weird (coming mostly from FPSs, I found this a bit strange to adjust to at the beginning).
I tried a few free roaming games after and it didn't click as well for me.
I guess they also lead to a different kind of puzzle possibilities and all that too.
Anyway, why not go for what you feel you'd want to play? Not much fun making a game if you don't enjoy it.
First the good news.
Technically everything is progressing great. This video shows the massive scale of the game and support for high quality effects up close. I'm using a two camera system similar to Kerbal Space Program and other space games. One camera renders the background and then the other renders close up geometry on top of it. You can clearly see this effect when the camera zooms in and out since the detail terrain is darker.
The second half of the video really shows just how seamless the camera overlap effect is. At worst players will just think of it like regular LOD. Double precision is used to keep things smooth. Before setting up this method, the meshes and camera jittered near the center and essentially broke near the world edges.
Now the bad news.
I don't know what the heck this game is supposed to be. It started as a niche sequel to a 2D/text based RPG I made for my website, but the switch to 3D graphics has really elevated everything. The world is over 1,000,000 square kilometers in area and my original spreadsheet style gameplay feels out of place. I'm going to cut a large chunk of features so I can make the rest higher quality, but I'm not sure what to remove. I might remove this zoom in stuff completely and focus on kingdom building haha.
Thank you!Haha! That's awesome! Well done.
Do you run into any floating pt issues when the camera is far from the origin (jittery camera, z fighting, etc).
Thank you!
Originally I had a lot of floating point issues but the new system solves that. Small detail objects like people are always relatively close to the origin and are scaled up during rendering. Double precision floats are more than enough to handle my stuff behind the scenes.
Although I code sites and apps for a living, I've never really tried to make anything gamey.. I mess around with blender from time to time doing stuff like this
I've had a play around with unity and unreal, and I've seen some cool stuff on game salad.. so I know there are pretty awesome tools but for whatever reason I've always had that starter hurdle and never been able to just 'start' trying to make something...
I was in Arcade Club in Bury (in the UK) at the weekend and I really liked playing some of the old vector display games like Asteroids, Star Castle and Tempest.. I still feel like they look quite good, high resolution in a lo-fi vectory sort of way. I think I've always liked them really and it's part of why I liked stuff like geometry wars...
So anyway, something just clicked and I thought implementing an old game idea might be a fun way to get started so I opened vscode and started trying to build Asteroids. I figured I could maybe build on top of it and add some of my own nonsense if I have time.
I didn't wanna use any existing libraries, and although I work with C# and TypeScript, I wanted to keep it simple so it's just JavaScript and HTML canvas, with the game loop class running a setInterval for the main game loop.
Objects like the asteroids and the player ship have an internal "path" variable (an array of 2d canvas context instructions pretty much) which defines the shape of the object relative to the objects' local origin, and is used to draw it relative to the objects position on each draw-call.
In the case of asteroids, each one is made up of 5-8 randomly generated points from the center, with a limited range for the big and small asteroids.
I originally had the ship moving along a vector up to a maximum speed whenever I pressed up, but it drove like a car and wasn't right at all. I then realised I needed to simulate thrust and maintain that separately from rotation / direction. I apply some easing to the acceleration / deceleration.
I added a starfield, which is done by breaking the canvas up in to an 8x8 grid and generating a few random stars for each square, each star in the list is basically x, y and depth - I use the X and Y to plot the star, and I move them in the opposite direction of the ship's movement, I scale the movement depending on the depth variable which gives the illusion of, well, depth...
Collision detection has been a bit of a ball ache having never done it before. Because all objects have a path that rotates, the shape is rarely consistent and being 'hollow' I can't do a pixel check... So I've given each object class a method which returns a bounding box for the rotated path which I can then use to detect crude / rough collisions. I can toggle drawing of the bounding boxes for debugging..
If the ship is fully inside an asteroids bounding box on a draw-call, I call that a hit, if the boxes overlap only slightly I then check for intersections on the line segments of the ship and the target asteroid so that the collision is a bit more accurate... For shooting I just do the bounding check as that mostly feels good enough. I've not added explosions or ship/player-death just yet..
On the subject of th collisions, I made a mistake earlier tonight where I implemented asteroids splitting in two, but a) forgot to dispose the bullet that caused it, b) forgot to remove the asteroid that split, and c) forgot to ensure only mini asteroids would be generated. The result is a lag inducing chain reaction
I've fixed that now but don't have a recording...
This might all be super simple for those of you frequenting the thread, but I've really enjoyed mucking about with it and thought I'd share, it's given me some encouragement to maybe do more and certainly build on this a little more..
My code needs some serious cleanup as the classes weren't properly planned but I can try and throw it up on git if anyone's interested.
i briefly toyed with the idea of making it Battlestar Galactica themed.. making the ship a viper and adding cylon raiders etc :)
It's always super charming and evocative when someone elsefalls down the deep, dark, inescapable pit that is indiedev addictiondiscovers the wonderful world of videogame development. It's so engrossing to work with the most basic tools and do everything from scratch yourself, so just have fun. You can always switch to a game development environment later on if you want.
As for the collisions, I wouldn't go for anything more complicated than a box or a circle, it's nearly indistinguishable for the player. I would go for circles in your case since the asterods are kind of round; you can simply measure distance between centers and check if it's smaller than the sum of both radii (small performance tip: it's more efficient if you just compare squared distances, as that way you don't need to use square roots). So, something like:
collision = ((shipPox.x - asteroidPos.x) * (shipPox.y - asteroidPos.y)) < ((shipRadius + asteroidRadius) ^2)
That's so much neater and looks so much more performant than what I've actually done 😆
But that's why I'm here.. thank you for that, I didn't consider bounding circles - it'd make enough sense even for the misshapen ones..
Do you have any recommendations regarding bounce? I'd like to have the asteroids bounce off one another (and maybe break down while they do), but not too sure on the math... I was thinking it would be either something simple like invert both vectors, or maybe find the normals or do some kind of product calculation to send them veering off in a more natural feeling direction.
I'm amazed that people programmed games like this in 1979 using processor instructions or whatever... It's actually mental.
Although I code sites and apps for a living, I've never really tried to make anything gamey.. I mess around with blender from time to time doing stuff like this
I did something similar, but I used Magicavoxel to model it and then animate it in Blender.
I haven't used Magicavoxel a lot, but it seems to be a bit cumbersome doing that kind of stuff in Blender. If you're doing voxel art specifically I'd recommend you check it out. It's pretty neat.
I fixed my anim event code yesterday to handle looping animations. The video above has anim events for each foot to spawn the snow foot prints.
I find animation coding to be incredibly difficult!
I've just started down the path of learning animations. It's something I've been avoiding for years haha.
Your footprints look nice and really help sell the snowman character.
Hi guys, I've hit a small roadblock and i don't know what's causing it. I'm making this flappy bird clone tutorial as an introduction to Unity.
https://youtu.be/A-GkNM8M5p8?t=4085
I'm here in the tutorial and I did everything he did the exact same way in the GameManager script (and I have no typos but I'll go back and look to be sure) but when he adds the GameManager as a Main Camera component, he has Start Page, Game Over Page, and countdown page in white under the greyed out GameManager on the right. Mine only has the greyed out Game Manager and nothing to drag and drop the UI elements into on the right like he does in the tutorial. Can anyone help me?
https://drive.google.com/open?id=14bLzj3d1QAvqtHHp9prb1mdSvk00cj8s
https://drive.google.com/open?id=1P5KBpb4roEkZH75FfaG5wNoeQl3WceYF <--Tap Controller text.
https://drive.google.com/open?id=1TFLgc0KPTwoX9kxuoGR0VamnxvMonL8e <--Errors it has shown me.
But I did the tap controller the exact same way he did it, so I don't really see what I did wrong. if this doesn't help I'll upload the whole project and let you take a look at it.
damn, such a small thing, too. like you said.The log made it easier to spot the issue; it says that GameManager.PageState has no definition for GameOver. This is how you have defined PageState:
enum PageState {
None,
Start,
Gameover,
Countdown
}
Spot the typo?
It should be GameOver, not Gameover. :)
damn, such a small thing, too. like you said.
Shit, well that was all it was, damn. Working like a charm now. Thanks a lot.
Yes, and I've ran into another problem sadly.Very glad to be of service! It's always the smallest, dumbest things, isn't it? :D
Yes, and I've ran into another problem sadly.
I don't get errors, either. it just isn't doing it correctly. i can press my play and restart buttons but it hangs after pressing play.
EDIT: Never mind, I got the problem. I didn't add the countdown component to the countdown page in unity itself. But still having a slight problem now. First is that my bird always faces downwards after restart even after i did his script that made his face forwards on restart. not a huge issue because can still play it, but it is aesthetically unpleasing. So still an error. Also the countdown plays when first starting the game and not just on replay. so that is annoying too, but can maybe wait till i get through the rest of the tutorial to fix it. anyways I'm taking a break for now. need a nap.
Hope to be done by tomorrow so I'll let you take a look if any problems remainIf you still have any errors when you complete the tutorial, be sure to upload the whole project folder, not just the code, and I'll see if I can help (although I'm leaving the 3rd on vacation).
AnimationPlayableUtilities.PlayClip(GetComponent<Animator>(), clip, out playableGraph);
(source)This might not be the thread for this but does anybody have experience with the Playable API in Unity?
I'm having some problems with it and i think that the core issue is that i don't fully get what it is for.
I'm working on a small 2D game with a relatively low number of animations, initially i was using an Animator component to handle animation transitions but i recently refactored my Player script to work like a Class based finite state machine and found that having two "parallel" fsm (Animator and the Player code) was kind of a mess to "synchronize".
So i looked into an easier and more direct way to play animations via code and stumbled upon the legacy animation system and then the Playable API and the PlayableGraph which if i understand correctly can do anything the legacy system did plus more (Playable API documentation).
Now let's say that i want to play an animation when the player enters a certain state, what is the correct approach?
side-note:
- If i only want to play an animation this seems like the easiest way to do it:
AnimationPlayableUtilities.PlayClip(GetComponent<Animator>(), clip, out playableGraph);
(source)- If i want to play an animation and also a sound i start to get lost:
- Do i put the animation and the sound in the same graph like in the Creating a PlayableGraph with several outputs example? By default the animation and sound start at the same moment.
- Do i put the animation and sound clip in different graphs and play them separately?
- What if i want the sound to play at a specific frame of the animation? Do i have to use animation events?
- What if i want to execute a piece of code at a specific frame of animation?
Does anybody use Unity on Ubuntu 18.04? Windows sometimes freezes on me and i would like to move to Ubuntu, would it be a painless transition? I use VScode to write code.
Weltall Zero
Sorry but having another problem and this time I don't understand it at all, lol.
I'm here in the tutorial and he has no errors but I have many of them. And like last time I have checked my work and don't see anything wrong for myself.
EDIT: Those are the up to date errors and parallaxer.cs is where most of them lie.
Ah. Thanks. Double checking your own work hurts sometimesYou have another typo: OnGameOverConfirmed -> OnGamerOverConfirmed (it's on both OnEnable and OnDisable).
changed that problem and now I still have two problems.You have another typo: OnGameOverConfirmed -> OnGamerOverConfirmed (it's on both OnEnable and OnDisable).
changed that problem and now I still have two problems.
EDIT: My biggest problem is that I'm so new I don't know what the error means sometimes. This is literally my first time coding and using unity.
Thanks a lot. Sorry I'm so new to this. Like this is my first time using C#. I'm green as hell.
Thanks, yeah I am probably rushing a bit, but just wanted to get something under my belt, you know. I'll probably finish this project up and then take it slower from here.It's perfectly OK, we're all learning. The important part is that you're understanding what you're doing and why. I worry a bit that the tutorial is using relatively advanced C# concepts like delegates / events. Just following a tutorial without understanding what it's doing won't help you in the long run.
If at any time you feel like you're just following steps without really "getting" everything involved in them, you should probably go slower, or even switch to a more basic tutorial (like a c# "hello world"). Also make sure to google or wiki any concept you're unfamiliar with, like the aforementioned events.
I feel you. I'm pretty much in the same boat. I do have some scripting experience in GameMaker, but Unity is a whole other beast. I have a billion tiny mistakes in every change I do.changed that problem and now I still have two problems.
EDIT: My biggest problem is that I'm so new I don't know what the error means sometimes. This is literally my first time coding and using unity.