• Advertisement

Rutin

Member
  • Content count

    177
  • Joined

  • Last visited

Community Reputation

56 Neutral

2 Followers

About Rutin

  • Rank
    Member

Personal Information

  • Interests
    Art
    Audio
    Business
    Design
    Programming

Recent Profile Visitors

1528 profile views
  1. I don't think you're getting the point, it's not about being the same, it's the concept of progressive growth and understanding. I have cooks in my family and what they were able to make on day 1 isn't the same after a few years. What you could do or understood on day 1 is simply not the same after 7 years. I'm sure you're able to break down ingredients to the point where you can make custom meals because you're able to add ingredients that go well together, not just follow someone else's recipe. This is the same concept with programming. When you start out you're using another Chef's recipe because you don't have the ability to go into a kitchen and make AAA style meals from random ingredients. The same applies with programming, you start off by making simple programs, and by following instructions to understand the components and concepts of the language, then at some point you understand majority of what you have to work with and can craft your applications without the need of books, tutorials, or guides. I honestly don't think coding is for you, you're not looking at the programming as a progressive progress, you simply do not just read tutorials and you're good to go. You require very logical and analytical thinking in order to excel in this field once basic concepts are learned, but if you're looking to skip the building blocks you will not succeed. Unless you want to learn "programming" bad enough you will not find that motivation. Motivation comes after action, not before. I wish you the best in your artistic journey going forward in game development. You will find lots of programmers looking to team up with an artist out there.
  2. Continue with library or move on to engine?

    I've come across many types of programmers, and game developers. Some want to make their desired game in the fastest way possible, while others enjoy creating the engines and tools for their games to run on, there is no wrong or right answer here. I personally enjoy creating game engines and tool-sets, along side games so for me I would never use GameMaker because I have different goals in mind. For someone that wants to make their game in record time, but still be able to script (GML), then GameMaker is a good solution. You have to ask yourself what you want to be able to do. If you have a goal that someday you want to be able to sit down with a library and just code your own game engine, then using GameMaker will not get you there. C++ with SFML as an example will get you to that point, or even just working with OpenGL/Direct3D directly. You also have to factor in your career path, if you want to make an impressive portfolio for C++, GameMaker will also be useless in this case. You would be better off making toolkits, engines, and games with C++ and SFML, then creating a showcase for when you apply for jobs. (This assumes you're wanting a job as a 'programmer', especially in physics programming).
  3. The point in creating games like Tic Tac Toe is not because it's a game you will like or play later, it builds the foundation for future games. Take a Chef for example, you don't see people learning to cook go from a basic soup to making six course grand TV worthy meals right away, it takes a strong foundation and a lot of time. Based on all your posts in the thread you're looking for an easy way to create games hand in hand with your artistic skills. You have a few options: 1. Join a team of programmers looking for an artist 2. Pay money and hire a programmer to make your 'dream' game while you create the visual side 3. Learn Blueprints with UE4 (Still requires logical thinking of how things go together). 4. Stick with 2D games and use GameMaker Studio 2 I wouldn't recommend learning to code if you're already at the stage where you're not willing to go through those mundane tasks in order to develop the skill sets to make future games. Stick to what you know, and find a team or individual programmer to help you out. Not everyone is fit for this and there is nothing wrong with that. It took me several years to be able to program my own real full featured RPG, and I've been at this for 15+ years. Programming in general takes a lot of time to learn the craft, and is not something people pick up within a few months.
  4. New questions?

    For sure, it really comes down to personal preference, and using GameMaker isn't a wrong choice if you're looking at making 2D games quickly. I've been programming tool-kits and game engines in house for so long that I enjoy the process which is why I don't use GameMaker or similar tools. This is what got me started in C++ to begin with, I wanted to essentially make my own engine from the ground up, and tool-kits so I could make a variety of games. At the end of the day if you're just into making your game as fast as possible, there is nothing wrong in using the many tools available to streamline the process. I don't fall into the above category because I love programming so much, and I also enjoy making games equally (believe it or not, I really enjoy programming game engine features). In the 15+ years I've been at this I have tons of re-usable code and can fairly easily setup a 2D game in record time, which doesn't really hinder my development time. This is the beauty of game development, there are so many ways you can create games. The most important thing of all is to complete a functional game, how you get there doesn't matter. I'm just very hardcore, and enjoy re-inventing the wheel to make it my own at times. There is no doubt a new game developer is going to create their project much faster using something like GameMaker as opposed to programming an engine from the ground up. We all enjoy different aspects of game development, some people enjoy the creative process of making an engine with their game, others are more into just getting their game on screen as fast as possible. I understand where you're coming from and agree that just because you know (x) language or how to do everything from scratch, doesn't mean you have to. There is more than one way to paint a picture.
  5. Kivy Window Resizing Messes up Screen Formatting

    This might be a good reference: https://kivy.org/docs/_modules/kivy/core/window.html If you FIND keyword "size" you get the following: I didn't look through everything but maybe: def _set_system_size(self, size): self._size = size def _get_system_size(self): if self.softinput_mode == 'resize': return self._size[0], self._size[1] - self.keyboard_height return self._size system_size = AliasProperty( _get_system_size, _set_system_size, bind=('_size', )) '''Real size of the window ignoring rotation. .. versionadded:: 1.0.9 :attr:`system_size` is an :class:`~kivy.properties.AliasProperty`. ''' def _get_effective_size(self): '''On density=1 and non-ios displays, return system_size, else return scaled / rotated size. Used by MouseMotionEvent.update_graphics() and WindowBase.on_motion(). ''' w, h = self.system_size if platform == 'ios' or self._density != 1: w, h = self.size return w, h I'm guessing your answer will be found in the above link.
  6. Kivy Window Resizing Messes up Screen Formatting

    No problem! Like I said I don't know python or Kivy, but are you able to call something like: currentSize = Window.size ?? Is your screen width and height dynamic to a device? If you're dealing with just static sizes, you can always keep two variables that store the initial width and height values, and when you do a resolution change, just update it and use those variables to do ratio calculations.
  7. Advice Getting started

    I'll start with just Windows and C++ first. Are you familiar with all of the following in C++: Compiling, building Basic program structure (main(), header includes ...) Basic data types Composite data types Control structures (if, for, while ...) Basic functions, function signatures Function parameter passing Classes and general OOP STL - Standard Template Library Dynamic memory allocation, pointers Type casting Advanced OOP, inheritance, polymorphism Advanced program structure, header files, linking Debugging techniques This is important to be able to help yourself when the situation arises. Templates Operator overloading Namespaces Move semantics and other C++11 features Metaprogramming When it comes to consoles it depends, which console? Are you looking at developing for mainstream consoles, or something like Dreamcast? If you're talking about making games for Xbox One, and PS4 as an example, you can do this with the Unreal 4 Engine, however you have to consider that you require developer licenses which are granted by Microsoft / Sony. This is not a straight forward process, and requires jumping through hoops. This is why setting the bar too high off the bat is a recipe for failure. Your best bet is to either stick to PC, Mobile, or homebrewing for something like Dreamcast and be the best you can before splitting platforms. The best thing you can do for yourself is read a good book on C++ such as C++ Primer (NOT C++ Primer PLUS - they're different books, and plus is garbage). Once you've made a lot of test programs and fully understand the above list, you can move into picking up an engine like Unreal 4, or developing your own game engine using something like SDL. SFML, or Allegro. (I'm not recommending Unity because it's C# based). If you decide to stay with JAVA, you have options as well, but I'm not sure on what to recommend because I learned JAVA fairly quickly after using C++ for so long, in which I only needed a reference manual. I'm sure there are JAVA game programmers here that can recommend a good book. You can look at Libgdx for Java once you're competent in general programming - https://libgdx.badlogicgames.com/ which is built upon LWJGL https://www.lwjgl.org/
  8. Advice Getting started

    Your question is very broad. You have PC and Console tagged with the title but no indication of what platform you want to start developing on, and if you know any programming languages to date. I'm assuming you've done some scripting when modding games? We can direct you better if you're able to let us know what platform you would like to program your game on, and the type of game you're making. Depending on your experience, you will need to spend a considerable amount of time learning general programming before you can even hit game programming. If you're also looking at developing for PC and game consoles, you're going to have to learn how to work with the appropriate engines, and APIs. This will have a pretty high learning curve overall. You can also look into tools like GameMaker Studio 2 - https://www.yoyogames.com/gamemaker They offer drag and drop, plus GML which is their scripting language. This can give you a good start before expanding into a more mainstream language.
  9. Beginning with game development

    You'll find once you've become pretty experienced in C++, it's very easy to pick up languages. I had a project I needed to do for a client, and they needed it done in another language I didn't know at the time. Only took a few days to finish the project once I reviewed the rules, syntax style, and how the libraries I needed to use worked. The principles and concepts behind programming is completely transferable. I already use 7+ languages thanks to C++. Enjoy the experience, it's extremely rewarding to see your creations come to life.
  10. Beginning with game development

    I usually post this for new C++ programmers before they start making games. Compiling, building Basic program structure (main(), header includes ...) Basic data types Composite data types Control structures (if, for, while ...) Basic functions, function signatures Function parameter passing Classes and general OOP STL - Standard Template Library Dynamic memory allocation, pointers Type casting Advanced OOP, inheritance, polymorphism Advanced program structure, header files, linking Debugging techniques This is important to be able to help yourself when the situation arises. Templates Operator overloading Namespaces Move semantics and other C++11 features Metaprogramming Once you know how to do all of the above, then I would advise actual game programming. You can still learn all the above in "game like contexts". I learned to program in C++ by making text games. You will want to stick with just one language for now. Pick up a good book, and get learning. Keep in mind, if you jump into game programming right away it will be frustration after frustration. Game programming in itself can be a very daunting task, and also takes a lot of time to master the craft. You'll do yourself a big favor by learning general programming first, then game programming.
  11. Advice Basic RPG Class Structuring and Design

    I cannot give you the basic run down of how Unity's engine works because I work in a game engine that I've programmed myself. What defines components of any game engine can differ, but the core is usually the same. The engine handles events, input, logic, audio, networking (sometimes), and drawing. There can be a ton more like physics, advanced AI, collision detection, animations, gui features, file input and output, ect... You will want to start simple, and get to the point where you understand the proper structure of a game loop in Unity. See the following and understand what is happening and why: https://docs.unity3d.com/Manual/ExecutionOrder.html You're going to handle the item loading usually in your setup phase which takes the data from the file and loads it into your item manager class. From there, you will just call upon that class when you need to reference an item by index. I would never recommend an RPG for a first game, however when you're dealing with importing items from a sheet you can store the information through arrays, and lists, ect... I would just make different sheets for different types of items (Armor, Weapon, Misc), then in your setup phase, import each sheet into their appropriate class. I cannot really answer the rest because I haven't ran into issues. I've made item lists that important into Tool Kits, and RPG engines that I've developed just fine. As long as you have a way to import the items, and get the data you're good to go. Usually I have an item class that has a private container that holds the type 'item' based on my structure, and I have public functions that will get attributes from the container either by keyword, or id number reference. Your item class will hold everything about your item: Type, Cost, Damage, or whatever else. You can also make a new item structure that is just for potion usage as well, which wouldn't benefit from having "Damage" as an attribute. Your Item Manager class will hold the container which has the type 'item', and in your Item Manager Class you can program functions that pull details such as 'costAmount("key")' which will then return the value. This function would pass the key to your container, then you can pull data through the item functions. ie: itemList["hat"].costAmount() Assuming you're in a shop buying items, and you've clicked a sword. The following could happen: if (player1.getGold() < itemManager.weapon.costAmount("sword")) { // display not enough gold } else { // buy item } If you bought the item, you would just add it to the player inventory. If you're using different classes to separate Armor, Weapons, and Potions you can store 2 IDs per slot, one that references 1 = armor, 2 = weapon, 3 = potion, and the other id asks as the key. There are many many ways to do all of this. player1.inventory.addItem(2, "sword"); Then if you need to equip a weapon item, you'll know to check if your inventory item object which is stored in a container as well meets the following requirement: if (player1.inventory.atSlot(1).classType() == 2 && player1.equipSlot.weapon.isEmpty()) { player1.equipSlot.weapon.equipItem("sword"); } I still do not recommend programming an RPG as your first project, but you're free to do so. I hope this helps.
  12. New questions?

    I haven't used GameMaker since before YoYo Games got involved, and did use it from version 2 to 5 off and on when Mark Overmars was the main man. I've never considered it an engine as I would consider something like Irrlicht, or Orge3D, nor has anyone else I've ever known. I've looked at it like a good starting tool that allows people to create 2D games within a limited environment that has added scripting for those wanting to get into GML as an entry level language (You may define it as an engine simply because it has GML, which is fine). My comment still stands, it's not at the same level as Unity, and I never said GameMaker was some useless toy. In fact, you can view my post history, I recommend it to a lot of new game developers as it has a lot of potential for people starting out. I've also seen some very good games created using the application. I understand where you're coming from about GameMaker. It wasn't a tool for me back then, and simply isn't a tool for me today considering I went all out into developing programming skills because I wanted more control and custom options, not to mention I really wanted to 'program'. I honestly cannot think of one friend back in 2000 that is currently using any GameMaker tool to date. Most of us are either using our own in house engines, or 3rd party commercial engines. " Hi i am a c++ programmer, Want to make games for mobile with c++ and compile it to android and ios. " Considering the original poster was referencing C++, for me to even suggest GameMaker would not be relevant as an option, and if you know C++ and intend on making games with it, why use GameMaker Studio? It would be better to start off with SDL, Allegro, or SFML if Unreal, or another engine if it's not an option. GameMaker Studio 2 is great for what it provides, and who it caters to, and is simply an entry level solution for non advanced programmers, or those who never intend on learning to program. Also, my "opinion" of what an engine is may also be wrong in this case under the 'true' definition of a game engine. GameMaker Studio 2 can very well be 'defined' as a game engine. I just don't look at it that way because I come from a different perspective and have always viewed GameMaker as a tool to create games. I just don't put it in the same category as Unity however.
  13. Kivy Window Resizing Messes up Screen Formatting

    I don't use Python but I will give you an answer that is pretty much universal. In C++ I do this in a number of ways, and it can depend on if I have objects within their own view, which keeps buttons spaced the same, or if I create new button views with different to account for different resolutions. Just a basic example: Assuming your screen is 800x600 and you have two buttons, each are 210x59 and positioned at (165, 270), and (425, 270) *Top left x,y. The first buttons top left point is at the 20.625% mark of the screen (left to right), and the second button is at the 53.125% mark of the screen for the x axis. The y will be at 45%. You get this calculation by taking the x or y and dividing into the width or height of the res. ie. BUTTON 1 -> 165/800 = 0.20625, 270/600 = 0.45 BUTTON 2 -> 425/800 = 0.53125, 270/600 = 0.45 Now that you know the position % marks, you can resize with ratios. If your screen res changes to 1024x600 you would just re-set the position of the buttons like so: BUTTON1.x = 1024*0.20625 equals->211.20 BUTTON1.y = 600*0.45 equals -> 270 You'll see they have the same % -> 211.20/1024 = 0.20625 * 100 = 20.625% This however will only re-position objects to contain the same x,y ratio when working in a different resolution, this will indeed add spacing between the objects unless you resize the width and height as well. This means you either have to be working with a high res image that you can scale down within the ratios evenly, or design different graphics for those off ratios. The same principle can be applied like the above to generate width and height ratios. Let us take the width and height of the button which is 210x59. To get the ratio we do the same as we did for x, y. 210/800 = 0.2625 -> 26.25% 59/600 = 0.0983333333333333 -> 9.833333333333333% Now since we didn't up the height on res change the graphic height would be the same. You would now have to change the graphic width and height as follows to maintain the same ratio. BUTTON1.width = 1024*0.2625 equals ->268.8 BUTTON1.height = 600*0.0983333333333333 equals -> rounds to 59 So on display 1 with 800x600 we have buttons as follows: Button1 = 210x59 and positioned at (165, 270) Button2 = 210x59 and positioned at (425, 270) On display 2 with 1024*600 we have the buttons as follows: So on display 1 with 800x600 we have buttons as follows: Button1 = 268.8x59 and positioned at (211.2, 270) Button2 = 268.8x59 and positioned at (544, 270) The below screen shots will show they have the same ratios - ignore the gray borders I used a screen snip it tool - screen size is the green. There are different methods such as using a view to draw your highest res graphics to, then scaling that view down which in turn scales all the graphics inside with the res change. You just need to account for the new width and height of your objects, especially for things like bounding box collision. You can also just make a variable which holds the ratio, and sets all your objects size based on that ratio to account for any changes. You'll only run into problems with this if you're not using even ratios when scaling because image width and height will not scale evenly. I hope this helps, if you have more questions let me know.
  14. New questions?

    I'm a bit confused by the statement "Don't learn C++ to make games. Learn programming if you enjoy programming. Use game-making software if you enjoy making games." I enjoy making games but refuse to use "game-making software". Even back in the early 2000's I hated it and went full scale into C++ for game development, 15+ years later I'm still using C++, JAVA, C#, and more to make games because I enjoy programming, and making games. C++ is indeed difficult to start, to be honest I started on BASIC, and jumped from that to C++ because I hated the limitation of "Game Makers" back in the day. It's also not just C++, but once you learn any language within reason moving to the next is a lot simpler. C++ made my learning experience easy because I had to program many functions and classes from the ground up, handle memory, and deal with the many features C++ comes with. In the modern day, C++ isn't "necessary" anymore because we're not dealing with such a limitation in memory and CPU processing anymore. C++ was a big thing when you had to develop on some platform which required squeezing every possible usage of your program within a tight memory restriction, and that was a long time ago. This is why you should pick the language you want to learn and just make games, not because everyone thinks you need C++ because you "must" have manual memory management. Unity is a cross-platform game engine which requires C# programming, and GameMaker Studio 2 is a 2D development environment that provides drag and drop functions, as well as access to their scripting language GML. Unity is not a game maker in the sense of how GameMaker Studio 2 is a game maker, it's an engine. To the OP, the other replies already provide good recommendations, so I cannot add anything more.
  15. I've always wanted to move into a Linux build but wasn't sure how to go about doing this. I have a custom computer I built, and several internal hard drives I could use for other OSs. I would love to play some of those games I have for Windows 95/98! All of my development tools are Windows based however, which is the reason I haven't really pushed for a transition. Something to consider for sure! @Servant of the Lord Yes, I've found Windows 10 has so many quirky ways to get older games running. Thanks for sharing your experiences. I haven't had to force single core yet.
  • Advertisement