Jump to content
  • GameDev.net Members! Click here to learn more about the new contest from IntelⓇ and GameDev.net. Ends December 21!

  • Advertisement
    1. Past hour
    2. Thank you both! @Septopus @Rutin I feel smarter!
    3. Znippy

      Sprites & backgrounds for 2d platformer

      If you are using Unity (your post is tagged with Unity) and this project is only for the learning experience I would recommend checking out the Unity Asset Store. You should be able to find a lot of great stuff that is free to use. This should also be a lot faster than finding someone who wants to create art assets.
    4. I'm making a 2d platformer game as a learning experience, and I need a character and some backgrounds. This game will make minimal revenue, because it'll be a free mobile game. I'll give you more details if you respond. Thanks.
    5. Balancing gameplay is super hard. I think it is always impossible to make it ideal for every type of gamer. I think the most important thing is to be happy with the gameplay yourself. I think I have worded this badly. I got a subscription and did not buy a license. Kinda sad that you can't actually buy Photoshop anymore since I am usually not a big fan of subscriptions. I tried Krita before and never really got used to it. Not really sure why since I heard from a lot of different people that it is actually a pretty good Photoshop replacement.
    6. CrazyCdn

      collision sprite

      You've been told over and over to stop using GLUT. It was last updated in 1998, 20 years ago. Even FreeGLUT has not been updated in almost 4 years. Even though these forums are quite friendly we all eventually grow tired of beating a dead horse. You often just post code saying you're having a problem. Not what that problem is, what you've tried, what your thoughts the problem might be, etc. Then as @Rutin pointed out, when given advise like he has multiple times in this thread, you just flat out ignore it like you have with his. He actually has given you very sound advise too. If you're unsure what he meant with something, ask specific questions. Also some of your comments seem fairly pointless. You have a comment in one function for collision that says, "//draw bullet" but it's collision detection code, it should not nor does it look like it draws a bullet. It's also just calculating the position of the bullet anyways, so it's a completely useless and misleading comment which might throw you off later down the line.
    7. I feel like I am better understanding this now.. if mouse_check_button_released(mb_left) && position_meeting(mouse_x, mouse_y, id) 'id' is a built in part of Game maker which returns the instance variable... So I'm thinking If I but the code for the switch statement in the towers and use this ^^ and my condition for triggering it in the first place, it will know its own id, then I can devise a method for displaying the information that belongs to this 'id' for this 'switch' perhaps? I'm like an hour away from being to properly test it all now Guna be a fun night 😎😅 I think i'd previously misunderstood the mouse collision as if to say that I'd be checking for any collisions at all but instead yeah I'd looking for collisions with labels!
    8. Tom Sloper

      GIMP vs Adobe

      necro. locking thread.
    9. Today
    10. Yes, i have the same result on AMD, black texture for GL_RGBA_INTEGER/GL_RGBA8UI and uint4 vali = { 255, 0, 0, 255 }; write_imageui(outputImage, coords, vali); Also, I have some AMD forum posts about OpenCL/Vulkan. You should ask about it on AMD even if you have an invalid result on nVidia/Intel.
    11. kseh

      Frogger Challenge - Update #4

      A bit late with this week's update. Last week was spent looking at trying to do some kind of scoring and also working on some changes to the way I have scrolling. For scoring, I went with using a data field in the tiles to set how many points you get for landing on any given tile. Currently, road tiles are 25 points, tiles close to water are 1 point, and everything else is 0. This week, I think I need to work out some kind of high-score thing as well as level progression, lives, and a game over screen. Maybe some kind of improvement to the main menu I have. A few more levels would be a good idea too. I did want to add in another enemy and maybe some logs but I'm a bit concerned about time at this point. I've had complaints in other projects about the way I had scrolling so I've been spending time looking at that. I had it such that you had to approach closer to the edge of the screen before you could see what's on ahead. Which may be fine for the project that it originated in but is rather annoying in anything with an arcade kind of feel to it. I've got a much nicer smoother scroll now. While looking at this improvement, I found that the code doesn't quite do what I was expecting in general so this is an area that I'll be needing to revisit at some point in other projects. It's good to see the submissions that are coming in from everybody so far. I know there's still quite a few days left but I have to admit I'm starting to wonder if I'm further behind than I realize.
    12. Hi Andrey. Thank you a lot for your help! Have you tried on amd?
    13. You never bunch up ALL bounding box checks into the same check. You should only cycle through what is relevant for that piece of logic. If you have tower bullets shooting objects, they wouldn't be checking against UI buttons for collision, the same applies to checking if the mouse is within the bounds of the UI buttons, you're not putting in objects unrelated into those checks.
    14. Hi @_Flame_, I have no any ideas, try to ask on AMD forum, I think moderator dipak, can help you.
    15. sevenfold1

      SetPixelFormat fails on Nvidia cards

      It's a bad idea to set cStencilBits if you don't need it. Set pfd to the minimum values you need. ChoosePixelFormat() will return the best values, only if they're available. Setting them to the max values doesn't leave much room for choice. So, if you set cColorBits(24), and cDepthBits(16), you will get cColorBits(32) and cDepthBits(24) back if your device supports it.
    16. Now you're starting to feel the Object Oriented Programming vibe. Make it about what object(however you identify it is fine) was clicked and not where you clicked. You may want to begin giving your towers a # or something attached to the name, so you can tell WHICH menus need to be on/off as well. If you wont be using the x,y coords to differentiate them anymore. Though, you could use those as the "identifier" as well, since no two towers could be in the same spot. Lots of options.
    17. Yeah, they are pretty fast. Usually, it is best to wait until the biker is gone and then find a gap between the cars. Use the empty lines in order to wait for a good opportunity to get on a swimming piece of wood before you get hit by a spear. I still think that once you get used to the timings it gets a lot easier. Since a lot of people are saying that the game is too hard I will try to balance the gameplay a bit more at the end of the week and upload a new version. Sadly can't do that until Friday.
    18. Just checking to make sure I know what you mean.. An example is my bullets are in just one object, they've got a value called sprite which equals "gun" by default, when creating a bullet -- depending on which tower type it is, I'm telling it to set sprite = "gun" "flame" or "missile" and then upon whichever this is, it'll set its sprite accordingly so instead of having a bullet, a fireball and a rocket object kind of thing.. but this requires me to label them myself... I could do something like this and label things like name = "tower" name = "enemy" etc and then if collisionObject.name = "tower" would be towers and then it triggers stuff? I think it'll definitely simplify this situation right now because I can then just check if mouse is clicking tower 'or' clicking upgrade object, instead of set coordinates kinda thing... So I'll do invisible upgrade objects Or maybe I can give these their own sprite.... hmmmm Then I could have different sprites based on the state of upgrade so they'll each display different information if you've upgrade once twice three times etc and i'd set the image_index based on that... Dang... Should have just gone with this originally.. For some reason I was genuinely going to have it draw a bunch of different sprites and information together... 'simplify' is an understatement,,
    19. lawnjelly

      Frogger GameDev Challenge Entry

      Works great for me, but darn is it difficult!! I've been trying for 5 mins and haven't managed to cross the 2nd road yet lol. It made me wonder are the cars really meant to go that fast!! Congrats on putting in the options screen too I haven't done that yet. I think a difficulty slider would be good to control the speed of the traffic for players with slow reactions (like myself lol!).
    20. I wouldn't worry about that too much, that's where the case default -> do nothing, or the no matching object in the switch comes in. It can fire the click handler for every bounding box, but it doesn't have to execute code if the bounding box isn't one you are checking against. Can your code return an ID# or a Name, or something unique for the bounding box it hit? If so, just switch based on that. Generally speaking extra objects are only bad where they cause extra processing, or extra confusion/complexity. If they are going to simplify your code/life/everything, then USE MORE OF THEM (that's my philosophy anyhow) Also, if you are switching based on object identifier instead of X,Y position, it frees you to make your object positions more dynamic/not be something you have to keep track of after you handle placement, if you wanted.
    21. I'm wondering now, Would it be worth giving things a value like clickable = 0 and clickable = 1... And then test if clickable = 1 .... I say this because my enemies and bullets will have bounding boxes but shouldn't be clickable.. I was going to 'draw' my entire menu as a sprite and then using a bunch of different X Y cords dictate certain things like highlighting towers, clicking towers depends on X Y of mouse, Displaying the price info only shows if mouse is within a certain area (happens per each 'tower' << Not the actual object tower just a drawn sprite in a certain place).. So i've used X Y quite a bit for the 'important' stuff... I figured this would be better than a bunch of extra objects 😧 Technically only my towers would want to be the 'clickable' things as my upgrade section is just drawn there as a sprite not an object so perhaps I could check if Mouse is clicking/colliding with Towers One Two or Three... I feel like I'm getting this wrong again... Maybe I should do something like !position_meeting(x, y, self); to check if its not clicking itself && !position_meeting(x, y, objUpgrade); and then make a blank object to just place over menu as part of the case 1 & 2 ? So this would be if mouse click not on self and not on upgrade -- deactivate, disable, clicked=false, etc etc and then go back to the use of clicked = true to trigger drawing (I just remembered that if I do this in my 'step' event, I cannot draw anything anyway so I can't draw via the case's as Game Maker demands you use a 'draw' event so I could just use the cases to trigger clicked = true and false, then in draw, if its true I can draw for days, if its false stop drawing, everything else goes like normal... I suppose position_meeting(x, y, self); could be my trigger for the switch entirely IF placed inside the left button pressed event so its like another IF before the big IF I just gotta test it out and mess around, I think I have a better understanding now! The 'switch' stuff is definitely where I need to be.....
    22. Obligatory disclaimer - Yes this is for academic purposes, not for making actual games. I've been employed as a Software Engineer for 2 years but still feel like a beginner when it comes to writing a game engine (and much of coding in general). What little experience I have with writing 3D software from scratch is from super rough university projects (which we called "engine" but that's definitely debatable). Meanwhile, my current job doesn't really take me down this line of learning. This thread is to ask for advice; mainly pointers to good guides, or comments on what structural approaches are considered to be good ones. I'm looking for something that teaches me about how to structure a game engine so that: it's good for learning about writing an engine it's not completely devoid of modern techniques it will be usable for later feature learning; networking, AI, unit testing, etc. (I imagine this criterion is typically a given anyway.) Some things I'm aware of so far (you may want to comment on any of these): https://www.gamasutra.com/blogs/MichaelKissner/20151027/257369/Writing_a_Game_Engine_from_Scratch__Part_1_Messaging.php I also have the book Kissner recommends: Game Engine Architecture by Jason Gregory. From what little I've read of it, it appears more advice than structural guide. ECS was a buzzword back when I was at uni, but the more I google it the more it appears to have become a dirty word. Unreal Engine's source Regarding ECS: For all the flak it appears to generate nowadays, it is at least a structure. If ECS isn't recommended I'm interested in what other general structural approaches there are. Regarding Unreal: I'd love to jump in and learn how Unreal Engine's structure works, but it might be biting off more than I can chew. Language of choice is C++. Thanks
    23. Hello everyone! Now that my submission for this GameDev challenge is complete I want to take the time to write a small Post Mortem for this project. I have never written a Post Mortem before so I don't know if there is a specific format to follow. What went right First of all, I am really happy that I have actually completed my first challenge. As I have said in earlier posts I have never joined a GameDev challenge or other jams before. Since I have completed the project quite sometime before the deadline I am really happy with myself for most of the stuff. Completing the challenge and actually have a submission before the deadline was the most important point for me. Since I am also very new to this community I want to say that I am really enjoying my time here and I am very glad that I actually signed up on this site. Tools and Workflow During the challenge, I realized how comfortable I was with the selection of my tools. I really love Unity and I am pretty sure that I will not switch the engine for the next couple of projects. The more I work with Unity the easier it gets to put things together. Selecting Bosca Ceoil and Bfxr for creating the music and sound effects turned out really good for me again. I highly can recommend both tools to everyone who has no experience in creating music but wants to create retro-styled music and sound effects for his game. Even though my tools for creating art assets were pretty limited I am still happy that I managed to create everything on my own. Yes, the game does not look very good but hey I made it myself. Playtesting I am really happy that a good friend of mine offered help for playtesting. This made me realize how important playtesting is even in the early stages of a project. Because of this, I was able to solve a couple of problems that I did not realize from my perspective. Positive feedback also helps a lot with motivation problems. Usually, this was a big factor in past projects. I usually always lost my motivation at some point. I think for future projects I will try to involve more people into playtesting in order to get more feedback and keeping me motivated. Clean Code Even though I first rushed a lot of things I actually tried to keep my code pretty clean. This really helped me a lot in later stages of the project. For the slow down item, I actually had to redo some stuff in all moving object classes. Since I kept everything in a good order these changes were a lot easier than I thought. This really taught me to keep my code clean even in smaller projects. Writing about my progress I really had a lot of fun writing those little "reports" every week. I think I will try this practice for future projects a little bit more. It really helps to reflect on the progress and also to get valuable feedback from other people. Even though my writing is still pretty bad I hope I can improve on this with time. What went wrong Even though most things during this challenge went pretty smooth, there were still some things that I want to try a different approach in my next project. Moving the Unity project Since I am currently away from home during the week due to work I had to switch systems a lot. Moving projects and reimporting them to Unity twice a week really lost me a lot of time and nerves. For the future, I really need to find a better solution to this. Sadly I have not managed to set up a git repository with Unity. This would make a lot of things a lot faster and easier. Balancing gameplay One with I kinda don't like about Unity is how you control public variables on game objects. For example, every enemy type had a public variable movSpeed that, obviously, controlled the movement speed of the enemy. In order to balance gameplay, you have to switch a lot in the inspector in order to change these settings. Of course, I could easily make those variables private which would only move the problem into Visual Studio. I think for my next project I want to try to place all gameplay relevant variables into one file or a few separated subfiles. This would allow balancing gameplay at one place. I guess this would be a really bad idea if the project gets bigger, but for small projects, this could work a lot better. What's next I am not really sure what I want to focus on now that this project is completed. Currently, I have a couple of ideas for my next project. I will talk about this about this in a different blog that I have planned for the next days. One thing I am certain of is that I really want to improve some other skills than coding. I need to get better in creating art assets. Since I want to stick to my plan of creating all assets for my games on my own, I really need to improve on creating them. I have finally bought Photoshop and currently working through a lot of tutorials. Here is a little preview of a small thing I yesterday: I called this little guy Myps and he might become the main character for my next project idea. I know it is nothing special but compared to my Frogger assets I think this already a good improvement for only one day of practice. I have already tried a few things with animations which I might show in my next blog. I guess that is all I wanted to talk about, sorry if I didn't go too much into details. Thanks for reading! Until next time. - Znippy
    24. Yep, a switch would be a good approach for this problem. Nice @Septopus I'm not sure if you're using actual raw X Y cords for mouse checks instead of a dynamic bounding box setup, but what I've done in the past is set up bounding boxes for everything and if the mouse is clicked but no collision is detected everything toggles off. Since you're checking if the mouse is within an x, y location, I would suggest going ahead is setting up bounding boxes for anything clickable then you can cycle through these options in logic to see if the mouse is actually over an object when clicking or in an empty space.
    25. Oh yeah perfect! I see the document link now! Awesome! This looks like what I need to use! Thank you!! 🤔 "check for a keyboard event and then compares that to the cases listed" in their example on that page, I'm worried that I've misunderstood.. Like if they're clicking left and clicking down it'd perform the left and down case... So if I click my tower, it'll perform the tower code display action BUT if I click on the upgrade button on the menu 'case 2' will it stop doing case 1 because i did NOT click on my tower ? Or will case 1 remain active until told otherwise? -- I mean I'm maybe asking If I should put both the actions of case 1 into case 2 as well? I'm thinking if I put this into the step event or mouse left pressed event of my 'mastercontroller' object whilst each tower object will have a clicked = false; upon create -- It should only trigger this to be true for that one that is clicked.. OR place this in the tower object and have the switch be told to look for mouse click of 'self' (I could maybe tell it to record it's own x and y prior to activating the switch... then the switch could maybe look for/read the tower at those coordinates? ) I'm so confused in such a way that I don't know what's confusing me -.- I feel like as i'm typing it i'm 'getting it' then suddenly I wanna just write ahhh I dunno!!! lol ... I am thinking that maybe I can lose the 'clicked' true/false thing and just go straight to triggering a script straight from the case which will handle the display stuff then not having a break between case 1 and case 2 so both should be okay with each other? case 2 would handle my actual upgrade whilst case 1 is displaying? Or make case 2 display and upgrade (because case 2 is actually clicking the upgrade) case 1 is clicking the tower so only displaying, case 3 would need to not draw anything but how do i turn this whole thing off when I click elsewhere? If I was to click a new tower or even just a random place on the map (I dunno why but maybe someone wants to turn off the upgrade display... Is this what Case 3 would be? (any idea what would be good to write to say if you're not clicking tower and you're not clicking the upgrade area... would this be triggered just by any click?)
    26. supermikhail

      Cinematic Insanity

      Thanks, everyone! (Also apparently I'm featured, whatever that means, so woo!) I've been using the CharacterController, and simulate ballistic motion in code. There's really too many points where this could go wrong (and does), and it kind of doesn't work at all, because I've got a "jump duration" parameter which goes into an equation, but it doesn't actually seem to influence how long a jump takes... Yeah, I wrote in an earlier post that I tried to be too clever. I've considered this, but I've been unsure how I would handle collision. At least thinking in terms of the CharacterController. But, of course, if it's simply a kinematic collider it should be much simpler. Well, I've started working on another "clever" implementation. After that fails I'll move on to your idea.
    27. The way I wrote it, the switch is expecting to see the "object" you clicked on. But that could be anything you devise. The switch could just check x,y pos of the click against coordinates you have stored in an array/etc. and then act accordingly. It all depends on how you keep track of objects/devise the logic. It really also depends on WHERE you put the switch-case statement(what object it's attached to and whatnot, I think gamemaker works like that anyhow).. Been a long time since I played with it. Yep, the switch functionality is pretty flexible, if you pile the cases up without a break they will all trigger. e.g. Switch (something){ case this: case that: print "this and/or that"; break; case other: print "other"; break; case default: print "something entirely different"; break; } Lots of other little tricks you can do too. The switch will only match a condition, just like an IF, so if none of the conditions are true, or the state not present in the switch, it won't do anything.
    28. Yeahh something like this!! I wasn't liking all my IFs I just gotta remember how the Case Switchy thing works now!... So the ClickedObject would be my condition that 'this' tower got clicked right? That's my trigger for all of this? Or would that be triggered by 'any' click and then only IF my tower was clicked it'd trigger the first case? I think that's how it works isn't it? Like its possible to execute multiple cases if the price is right? So I think for my otherwise (If it isn't clicking the tower OR the upgrade section) I want it to do nothing, would just having break; be okay for that so it just breaks out of the cycle there? I've hardly spent time with Cases but I remember learning a while ago to use a case for character movements because it can trigger multiple at the same time? Or one after the other kinda thing?
    29. I would do something simple like putting a switch case inside your "OnClick" trigger. switch (ClickedObject) { case tower: turn off all other tower menus turn this one on break; case towermenubutton: execute menu button code turn off all menus(if applicable) break; case otherwise: do nothing? or? whatever else you need to handle with clicks. break; } As long as it doesn't get too big or complicated it should be perfectly functional, and way easier to read/debug than a pile of IFs. https://docs.yoyogames.com/source/dadiospice/002_reference/001_gml language overview/401_12_switch.html
    30. Yes and No... That is a part of it BUT the difficulty I'm having is like this: When clicked = true, I am going to display some upgrade information, based on that tower, on the menu... So I want the tower to remain selected if you were to click your upgrade stuff.. If you click another tower I want the original tower to be set to false and the new tower set to true where the upgrade information is now current for the new tower. I've got no problem displaying the information and keeping it current per instance, That is behind my clicked=true.. its just being able to turn clicked on and off at the right times that I am struggling with. Did that help clarify?
    31. CyberFlash

      GIMP vs Adobe

      That's a tough comparison to make. If you are to compare just photoshop and gimp, I find that Gimp helps me in every possible way I need (I'm not an art guy nor do I require much). I find that even if someone says "In Photoshop just do blah blah" I can find a great translation by googling the 'blah blah' and adding 'in gimp' there's normally a solution.. As for the rest of Creative Cloud though... There's a lot more offered like InDesign, Premiere, Illustrator, Dreamweaver etc etc... Did you just mean to compare Photoshop to Gimp or are you asking about all the rest of the offerings too? Cuz I don't think Gimp can help with half of the other things. It only really holds up against Photoshop for me
    32. Sorry if I'm miss-understanding the question. Are you wanting to click and select a tower for building, and if you select another tower have your current selection deactivated and activate the tower which you clicked instead?
    33. Yes, and you also need a fallback if the relative velocity in the tangent plane becomes zero. Otherwise t will be the zero vector.
    34. Howdy! First of, I think what I'm trying to do is going to be super duper simple and I'm just missing one key piece of information.... So the best way to illustrate/explain my end goal is to look at Bloons Tower Defense 3 (It probably exists in a lot of other examples also)... When you grab a tower from the menu and place it, It's 'highlighted'/'selected' and you can see the upgrade information... Okay I can do that... Mouse Left Pressed - Clicked = true; and then Draw - //Upgrade Info ... My question is how to deactivate that selection.. I was thinking it would be a simple If ! clicking on the tower... which makes sense.. If you're clicking but its not on the object you want to turn it off.. cool BUT what if you are attempting to click the upgrade button on the menu??? That is NOT the object but you DO want to keep it selected... This is what I'm trying to achieve.. And I don't know how to explain it... I was thinking that I could do a trigger like if clicked = true { if (!mouse_x >= 50 && !mouse_x <= 100) && (!mouse_y >= 50 && !mouse_y <= 100){ //Example Coordinates - Pretend this is upgrade button if (mouse_check_button_pressed(mb_left)){ //Clicking Left Button clicked = false; } } } And this is where I'm getting stuck... Like I want to click the object and have it trigger clicked = true; I've got that, that happens.. I now want to have it so if you are NOT clicking the object and NOT clicking the upgrade button (this is drawn via a sprite so I'm using coordinates) then I want clicked to go false.... I just feel like all the && && && && is wrong... is there any sort of command that could be called that means like 'anything else' ? I'm thinking that might not work either though to be honest as I want to be able to click the upgrade button... Maybe having the use of 'or' could apply here.. maybe having the coordinates of 'self' (this will be triggered by one tower that has been clicked not all towers at same time obviously,,,) and the coordinates of where the upgrade button will be in the same line so like If you are NOT clicking tower or NOT clicking upgrade button then clicked = false?? I feel that would be it... I'm just not sure.. Any ideas? I'm not used to trying to share code so I might have made a mess above. But I hope this helps explain what I'm trying to achieve. Also I'm stuck outside for a while so I'm having a nightmare of a time just trying to think of this but not able to test it right now!!!
    35. Hi guy , i wanna really quickly introduce myself , So i'm a 18 year old Highschool student that have been for a while really pationate about video game (i have been doing Esport , Streaming all that really fun stuff) but lately i had to made a choice about what i wanna do in life and i'm pretty sure its going to be in the video game industry. Last year i started learning to use UE4 , pretty much only for fun trying to recreate cool stuff i was seing in the game i was playing at that time. But now , i wanted to trie creating something of my own so i wanna show you what a got in the head. Also , I'm french so sorry if my spelling is quite right.. So in Short , i was playing lately alot of FPS (Quake champion , Law Breaker and bunch of other cool game). I was talkinh with my friend and its pretty much their that a got the global idea of what this game is going to be. I wanted to take little simple game mecanics from every game and put them i one unique game. For exemple , Player could Strafe Jump like in quake , while other Start randomly Wall running like in Titanfall 2. After i came up with what would be the game objective , because player won't start playing a game for no reason . I didn't played CTF game for a long time so , i decided why not make this a CTF game , But ctf is kinda mainstream and really linear in term of game play, This is when my friend had this idea of <<Why not let the player decide if the want to play it ''Run it down to the flag'' or ''let's just #*@! the other team'' (sorry for the bad words) >>. at this time i had a clear idea of what would exactly be the Core ''gameplay'' (if we can call this gameplay). To win you have two option : 1- Capture the flag and bring it back to your's. If you managed to do so , the game instantly stop and you win. 2- Kill all the enemy team. Now you most be thinking , <<Well how? they will just respawn right?>> well no , because i came up with the idea of limiting the number of time player can respawn using some kind of respawn point system. i'll came up with more details later (i have to go to my next class) , but let me know what you think about my idea? what should i add or ajust?
    36. Thanks Dan, I believe this is the answer I was looking for. Scaling up the POV while simultaneously shrinking the player does look a lot more believable. The one issue I'm still facing -- may not be an issue in the long run -- but its that the change in POV warps my hand-held weapon. To be expected based on the solution, but that's something I hope I'll be able to iron out without just removing hand held items all together. And Alberth, your comment ended up being quite helpful after all. While I was having a really hard time imagining what it would look/feel like to actually shrink myself, it was much easier to imagine the world around me growing (for some reason) so that helped me picture the result I was looking for. That gave me some direction when I started toying with POV. Thank you both! -Evan
    37. When the folks over at thatgamecompany start moving on a new project hoping to follow up the success of their previous games Journey and Flower, there was only one person they trusted to help head up development, Eric Koch. Eric’s career started out in QA testing, but later transitioned into design and then production as well before joining up at the good folks at TGC. We we honored to spend a good part of two hours talking with him about the magic of games and what exactly they do to create works of interactive art that leave an impression on their audience time after time. https://www.gamedevunchained.com/
    38. Search GameDev.net directly from the Unity Editor with the GameDev.net Search plugin! Customize your search for all content on GameDev.net, only the latest, or the most relevant. Or, narrow your search to specific GameDev.net content: Blogs Articles Forums News Contractors Projects and more!
    39. I love your work, contacting you now.
    40. Finalspace

      SetPixelFormat fails on Nvidia cards

      Damn it, i posted a full fletched text here, but now its gone 😞 Here is the short one: - stencil bits are missing! - use DescribePixelFormat() first and then use SetPixelFormat() See the following code, which works on all my machines: fplClearStruct(&pfd); pfd.nSize = sizeof(pfd); pfd.nVersion = 1; pfd.dwFlags = PFD_DOUBLEBUFFER | PFD_SUPPORT_OPENGL | PFD_DRAW_TO_WINDOW; pfd.iPixelType = PFD_TYPE_RGBA; pfd.cColorBits = 32; pfd.cDepthBits = 24; pfd.cAlphaBits = 8; pfd.cStencilBits = 8; pfd.iLayerType = PFD_MAIN_PLANE; int pixelFormat = wapi->gdi.ChoosePixelFormat(deviceContext, &pfd); if(!pixelFormat) { FPL_ERROR(FPL__MODULE_VIDEO_OPENGL, "Failed choosing RGBA Legacy Pixelformat for Color/Depth/Alpha (%d,%d,%d) and DC '%x'", pfd.cColorBits, pfd.cDepthBits, pfd.cAlphaBits, deviceContext); return false; } wapi->gdi.DescribePixelFormat(deviceContext, pixelFormat, sizeof(pfd), &pfd); if(!wapi->gdi.SetPixelFormat(deviceContext, pixelFormat, &pfd)) { FPL_ERROR(FPL__MODULE_VIDEO_OPENGL, "Failed setting RGBA Pixelformat '%d' for Color/Depth/Alpha (%d,%d,%d and DC '%x')", pixelFormat, pfd.cColorBits, pfd.cDepthBits, pfd.cAlphaBits, deviceContext); return false; }
    41. PIXELFORMATDESCRIPTOR pfd; memset(&pfd, 0, sizeof(PIXELFORMATDESCRIPTOR)); pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR); pfd.nVersion = 1; pfd.dwFlags = PFD_DOUBLEBUFFER | PFD_SUPPORT_OPENGL | PFD_DRAW_TO_WINDOW; pfd.iPixelType = PFD_TYPE_RGBA; pfd.cColorBits = 32; // pfd.cAlphaBits = 8; pfd.cDepthBits = 24; pfd.iLayerType = PFD_MAIN_PLANE; int iPixelFormat = ChoosePixelFormat(m_hDC, &pfd); if (iPixelFormat == 0) throw("Error calling ChoosePixelFormat"); if(!SetPixelFormat(m_hDC, iPixelFormat, &pfd)) throw("Error calling SetPixelFormat"); I am having problems initialising OpenGL on a GTX 1050 with latest driver. SetPixelFormat always fails. I tried changing cColorBits, cDepthBits, etc. makes no difference. Also, this same code works fine with Intel and AMD GPUs. Anyone have any ideas whats wrong?
    42. Echoing @Finalspace's suggestion of Tiled (although admittedly I did get bored and wrote my own subsequently for other reasons), it's brilliant for being able to knock up 2D maps really quite quickly. The file format is simple to interpret in your own tooling subsequently. What I did was use Tiled to create the initial map, and then have a resource generation step (a custom MSBuild task) which loaded up the file, created the appropriate sprite sheets etc. and then outputted a file which could easily be consumed by my C++ layer. In my case, I had 2 layers: Pure background tiles Foreground tiles (Game Objects were handled separately) These tile layers were then stored in a simple array (offset = (y*width)+x) with zero meaning no tile, any other value being the tile id. At rendering time, I simply had 2 for loops (x and y) and wrote any tile to screen (the loop ranges were based off what was visible on screen) using the DirectX Toolkit. As @Finalspace says, get it working first, then worry about doing speed ups if you have to. Clearly you can pre-generate the DX11 command list etc. if you need to, but cross that bridge when you come to it. Note that on my tiles / sprite sheets, I made the conscious decision to handle overlays in the tooling and output a fresh sprite sheet each resource build. Depending on how much you share the sprites with other items in your games you may or may not want to do this. Either way, the principle holds true, you just store multiple values for each tile to allow for overlays etc. (or multiple layers)
    43. Steven Ford

      i need directions

      If you're interested in low level C++, then one thing which make the learning process simpler was to use the DirectX Toolkit as it provides easy ways to render 2D sprites. Once you're comfortable with that / how the GPU works, then you can do more experimental things. If you combine this with the templates here then you'll be fairly quick able to access a loop where you get given an instance of ID3D11DeviceContext* (which can be passed in to the DX Toolkit's SpriteBatch object) and then you're all set.
    44. Steven Ford

      New 2D Renderer d3d11 or d3d12

      Hi @Quat, my understanding is that you'll be able to get better potential performance using DX12 but you're also given enough rope to hang yourself / can get lower performance if you're not careful. Unless you truly need the power of DX12, then I'd be inclined to stay with DX11 for sheer simplicity's sake if nothing else.
    45. lawnjelly

      Frogger - challenging entry

      There are some other export options for Godot: Android, MacOSX, iOS, Windows Universal, HTML5. I am keen to get Android working if possible as I've mostly built it with mobile in mind although this will be after the challenge I think. Yup it has lots more advanced stuff (PBR, HDR, bokeh etc) but I am always thinking in terms of mobile so try and use simple shaders, low shadow resolution / overdraw etc. I did some testing last night and it runs about 350-500 fps on my PC. The packaging / export process is very easy and quick.
    46. DexterZ101

      Frogger - challenging entry

      Ah Godot has a nice packaging of asset content only 2 files to play your game... I played it and Godot has a nice lightning and shadows! Good job bru ^_^y
    47. Znippy

      Frogger - challenging entry

      Looks really interesting! Sadly I don't have access to a Windows/Linux system until friday. Definitely will try it then!
    48. Thanks, they are But to be honest my first attempt was too soft for them. They wanted something really aggressive. At the end they were very happy.
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!