Search the Community

Showing results for tags 'Learning'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

  • Audio
    • Music and Sound FX
  • Business
    • Business and Law
    • Career Development
    • Production and Management
  • Game Design
    • Game Design and Theory
    • Writing for Games
    • UX for Games
  • Industry
    • Interviews
    • Event Coverage
  • Programming
    • Artificial Intelligence
    • General and Gameplay Programming
    • Graphics and GPU Programming
    • Engines and Middleware
    • Math and Physics
    • Networking and Multiplayer
  • Visual Arts
  • Archive

Categories

  • News

Categories

  • Audio
  • Visual Arts
  • Programming
  • Writing

Categories

  • Audio Jobs
  • Business Jobs
  • Game Design Jobs
  • Programming Jobs
  • Visual Arts Jobs

Categories

  • GameDev Unboxed

Forums

  • Audio
    • Music and Sound FX
  • Business
    • Games Career Development
    • Production and Management
    • Games Business and Law
  • Game Design
    • Game Design and Theory
    • Writing for Games
  • Programming
    • Artificial Intelligence
    • Engines and Middleware
    • General and Gameplay Programming
    • Graphics and GPU Programming
    • Math and Physics
    • Networking and Multiplayer
  • Visual Arts
    • 2D and 3D Art
    • Critique and Feedback
  • Topical
    • Virtual and Augmented Reality
    • News
  • Community
    • GameDev Challenges
    • For Beginners
    • GDNet+ Member Forum
    • GDNet Lounge
    • GDNet Comments, Suggestions, and Ideas
    • Coding Horrors
    • Your Announcements
    • Hobby Project Classifieds
    • Indie Showcase
    • Article Writing
  • Affiliates
    • NeHe Productions
    • AngelCode
  • Workshops
    • C# Workshop
    • CPP Workshop
    • Freehand Drawing Workshop
    • Hands-On Interactive Game Development
    • SICP Workshop
    • XNA 4.0 Workshop
  • Archive
    • Topical
    • Affiliates
    • Contests
    • Technical

Calendars

  • Community Calendar
  • Games Industry Events
  • Game Jams

Blogs

There are no results to display.

There are no results to display.

Marker Groups

  • Members

Group


About Me


Website


Industry Role


Twitter


Github


Twitch


Steam

