• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.


  • Content count

  • Joined

  • Last visited

Community Reputation

257 Neutral

About owiley

  • Rank
    Advanced Member

Personal Information

  • Location
  1.   I have access to an older version of MSVS (I think it is the 2010 version) through my school if I connect to their servers through a virtual desktop via the internet, but on the off chance that something happens to them and because my internet connection at home tends to be shoddy at best I'd rather not rely on that for working on personal projects.  I already do as much as I can outside of the virtual desktop when it comes to homework (I write the code out in notepad then email it to myself to run through the IDE or compiler that we are using) so I don't have to worry about losing anything.   I have downloaded Unity and from the tutorials it looks like I can do some coding there so I'll be giving that a shot too while I still look for something more up to date.     I mean your own personal copy can be obtained if your school is involved with  dreamspark. You login and look for your school and if they are in the program then you can download the software. but best to luck
  2. Also if you attend school check to see if you able to use the educational version and look at the clauses for commerical redistrution of sotfware made with it. Xbox has been trying to promote third party software but some don't like them just because its microsoft. I don't mind them never had any issues except Windows Vista which they would say is terrible. Also using older software is always going to miss feature and since microsoft wants more robustness vs features they are slow to support features. Even if many dont see there compiler as robust. But if you look at all the tools then you can respect them more.     Also many people have problems setting up the package but I have ran into little problems.
  3. I think everyone isn't pointing out that mingw is a compiler suit that is used by majority of ide's. Its a tool kit package for software development. Now Visual Studio is a very nice ide. It does come with a compiler and the rest of the tool kit package as well. So since that is the case I would go with visual studio when designing on windows. However you could just use dev-C++. The Dev-c++ isn't a compiler its a ide the compiler it use is an older mingw suite so you could tweak it to use the newer mingw. I recommend you study the enivironment a little before moving on.
  4. Learning anything programming related is almost never a waste. There are large amounts of overlap (since in the end it all gets run at the same computer) between languages, and other pieces of code like engines and libraries. You likely will not learn just one language, but instead learn a few, again expanding your set of tools, so you can pick the best tool for the job, instead of treating everything like a nail, since you only know about hammers.     Not sure I follow this. How is "draw this letter to the screen" exactly different from "draw this image to the screen"? In particular, since a letter is also a collection of black and white dots.   You generally make the pretty picture in some graphic editor program, but otherwise, "plot graphics" in C# (or any other language for that matter) is as simple as a 'plot image at (x,y) to the screen' statement. The actual rendering is then often done by a library, but that's still software you can theoretically write in C# too (but not done so for performance reasons).   However, the latter is not relevant. Don't aim to make C# your only hammer. Taste the world of programming. Have some C#, do some Unity, have a bite of Python and a flirt with Java. Try everything, have fun doing it, and keep the good parts and ditch the bad parts.     Welcome to the Internet where 10 people have 11 meanings opinions about 8 different things, although they all think they talk about the same thing as you are :P   The best way to find out how things really are is to try them yourself, so you can form your own (informed) opinion about it.     True C# is a language and you can think of it like this, If you speak some language and was greeted by someone of  a different language could you convey an express to yet the other know that you are lost and need help? The answer in most cases is yes. With this stated most languages support rendering code in some fashion. At least for c#, it's totally backed by windows which means big Microsoft is investing millions in tools and other support platforms for the language. The .NET platform is the answer for the windowing system and DirectX is also supported so there is no reason for c# not being able to render. Now the performance issue with c# is becoming less of a problem. AAA developers use c++ because right now that is the platform that gives the best tools and support but sooner or later that would change.
  5. So...   int i = 0, j = 0;     loop:         if(i - 1 == j + 1)             goto outer;     ++j;     if(j < 10)         goto loop;     ++i;     if(i < 10)         goto loop; outer: Seems pretty clean to me!   you have to set j back to zero tho else it does the job. Also this is how assembly would work
  6.   Gian is right. Also the framework is just and extension of tools that are pre-made same with engine. The idea behind any framework is this tool was created with this style of game in mind but that does not limit you on extending the tool for other styles. Its like looking at your clothes and saying that I only have things for Monday. You might have brought the clothes for an event on a Monday but that does not limit you to wearing them just on Monday. When talking about tools you can use what you have or come up with other tools. Its basically that simple.
  7. First construct the design of the program. Then follow the design by implementing them. Find flaws in designs then you go back to the drawing board to redesign. Try again to implement the new design. Repeat the process until you get the product you want. 
  8. Im looking at more than theory im thinking about how the system would actually work. Im looking at the process. Sure language are complex looking at english and its interesting history. I think and this is really just my take on making it simple in order to run the code something somewhere must get the instruction and then that instruction executes. But you are telling me that each language will be so vastly different that they create new instruction that was actually present for some hardware. So your computers are living and that they have a mind of there own and if we ask it to do something it might do something different each time like while I'm typing it should play random songs and then go to its favorite web site.   So to conclude yes you can translate but will it be nice no it will work like any other language hence why we call it a language I assume.
  9. Yes, they all translate to some combination of machine instructions.   The common denominator if machine language. That is however not what I see as transfer of implementation between languages. Prolog or Python does not accept machine instructions as valid input.   If you interpret your "once you properly learn the language you would know others as well" as "they all translate to some machine instructions", therefore you know all of them if you know all, I think we're done. I see both "language" and "others" here as languages that we program in. That's where I transfer my programs. The fact that other translations to some machine interpretation exist is not relevant.   Just in case you believe that you can go from language A to machine instructions, and back up to language B, that path is not possible. Machine instructions have so much freedom that the intention of the input is fully lost for automatic translation. Humans can do this, and that's called reverse engineering.     Oh really? You found the unary minus operator, or found 2-complement numbers?     My atomic synchronous distributed communication is very basic in my language, I'll await your translation to distributed C.     OOP versus procedural is trivial, I can do that by hand already. I don't consider that convincing proof for "If you properly learn any language you could easily transfer your ideas since all languages have a common foundation."   Please explain how to convert Lua co-routine programs to assembly language, or a Java program to Prolog.   At the University, I graduated in compiler construction, re-implementing a compiler. Id did a PhD on a compiler and run-time system of a translation from a modeling language to a real-time implementation. I have been building about about 10 compilers, and simulators, and a few dozen language transformations the last 20 years. During that time, I have co-operated with researchers, and brought in my CS language design knowledge into their research projects. In several occasions that led to journal papers.   For the last 25 years, I have been living and breathing compilers, languages, grammars (including more advanced grammars than your CFGs), parsers, type checkers, runtime-systems, syntax and language semantics at academic level. I think that qualifies at "studying language" for 25 years.     So far, you seem to believe in nice theories and big words about CFGs, and then come with bold claims that "once you properly learn the language you would know others as well".   I can see your theory working at an abstract form. However, the gap between theory and practice is a lot larger in practice, than the theory suggests. As soon as you drop from the nice abstract high level down into the mud with a Java or C program, your theory will fail. Simple things like an assignment already have different semantics in different languages. Since a CFG is only about syntax and not about semantics, your idea breaks there already. You can fix that in the grammar rules, up to some level, as beyond that, your grammar rules explodes in complexity. You can fold it into an AST, and build a full-blown compiler. In general, you can do a translation, but only for the common subset between the source and the target language. Concepts in the source language that do not exist in the target language are simply not translateable, other than by building an interpreter for the source language into the target language (see theory about T-diagrams). At that point however, you are no longer translating, you have made a software virtual machine that runs the original software. To me that does not count as a translation.   I don't have to do that since we python compiler and python virtual machine -> this will produce your answer. compile and find the manual which tells you how each bit/byte will be treated by interpreter     Just cause you have phd don't mean you have the answer to all. This is a new and growing field not something old and well proven. The things I am saying is old and is proven. Its what we are building off of not trying to invent. We are not trying to redesign language to follow zero rules and work like magic. That's a plot out of sci-fi not seen as possible or even probable. The point is we can get to point A to point B with a language we do not want to go from B to A. That would be like giving you one number and telling you to produce the same function that produce that result with out know the input and how the function works. I'm saying you could Have A that produce C and you know that B can also produce some thing C like. Why is this possible.
  10. yes the structure will change and there are different syntax and for rossettacode, I would say you could if you understand the problem set better. If you can see the problem at multiple angles then yes you could achieve what you want granted if its possible for the language to be used to solve the problem. I talked about how rules are different from language to language but the answer to the problem is always in the scope of the problem. I say this because programming isn't some magical element it takes skill and understanding. What is nice about language is that we have all been doing it with out realizing it. Language evolve because of this. While mandarin is hard to learn from English speaking point of view but it is possible and the tonal atonal things are something that different in the Languages but there are much more which I know you know.   My underlying point is that when we code on the pc every single language must be converted into machine code either directly or indirectly. That is the nature of computers no matter which language we have that underlying concept will be true till the system changes. I don't think that will ever happen but I must never say never to such things. The thing is every language will have base to work from. Most of our thoughts very complex. It takes us awhile to simplify our thoughts but the he thoughts and meaning behind the thought should stay intact else the universal language would never exist. We have a universal language with math but that don't mean we all use the same symbols it mean the foundation is the same. The same can be said about programming since it is much math based. The idea is if you solve some problem with Language X and Language Y well this should be possible if X and Y hold some fundmental base that will can be used to judge all other features. This is true since all programming language run on a system can be extend into both X and Y.   If you take X and look at it core features and then look at Y core feature you will eventual notice overlapping. Remember when you said that one language don't have assignment well that isn't actually true. For that to be true would mean that the language don't run on any system comprised of processors and ram. The cpu have memory/ cache the ideal of assignment is to not explicitly store values but they will have to be stored regardless of which system you are on. why hide away assignment feature? Well it so happens that it gets abused and forms problems to our very logic and hard to debug for some cases but if there is a rule to when how it should be used we take the problem and contain it we are not correcting it. There is a small difference between corrections and containing.
  11. So how do you think these languages work? Each language translate to what the computer understand. I'm not saying noise is language instead when you imply rules to noise you could create language because the rules would transform into some meaning. Every language is translatable that doesn't mean its a one to one translation. One concept that will blow your mind is the ideal that subtraction can be done with just add operation. The ideas are basic things you want to convey. You can should be easily able to translate. Also you mentioned Functional vs OOP here you going on a tangent OOP is not a language but the rule on how to use a given language same with Functional. For instance Procedure vs OOP, C is procedural and C++ is OOP but if one looks closely one can see that you can still implement the same program in any of the two languages. However, C++ might make it easier for some problems. Functional languages are built around solving a problem on the ideal of functional tuning. This isn't to say that procedural programmer can not learn the language and not be able to solve the problem procedurally. They could also learn an opposite program tackle it from another prospective. Prospective is what you having problems with and that is common because some people can see the smaller points and not the larger picture. If you study language you will soon see the whole picture of both small sub parts and large parts. As human continue to invent one must say how was it done in the past. We see that we hardly ever invent thing that bring new concepts not tried. We have cell phones but we can trace back to telephone then telegram and so on.   I'm going to say that a library is not the language you miss understanding what is language and what is created by the language. The language is the things that is allowed to be correct. the statements, the creation of variables, and other features.   CFG is how the language is parsed while this is what the compiler does but what else does the compiler do? It translates. CFG stands for context free grammar not all language are context free. But the cfg will make up the language. Lets look at English what constructs a simple sentence? Subject verb object. But you should ask what makes these parts different and there lies things called grammam rules. ?
  12. No, like I said once you properly learn the language you would know others as well. For example if you properly learn English you can translate to german or French. The meaning behind you words never change but the sentence structure and rules changes and yes this is true with programming languages as well. The point is you are coding for some meaning 'idea/logic' but the way you tell the computer that meaning differs in structure from language to language but the meaning never change if it does then you are not understanding exactly my point. I would argue that you need to brush up but to each there own. I am not super picky on language so I cannot judge. I am studying computer science and have just went over grammar / parsing. CFG is what used to create the rules for the language actually it is the rule for a language. This come to any language and every computer language at the end of the day translate to set of rules taken from the instruction set. After that it is simply do this instruction then this one .
  13. If you properly learn any language you could easily transfer your ideas since all languages have a common foundation.
  14. lol
  15. most games have tool with many being integrated in the actual game its easier to test things that way. You are right the game might load some data at some point and modify that information and use it to calculate the state of things but the diagram is just an example that is from one pipeline of game development.   Since you know that games are applications their should be some state to the game mechanic which would lead you to some path.