Found 61 results

  1. First game crash report

    Originally posted on Medium The Totem Spirits game is in the market for a few weeks already and this day came inevitably — I received the first crash report. To be honest, there were 5 of them, but all from one device, so the error is the same. I was truly surprised by this! My game was tested by several people and already downloaded by 50+ more. There were no errors till November 7th when someone with Samsung Galaxy Trend Plus (768MB RAM, Android 4.2) got the game. If by any chance you are reading this article, please, know that I’m deeply sorry that you can’t play! Then, I checked the error (aka stack trace) and became even more surprised because this error… told me nothing. Of course I can find the exact place in the code where this problem occurred but there is literally nothing wrong with it! (It works for 50+ other devices, remember?). Moreover, it is not reproducible on any of my devices — I even ran the game without any issues on an old Acer Liquid MT (which BTW was released 7 years ago). Looks like a dead-end one might say, but I didn’t give up. There are several ways to ask for help in the developer’s world. In this case I decided to create a topic on libGDX (game engine) forum and ask them directly because the issue seems to be in the core library itself. In addition to this I also asked a question on StackOverflow (so unpredictable). Now it’s time to give a little insight into the error. The crash report in Google Play Console looks like this: Even if you are not familiar with libGDX, you may find some keywords like: xml, parser, fileHandle, rootElement from which you can guess that the error lies somewhere in xml file parsing. And this is totally correct! The application on this device failed to parse locally stored file needed for the game to behave properly. What was even stranger — look at the stack trace once again. Have you noticed that there are no custom messages in exceptions? But the developers of the game engine are quite smart guys so the messages are actually exist in the source code. Looks like magic to me… Although, there were some problems with the engine itself too, I fixed’em already with this PR . As sad as it sounds, so far there is no resolution, but I’m not going to give up on this. When you develop for hundreds different Android devices occasional errors are inevitable. It is just impossible to test a product on each and every smartphone out there. But I believe every problem should be fixed anyhow. After all, if there is no other way some devices may be marked as “Excluded” in Google Developer Console. No support — no problems, right? :)
  2. I recently started getting into graphics programming (2nd try, first try was many years ago) and I'm working on a 3d rendering engine which I hope to be able to make a 3D game with sooner or later. I have plenty of C++ experience, but not a lot when it comes to graphics, and while it's definitely going much better this time, I'm having trouble figuring out how assets are usually handled by engines. I'm not having trouble with handling the GPU resources, but more so with how the resources should be defined and used in the system (materials, models, etc). This is my plan now, I've implemented most of it except for the XML parts and factories and those are the ones I'm not sure of at all: I have these classes: For GPU resources: Geometry: holds and manages everything needed to render a geometry: VAO, VBO, EBO. Texture: holds and manages a texture which is loaded into the GPU. Shader: holds and manages a shader which is loaded into the GPU. For assets relying on GPU resources: Material: holds a shader resource, multiple texture resources, as well as uniform settings. Mesh: holds a geometry and a material. Model: holds multiple meshes, possibly in a tree structure to more easily support skinning later on? For handling GPU resources: ResourceCache<T>: T can be any resource loaded into the GPU. It owns these resources and only hands out handles to them on request (currently string identifiers are used when requesting handles, but all resources are stored in a vector and each handle only contains resource's index in that vector) Resource<T>: The handles given out from ResourceCache. The handles are reference counted and to get the underlying resource you simply deference like with pointers (*handle). And my plan is to define everything into these XML documents to abstract away files: Resources.xml for ref-counted GPU resources (geometry, shaders, textures) Resources are assigned names/ids and resource files, and possibly some attributes (what vertex attributes does this geometry have? what vertex attributes does this shader expect? what uniforms does this shader use? and so on) Are reference counted using ResourceCache<T> Assets.xml for assets using the GPU resources (materials, meshes, models) Assets are not reference counted, but they hold handles to ref-counted resources. References the resources defined in Resources.xml by names/ids. The XMLs are loaded into some structure in memory which is then used for loading the resources/assets using factory classes: Factory classes for resources: For example, a texture factory could contain the texture definitions from the XML containing data about textures in the game, as well as a cache containing all loaded textures. This means it has mappings from each name/id to a file and when asked to load a texture with a name/id, it can look up its path and use a "BinaryLoader" to either load the file and create the resource directly, or asynchronously load the file's data into a queue which then can be read from later to create the resources synchronously in the GL context. These factories only return handles. Factory classes for assets: Much like for resources, these classes contain the definitions for the assets they can load. For example, with the definition the MaterialFactory will know which shader, textures and possibly uniform a certain material has, and with the help of TextureFactory and ShaderFactory, it can retrieve handles to the resources it needs (Shader + Textures), setup itself from XML data (uniform values), and return a created instance of requested material. These factories return actual instances, not handles (but the instances contain handles). Is this a good or commonly used approach? Is this going to bite me in the ass later on? Are there other more preferable approaches? Is this outside of the scope of a 3d renderer and should be on the engine side? I'd love to receive and kind of advice or suggestions! Thanks!
  3. Hey all, As some of you may know, I do have a Computer Science background, but either by chance/design/fate/insert stupid excuse here, I didn't take any graphics courses in my undergraduate degree, but now I'd be very interested in at least learning the basics of graphics and potentially pursuing more in graphics. I'm interested in all sorts of graphics in general, so everything from real-time engines to rendering engines like Arnold, Octane, etc. Can anyone point me in the right directions for books/tutorials? Thanks in advance! EDIT: Apologies in advance if I missed the proper channels for this as well
  4. After my first thread and some painful deleting AND some lengthy drive resizing, I now have Unity and Visual Studio Enterprise As the hype of me finally being able to make a game that I've always dreamed of faded away because of school schedule being a douchebag, I came to a painful realization that I basically don't know anything about Unity (making progress at least, with the tutorial, the rest....well....I don't have a credit card yet, and my age is 2^4 + 1 (don't wanna be too....public)) nor C# (hopefully dotnetcademy.net's C# course for complete beginners can somehow help me with this). At least I know what I am doing (I guess) with my game: 2D, Top down, Isometric, Pixel Art (because I'm on my own and I can't draw like an artist and I'm too broke), RPG with EXP, Class Advancement system and probably some sort of a seeding mechanism for randomized gameplay So, as a complete greenhorn stepping into the field with a completely wrong set of equipments, I'd love some advices from the pros and the experienced (all advices are welcomed OwO)/ ), esp to these questions: - Should I take on regular C# and then learn Unity C# or skip regular C# and straight to Unity C#? - Is pixel art really a way out for me on the visual part? Sprites, maps, items, effects, etc...... - Is my idea okay? Is there anything I can add in or cross out? - Should I do this alone? Or should I get some accomplices? I'm not planning to rush it anyway. Thank you in advance. Sorry, no potato this time
  5. This tutorial will give a step-by-step guide for creating Trello cards from inside a running Unreal Engine 4 project. While you can use this for just about anything you can think of, I personally use this as a way for my players to post bugs from inside the game. If you're not familiar with Trello, I highly suggest you check it out. It's a great tool for project management and organization. It should go without saying, but you're going to need an account on Trello in order to make any progress here. I also want to mention at this point that this will be a C++ tutorial. Without some form of additional plug-in or other engine modification, you can't make the needed HTTP Request calls. Also, setting this up will assuming you know how to add input mappings and have worked with Widgets a bit. Note: This was created UE4 4.17. This article was originally published Ding! Games. We're going to start simple, but I'll talk about a few ideas for adding in some variance toward the bottom. Part I: Trello We're going to start by going through some steps to authorize access to your Trello account and get the information we need in order to post new cards onto the board of your choice. In the end, we're looking to make an HTTP request to Trello that looks something like this (the italicized parts surrounded by {} are what you'll end up replacing with your own values). https://api.trello.com/1/cards?key={Your+key}&token={yourtoken}&name={New+card+name}&desc={New+card+description}&idLavels={Label}&idList={list} Step 1: Key The first thing to do is generate a key with your Trello account. This will let you start to get the rest of the required items. While logged into Trello, go to the following link: https://trello.com/app-key Step 2: Token The next step is to authorize write access. Copy the below address, but replace {Your+Key} with the key you got from Step 1 (make sure you take out the {} as well). https://trello.com/1/authorize?key={Your+Key}&scope=read%2Cwrite&name=My+Application&expiration=never&response_type=token Step 3: Board Id Now you need to get the id of the actual board you want your cards to get posted to. Use the following link (no modifications needed): https://trello.com/1/members/me/boards?fields=name Exactly how this looks will depend on which Web Browser you're using. For example, Chrome will just spit out all of the text without organizing it at all, while Firefox will sort and color the data for you. Either one is fine, just look for the long string of alpha-numeric characters right after the name of the board you're specifically looking for. This id isn't actually needed in the HTTP request line, but you need it to get the next two ids... Step 4: List Next up, the list within the board you want the cards to post to. As before copy the below, but replace the board id with the id you got from Step 3. https://api.trello.com/1/boards/{board+id}/lists Again, how it breaks it out will be determined by what Web Browser you're using. This is where using something like Firefox will make it a lot easier to pick out the exact one you're looking for. This time, the id (not the pos) you need is before the name of the list you want to post to. Also, make sure you don't inadvertently copy the board id again. Just one more... Step 5: Label Last, but not least, is the label you want put on the card itself when it gets posted. This should be getting familiar, replace the board id in the address with your own. https://api.trello.com/1/boards/{board+id}/labels As with step 4, this can be a bit messy if your browser doesn't break it out for you, but you should be getting the hang of it by name. Grab the id (first entry per set) for the color you want your bards to post as. Okay, hopefully you copied all those ids down somewhere, because you're going to need them for the next part, actually writing out the code. Part II: C++ Code Now that we've got all of the various ids that we need, it's time to dive into doing some code. Step 1: HTTP Module First up, we need to make a small edit to the build file, and include the HTTP module. public class Zeus : ModuleRules { public Zeus(ReadOnlyTargetRules Target) : base(Target) { PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "HTTP" }); PrivateDependencyModuleNames.AddRange(new string[] { }); } } Step 2: Header Definition Now, on to the actual implementation. I added my logic in the Game Mode, but you can actually put it just about anywhere you want. I'm also going to show a very simplistic setup, although I'll give some ideas on how to expand upon it at the bottom. #pragma once #include "ZeusFunctionLibrary.h" #include "StandardPlayerController.h" #include "Http.h" #include "GameFramework/GameMode.h" #include "ZeusGameMode.generated.h" UCLASS() class ZEUS_API AZeusGameMode : public AGameMode { GENERATED_BODY() public: AZeusGameMode(); /** Used to report a bug */ UFUNCTION(BlueprintCallable, Category = "Trello") void ReportBug(FString Name, FString Description); UFUNCTION(BlueprintImplementableEvent, Category = "Trello") void ReportBugComplete(bool bWasSuccessful); private: void OnReportBugComplete(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful); }; There are three functions defined in the above code: ReportBug: My goal is to have bugs reported from the game's GUI, so I wanted to be able to have the actual reporting of the bug called from blueprints. This function is passing the Name of the bug, and the full description (both entered by the player). You can modify this as you see fit. ReportBugComplete: This is implemented more for testing purposed. It's used to push the result of the bug submission back up to Blueprints to be handled. You can modify this as desired, or just remove it entirely. OnReportBugComplete: This is the function that gets automatically called after your HTTP request is processed. As such, it has to stay as is. Now to the best part, submitting the card! Step 3: Implementation Here's the code: #include "Zeus.h" #include "ZeusGameMode.h" const FString TrelloCards = "https://api.trello.com/1/cards?"; const FString Key = "1234567890abcdefghijklmnopqrstuv"; const FString Token = "123456789abcdefghijklmnopqrstuvwxyz123456789abcdefghijklmnopqrst"; const FString Label = "123456789abcdefghijklmno"; const FString List = "123456789abcdefghijklmno"; AZeusGameMode::AZeusGameMode() { // Nothing extra needed in the constructor for this } void AZeusGameMode::ReportBug(FString Name, FString Description) { TSharedRef Request = FHttpModule::Get().CreateRequest(); Request->SetVerb("POST"); //Replace all the spaces with + Name = Name.Replace(TEXT(" "), TEXT("+")); Description = Description.Replace(TEXT(" "), TEXT("+")); //Construct the HTTP url FString URL = TrelloCards + "key=" + Key + "&token=" + Token + "&name=" + Name + "&desc=" + Description + "+(V:+" + UZeusFunctionLibrary::GetProjectVersion() + ")" + "&idList=" + List + "&idLabels=" + Label; // Set the built URL Request->SetURL(URL); // Bind OnReportBugComplete() to be called once the request is complete Request->OnProcessRequestComplete().BindUObject(this, &AZeusGameMode::OnReportBugComplete); // Process the request Request->ProcessRequest(); } void AZeusGameMode::OnReportBugComplete(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful) { // Calls up to a Blueprint implemented event ReportBugComplete(bWasSuccessful); } All of the logic takes place in the ReportBug function, essentially going through the following steps: Create the request and set it to POST (This is an HTTP protocol thing) Change all of the spaces to + (Another HTTP protocol thing) Build out the full string to be reported, using the model I posted way up top. Note that I have a function in there that adds on the current project version to the description. This is very handy for tracking bugs, as you really want to know what version someone is playing, without having to worry about them typing it in themselves somwhere. Set the built URL against the Request, bind the OnReportBugComplete() function and then process the request. That's it for the code level. This alone gives you a good bit of freedom for what to do, but I'll show you a simple implementation at the Blueprint level next. Phase 3: Blueprints Step 1: Widget First, lets build out our Widget that the player will actually use to input their bug: I was looking for functional when I threw this together, not pretty. It's an extremely simplistic Widget, with some texts boxes for the user to input a title and description of the bug, and then either Submit, or Cancel. The buttons have the following attached to their respective OnClick() events: Submit: Cancel: Step 2: Input Mapping Under project Settings->Input, we want to add an action mapping to start of this whole series of events: Step 3: Report Bug Event Last, but not least, we need to fill out the logic for when the user actually presses F12. I put this in the Blueprinted version of my Player Controller, but you can put this in anything that receives user input: A couple of things to note here is that I automatically take a screenshot and pause the game. Neither or required, but I find both to be handy. Conclusion And there you have it! While running, you should now be able to press F12, create a bug report and submit it to Trello, where it should appear almost instantly. Now, as I mentioned earlier, this is a rather straightforward approach that has the potential for expansion. For example, as it stands, the Board, List and Labels are currently hard coded values, meaning that you always post to the same place with the same label marking it. You could expand upon that by putting in a drop-down for the play to choose how critical of a bug they found, passing that as a variable down to the ReportBug() method (such as in the form of an enum), which you could then use to select which label gets attached. You could also let the player submit recommendations or feedback in addition to bug reports, which could result in the cards being posted to a different list, or completely different board. The variations are endless, but ultimately, anything that lets the player quickly provide some form of feedback without having to leave the game or do something else is ideal. Hopefully you don't have any trouble getting any of the above implemented, but if you do, please feel free to post your questions, and I'll see what I can do. Best of luck! Shawn Shawn is the Designer/Developer at Ding! Games. They are currently working on a game code-named Zeus, a RPG Action/Puzzle game. For more great articles or to get the latest news bout game development, visit them at their site.
  6. I want to ask a question about how much time it normally takes to make large games. I am doing a proposal assignment and wanted some sources for how much time it would normally take for larger games to be developed and released. I just thought I could ask around here while doing google searches elsewhere. Sources I found so far: https://kotaku.com/how-much-does-it-cost-to-make-a-big-video-game-1501413649 https://www.economist.com/blogs/economist-explains/2014/09/economist-explains-15
  7. Edit : Maybe this should be in Beginners forum. Sorry if it should be there. Hello everyone, we're getting closer to the holidays. Everyone have a safe happy season. I'm having trouble with a recursion problem for an : Inside the Quick Sort example. At the very least, I am having trouble understanding how the right side of the quick sort is done after doing all the left hand subsections. I understand that the partition function's job is to keep reducing the left-hand subsection. I am not very good at recursion yet and I am also having trouble mostly with the two quicksort calls in the quicksort function. I could really use some help. Thank you, Josheir Here is the code: #include <iostream> void getdata(int[], int); void display(int[], int); void swap(int &, int &); void partition(int[], int&, int&); void quicksort(int[], int, int); //using std; int main() { const int max = 10; int list[max]; getdata(list, max); std::cout << "initial list\n"; display(list, max); quicksort(list, 0, max - 1); std::cout << "sorted list:\n"; display(list, max); while (1); return(0); } void getdata(int a[], int n) { a[0] = 10; a[1] = 9; a[2] = 8; a[3] = 7; a[4] = 6; a[5] = 5; a[6] = 4; a[7] = 3; a[8] = 2; a[9] = 1; } void display(int a[], int n) { for (int i = 0; i < n; i++) std::cout << a[i] << "[" << i << "]\t"; std::cout << std::endl; } void swap(int &a, int &b) { int temp = a; a = b; b = temp; } void quicksort(int a[], int left, int right) { int l = left, r = right; partition(a, l, r); if (left < r) { quicksort(a, left, r); } if (l < right) { quicksort(a, l, right); } } void partition(int a[], int &l, int &r) { int pivot = a[l]; while (r > l) { while (a[l] < pivot)++l; while (pivot < a[r])--r; if (l > r)continue; swap(a[l], a[r]); ++l; --r; } } Thanks again.
  8. I have to learn DirectX for a course I am studying. This book https://www.amazon.co.uk/Introduction-3D-Game-Programming-Directx/dp/1936420228 I felt would be great for me to learn from. The trouble is the examples which are all offered here http://www.d3dcoder.net/d3d11.htm . They do not work for me. This is a known issue as there is a link on the examples page saying how to fix it. I'm having difficulty with doing this though. This is the page with the solution http://www.d3dcoder.net/Data/Book4/d3d11Win10.htm. The reason why this problem is happening, the book was released before Windows 10 was released. Now when the examples are run they need slight fixes in order for them to even work. I just can't get these examples working at all. Would anyone be able to help me get the examples working please. I am running Windows 10 also just to make this clear, so this is why the examples are experiencing the not so desired behaviour. I just wish they would work straight away but there seems to be issues with the examples from this book mainly because of it trying to run from a Windows 10 OS. On top of this, if anyone has any suggestions with how I can learn DirectX 11 i would be most grateful. Thanks very much. I really would like to get them examples working to though from the book I mentioned. Look forward to reading any replies this thread receives. GameDevCoder. PS - If anyone has noticed. I asked this about 1 year ago also but this was when I was dabbling in it. Now I am actually needing to produce some stuff with DirectX so I have to get my head round this now. I felt at the time that I sort of understood what was being written to me in response to my thread back then. I had always been a little unsure though of being absolutely sure of what was happening with these troublesome examples. So I am really just trying to get to the bottom of this now. If anyone can help me work these examples out so I can see them working then hopefully I can learn DirectX 11 from them. *SOLUTION* - I was able to get the examples running thanks to the gamedev.net community. Great work guys. I'm so please now that I can learn from this book now I have the examples running. https://www.gamedev.net/forums/topic/693437-i-need-to-learn-directx-the-examples-for-introduction-to-3d-programming-with-directx-11-by-frank-d-luna-does-not-work-can-anyone-help-me/?do=findComment&comment=5363013
  9. For our team, developing Creature Quest, the mobile strategy RPG, has been a thrilling adventure all its own. It’s been a journey where our heroic development team needed to slay the fearsome monsters of scaling, client-versus-server data handling, and other tricky impediments – all so that the peace of a seamless player experience may reign throughout the game’s world. Completing our quest required gathering artifacts of power, from a trustworthy game engine to a database capable of delivering us to our destiny. Our team of experienced PC game development professionals set out as a new company looking to explore the rapidly growing realm of mobile gaming. At its head was Jon Van Caneghem, the creator of the Might and Magic and Heroes of Might and Magic game series. In looking to provide the same enchantment of those games via a mobile experience, our team began learning the lore of the smaller-screen landscape, investigating technology options and the standard stacks while strategizing over how to overcome certain technical obstacles. We had experience using Node.js and knew that we wanted a document database. That led us to vetting open source NoSQL options, and we found MongoDB to be a strong fit for the task at hand. However, as a startup with a small team that didn’t happen to include a dedicated MongoDB expert, the work of implementing and managing this database soon proved daunting. Our limited resources also meant efficiency and a tight focus on actual game development were essential to getting Creature Quest off the ground, making the prospect of adding an expensive MongoDB expert to the internal team even less likely. Still, the situation called for putting expert database management into place. Given that the potential user base for a mobile game includes nearly everyone who owns a smartphone, overnight success could mean profound database scalability stresses requiring true expertise to navigate. Ultimately, we decided on a hosted MongoDB strategy that could deliver this proficiency, and affordably achieve the required scalability and reliability while also keeping database management off of the internal engineering team’s plate. The MongoDB database provider mLab had worked well throughout a free trial and assessment period, and allowed us to begin on a small service plan and then easily scale as needed. In searching for the best framework for building Creature Quest’s client-side app, we sought a solution that could deploy the app to the iOS, Android, and Android for Amazon platforms. For this we chose the Marmalade SDK and game engine, which enabled us to create C++ code and deploy native apps for each of the mobile platforms we targeted. As for the rest of our stack, the Lua programming language saw the most use by our team, with Marmalade offering the integrations required between Lua and the C++ core engine. The libcurl library was also selected to communicate with a backend NodeJS REST API server, while the Mongoose NodeJS library for MongoDB served as a middleware layer. Data flows through this system with the client app first sending requests to the NodeJS server, which in turn sends calls to store or retrieve data in the database. NodeJS supports greater scalability by operating asynchronously, as concurrent handling of requests vastly increases the scale of data the system can process. Throughout this game development journey, one of the most challenging strategic issues we’ve faced is in striking the balance between handling data on the client or the server. To safeguard the integrity of game data, our early test versions of the game required the client to verify all data with the server. This succeeded in making sure that players couldn’t use hacked versions of the client to cheat – unfortunately it also reduced the game’s performance to a stuttering mess. In mobile gaming, a velvety smooth play experience is a requisite: players will quickly abandon apps with performance issues. So we adapted, allowing for unverified data to accumulate on the client and be saved to the server only at key transitional moments within the gameplay. For crucial data transactions such as in-game purchases, we focused on getting the architecture around those sequences just right, while at the same time concentrating QA efforts to be certain that the app wouldn’t crash when critical player data could be lost. As the adventure of developing Creature Quest continues, the journey is already riddled with milestones, including a successful worldwide launch and a loyal and growing audience. But the game’s promising outlook is really helped by the fact that we have trustworthy technology and an effective data strategy in place going forward.
  10. Seven Tips for Starting Game Developers

    Originally posted on Medium Well, it’s been a ride. My first game Totem Spirits is now live. I’m not gonna tell you how awesome the game is (since you may try it yourself :) ). Instead I want to share my own experience as a developer and highlight some useful tips for those interested in game development. First of all, short background information about myself — I’m 26 now and have about 22 years of a game playing experience (yes, that’s right the first games I played at age 3–4, one of them was Age of Empires) and slightly more than three years of professional career as a Java developer. Alright, let’s dive into the topic itself now. There are seven tips I’ve discovered while creating the game: 1. The team is the main asset. Yes, even the smallest game dev studios have a team of a few people. I literally give a standing ovation to those guys who are able to create a whole game product only by themselves (I know only one example of such). In my team there were one artist, one UX-designer\artist, one sound designer, and myself — programmer\game designer\UX-designer. And here comes the first tip: you should tip 1: Delegate the work you are not qualified in to the professionals. Just a few examples why: Firstly, I tried to find the sounds myself, spent a few days on it and ended up with a terrible mix of unsuitable and poorly created sound samples. Then, I found a guy who made a great set of sounds for less than $15. The first version of promo video was, well, horrible, because I thought I’m quite good at it. Fortunately, I met an UX-designer who made this cool version you may find at the beginning of this post. I can see now why there are so many, let’s say, strange-looking games with horrible art assets and unlistenable music. Well, you just can’t have the same level of professionalism in everything. 2. Game development is not free. You would have to spend your time or\and your money. I mean, if you want to create a good-looking and playable product you need to invest in it. To be honest, I think that not each and every product out there in the markets can be called a “Game”, since many of them are barely playable. As for my game I’ve spend about $1200 on the development and slightly more than 2 years of my life. Still think that it’s worth every penny and every minute, since I gained a lot of experience in programming which boosted my professional career. tip 2: Take it seriously, investments are necessary. 3. Respect the product. The development process is painful, you will want to quit several(many)times. But if the game you’re building is the one you would enjoy playing yourself it would make the process more interesting and give it additional meaning. The third tip is my main keynote. tip 3: Build a game you would want to play yourself. 4. Share it with the closest friends and relatives, BUT… tip 4: …choose beta-testers wisely. If you don’t want to pay extra money for professional testers then friends\colleagues\relatives are gonna be the first ones to test the game. Try to find what kind of games they like since probably not each of them represents your target audience. And I suggest sharing the product not earlier that in the “beta” stage — otherwise you would need to explain a lot of game rules and that would harm the user experience and you gain almost nothing useful out of it. 5. Make use of your strengths. It will cost you less if you know how to code or how to create an assets. In my case, I didn’t need to hire a programmers or game designers. No one is able to implement your idea better than you, that’s why I suggest to tip 5: Take as many roles in the project as possible. But do not forget about the tip 1. 6. Don’t waste too much time on planning. No, you still need to have some kind of a roadmap and game design document, just tip 6: Make documentation flexible. You would probably need to change it many times. In my case a lot of great ideas had come during the development process itself. And don’t be afraid to share your ideas within a team and listen to their ideas as well! 7. You will hate your game at some point. That may sound sad, but that’s true. After a ten-thousandth launch you just hate the game. You may be tempted to start a new “better”, “more interesting”, etc. project at that point, but, please, tip 7: Don’t give up! Make it happen. Share the game with the world since you’ve put a lot of effort into it. Those tips I’ve discovered mostly for myself and more than sure that for a game industry giants the list above may sound like a baby talk. Nevertheless I still think it might be useful for those dreaming to create the best game ever.
  11. Java Simple Android Strategy game

    Hello everybody I am interested in learning how to develop an app/game for Android devices. I have experience with UE4 and know the basics of C++. Would a very simple version of Armory & Machine be a good starter project? It should not contain physics or AI or similar. What would be the way to make something like that? I read a lot about Java related to Android on the internet. Thanks for your help!
  12. Hi, I'm Lens of Truth and it's time for a Halloween special! I released a new video for my YouTube channel about game design. This one is all about Metroidvania-styled Castlevania game, which unlock bonus playable characters after you beat them. If you could check it out, that'd be awesome! I'd also love to know what you think. Here's my video, Bonus Playable Characters in Castlevania Games.
  13. Hi, I'm Lens of Truth and I released a second video for my YouTube channel about game design. This is the first in a series all about ideas for making a great Power Rangers game. If you could check it out, that'd be awesome! I'd also love to know what you think. Here's my video, When to Morph.
  14. Description; I am a designer currently working on the video game Colony 7. The purpose of the blog is to address the issues of the game's development and to address any solutions or alternative methods to better prepare for the arrival of inconveniences in the future or how to avoid them entirely. The blog also addresses my individual performance. The team is made up of two programmers and four level designers but all do not necessarily combine roles during development. The game is being developed in Unity (2017.1.1f1 onward) with a development time of 13 weeks for a college allocated task. Previously the team discovered that Unity's sharing capability (Unity Collaborate) was disabling code and the intended implementation of the assets created and placed into the project causing 'colliders' on each object to conflict with each other when connected via our custom kit pieces. To solve the issue my team decided to create one distinct project that would serve as the complete copy of Colony 7. We also agreed upon, when necessary, finalising the complete copy of the game when together and distributing that project amongst each other before departing for the week. I did not have much influence in the resolution to this encountered issue but did make suggestions based on previous experience. I have encountered trouble with Unity Collaborate previously and am unsure how to approach using it correctly and understanding why projects may conflict with other versions despite not having any errors on the initial device. If code specifically were transferred in person from device to device then issues would be expected to be resolved with the exception of the project on Unity not being current with it's most developed copy. My team is using the program MagicaVoxel to create almost all assets (and all aesthetic assets) for Colony 7. Placing the exported files as an 'obj' from MagicaVoxel from my own device would always display the correct colour scheme that I had designed and selected in the initial program. However retrieving objects created by other members of my team from places including Google Drive and USB transfer would display objects defaulted to one colour with their additional image being of no use to the asset. A fellow designer managed to figure out that the Albedo function of the 'material' of the object in Unity was the disrupted aspect. By placing the image featuring the intended colour scheme could be added to the object. I identified the complication of the asset issue first and the solution discovered was the only preferable way to solve the issue in a short amount of time. Due to my designated role of asset creation I have not had any impact toward understanding how Colony 7 will form together as final product. MagicaVoxel being the program I have most used thus far has limited my chances to learn about other functions in the coding and implementation of my assets. Spending time with each team member and having them each explain their role and actions during development time would be beneficial in involving me in positions I can undertake and perform tasks not suited to me but needed, - These two problems encountered were the main disruptions my team encountered and we were able to solve with little cost to our development or time management. Individually I was able to point out the problems and make suggestions on how to best correct them both but I did perform greatly in solving the issues themselves. These were both things met during the early development of Colony 7 however. More unexpected halts in progression will be addressed with future blogs throughout Colony 7's development time. Thank you for your time and feedback is appreciated. Colony 7 Designer.
  15. Learning Making my First game

    Hello, My name Is pillowdo, so I have alot of question but let me first tell you what I'm aiming for. 1) Making a game Becouse I have ALOT of free time I want to make use to 2) programming is one of those things I really wanted to learn 3) I'm not excpecting anyone to even download my game even if it was good so this isn't aiming for the money 4) so If I'm not here for the money and just to learn programming then why make a game? insted just learn the language Right? not really I want to make a game for experince too, so if I decided to make a nother game, Then I would know what I'm doing and it would be alot more easier and I would know the amont of work and money it would take, so Experience is another reason ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Things I don't excpect 1) Money, I know this will probebly make nothing but I'm not here for it 2)Time, I don't excpect this to be easy or short, most good indie games take a long time, Like the famous game stardew valley, it took the developer 4 years and each day around 10 hours =14,000+ hours, he had a part time job too 3)Good Game, I know its not possible to make a game as good as GTA5, WoW, God of War, Halo ...etc They take YEARS to make even with hundereds of Artiest and developers but it IS possible to make a game Like stardew valley if you really put Some Hard work and ALOT of time into it (you Might have relised I keep talking about stardew valley, I won't make a game on the same idea I will be original but The game really insperies me, as well as alot of other games but SV must be one of the most) ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- (EDIT: I forgot to mension this, I'm going for a 2D art style. it makes BIG diffrence in PL & The Engine so I thought I'd say that) The questions: 1) The Programming Language, There are so many Languages and people say "Its a preferance and there isn't much difference" but I want to make sure about that point, + It also depends on what engine your going to be using which brings me to the second point 2) Engine so I've seen ALOT of Engines and it mostly goes down to The price but I don't think that's a issue I can download it for free Online and get The Original if my first game can over it ( considering I make something) 3)Art style so I'm reaaaaaly confused on this point and I know there are So mannnyyyy kinds of art style but let me tell you what I'm looking for a) I like art styles like , Warcraft 3, stardew valley Maybe, FATE And GraalOnline classic it dosn't have to be the same but atleast something around that style that I enjoy looking at b) I Will go for a 2D style game, like Stardew valley and Graal Online classic, c) I know there are websites that give you there drawings and art and everything but you have to credit them in your game, I want to make everything and all the credit by myself and Maybe one of my relatives will join me IF I understand how this works and find him a role he Might Like (Like art for example ) ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Important Note: I don't mind If the game takes 4-5 years of development, as long as I find passion and enjoyment then It will really pushs my limits to the max
  16. I'm trying to find a way to check which frameworks, tools and game engines are popular, mainly because I'm trying to decide which programming language to learn, which would stem from would stem from which tool I'm going to use. Any advice?
  17. I know of one really good YouTube channel that's all about game design. It's simply called Mark Brown, and he does two different series: Game Makers' Toolkit and Boss Keys. It's a great place for game designers to go and just pick up ideas. He's not really about entertainment, although the videos certainly aren't boring, but more about education. As in, how do existing games do clever things to stand out from other games? I myself created a YouTube channel with the intent of talking about game design, although I only have one video as of posting (working on the second). Are there any other really good channels like Mark Brown? I've seen other channels with the same intent, but lacking on the execution. Here's my video below.
  18. Hello gamedev.net, I am brand new here. I am not the best at articulating myself or at formatting forum posts so sorry ahead, but I want to try and make my first post count so I'll jump right in. I love the time that we live in - I love that pixelated graphics have been so prominent in gaming these past years. I like to think that a lot of people developing 2D games these days have the same mentality as me, which is 2D graphics are beautiful (I've heard people call 2D development "lazy" which is possibly true for some, but I like my positive viewpoint). Sword of Mana for example, despite it's age and 2D graphics is a wonderful, whimsical, beauty. It has a fun hack and slash style of combat, addictive crafting (mob grinding for loot/seeds) and a creative housing system for the time. I've replayed this game many times throughout the years. Each time I play it I'm at a different level of maturity in my life (more or less lol). As I've aged my perspective has changed due to life and it's struggles, so the game means something different to me each time I play it. To get to the point of why I created this account - I want to learn how to make a top-down, 2D, RPG that plays like Sword of Mana. I have no illusions that it will be easy and I'm hoping for some solid advice from the experienced users on this forum to get me pointed in the right direction. I have no skills with game programming, minimal music ability (I have three practice tunes on soundcloud if you want to check them out - bottom of post), and no skill with pixel art, but am willing to learn. So if you have any advice whatsoever I'm all ears!
  19. Student Project Interview

    Hello, I am computer science student who has been assigned a career research project that requires an interview from a professional. If a veteran game designer can spare the time for a few questions, I would be honored. An interview would focus on the effects of new technology within the industry, the skill-sets utilized in game development, and the pathways to a successful career. Skype would be the preferred method, but discord, email, or this forum are fine as well. Post below if interested or if you need additional information.
  20. Concept Markup

    Here's the first mark up, Nothing functional but you get the Idea —Brua-1589
  21. Text Based RPG

    Hello everyone! First if you are taking the time to read this "Thank You!" I'm new to programming (Java and C), and I would like to learn/practice more by making a Text-Based RPG. I have an idea in mind and I kinda started to code it in Java but I'm not sure how to put my bits of code together and would like some help. I'm not asking to make the game for me, but to guide me in the right direction... maybe some books, tutorials or even some one on one if you don't mind. The game I have in mind is going to contain: A player, world, leveling system, melee combat system(with some skills), monsters, inventory system, intractable objects(like a tree that you can cut down), item storage system, NPC's that interact maybe a store or something, and a saving and loading system. After that maybe I would like to add some more Non-Combat skills, a mage and range combat system along with some more skills, and make the world a bit larger with some interesting stuff in it... Anyways that's a lot so thank you for taking your time to read this, let me know if I can explain anything better or if I didn't explain something enough!
  22. C++ Player out of tile map

    Hi! I made a tile map reading from a file. Almost everything works good, but when a player go out of map, program runs into an error and says that "vector subscript out of range". My question is how to make check for it Drawing map : void GameplayScreen::DrawMap(SDL_Renderer *renderer) { for (int y = map.size() - 1; y >= 0; --y) { for (int x = getStartBlockX(), xEnd = getEndBlockX(); x < xEnd && x < map[y].size(); ++x) { if (map[y][x] != "0,0") { int tempX = atoi(map[y][x].substr(0, map[y][x].find(',')).c_str()); int tempY = atoi(map[y][x].substr(map[y][x].find(',') + 1).c_str()); srcRect.x = tempX * 32; srcRect.y = tempY * 32; srcRect.w = 32; srcRect.h = 32; destRect.x = x * 32 + posX; destRect.y = (y * 32 + posY); destRect.w = 32; destRect.h = 32; vBlock[Earth]->Draw(renderer, srcRect, destRect); } } } } getStartBlockX returns first map block, getEndBlockX returns last, so it's like render on screen only a piece of map, not all blocks. tempX returns x coordinate of tile image, tempY y coordinate. So, for example, if map is like : 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 1,0 2,0 0,3 1,0 1,0 0,0 is first block image, 1,0 is one next to the first, 0,3 is 2 under the first block etc.
  23. So I've been reading about and watching videos about Smalltalk. It seems like an interesting language and damn near the Father (or Godfather) of all things OOP. But it got me thinking, what languages should a programmer know or even be proficient in to be a dependable programmer (couldn't think of a better word than "dependable")? After giving it some thought, I came up with this list. At least 1 programming language from: Lisp family of languages ML family of languages Smalltalk family of languages And also the C programming language (not the family, just the language). I think this covers all facets of programming and ways of tackling problems. I don't think there's any other language, thinking most of the modern languages, that has done anything that 4 listed above haven't already done. I'm not counting languages like Julia, R, Perl, or Erlang, because they are languages, AFAIK, that seem to solve a very specific problem. They can be general purpose, but again, AFAIK, they're not meant to be. Of course, agreements, disagreements, thorough takedowns, and/or overall discussion are welcomed.
  24. I'm looking to form a new game development team, mostly for training purposes. About me: I'm a student - Unity C# developer, who worked part-time in this industry for a couple of years already. I've been a lead developer in many "random collab groups" as well as a few companies. I specialize in creating 2D games for Android, but I'm looking forward to trying out new things - especially 3D development. Currently, I've got one Android game close to a release so I'd work for this team in my spare time. About the project: I've been thinking about creating a simple tycoon-like simulation game for Android (and PC eventually), inspired by the Game Dev Story (initially released by Kairosoft in 1997) https://en.wikipedia.org/wiki/Game_Dev_Story I haven't done much planning though, therefore I'm looking forward to hearing out your ideas. Right now, I've only created a test 3D scene using placeholder models and implemented a simple pathfinding system for me to play around with: https://i.imgur.com/xAd0l4o.png https://i.imgur.com/nHZerOT.png I'm looking to work with people who are: - willing to take a position of a: 3D modeller/2D artist/Designer - not necessarily very experienced, but eager to learn and improve their skills - active - check in at least once a day If you'd like to apply for a different position which I didn't list here, you are welcome to contact me as well. While this project is created mostly for learning purposes, if we ever get to release it and generate any revenue - you will recieve a certain percentage of it. To Apply: Send an email to rk.softwaredev@gmail.com Introduce yourself and attach an example of your work (if you have any)
  25. Questions about Templates

    I was doing an experiment, code below: template<typename T> struct S { explicit S(T v) :val{ v } {}; T val; }; int main() { S<int> MyS('g'); cout << MyS.val << endl;//Output is 103 return 0; } Even though I am providing T with a type which is int, and I have an explicit constructor, why I have an implicit conversion from char to int? Shouldn't it see that T is int since I'm telling it so and thus give me error for constructing an S out of char?