• 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.
Sign in to follow this  
Followers 0
archanian

Unity
SDL.NET

10 posts in this topic

So I'm wondering if anyone out there is using SDL.NET for their game projects? Hobby or serious?

There doesn't seem to be any kind of community around it, the official website/forums are pretty much a ghost town, and it's hard to find any substantial literature or discussion revolving around this library.

I understand the portability issues around using .NET, and I am also aware that SDL/C++ is a much safer bet in terms of learning industry standards ... but surely there is plenty to like about SDL.NET for those attempting to learn game development?

My own experiences with it have been great! (granted, I am a C# developer professionally). Productivity is awesome, super easy to prototype and test features, it seems to me to be the perfect way to learn game dev for beginners / those familiar with C#. I just find it hard to get detailed info about advanced issues ... I guess I could download the source code?

Is there any reason why there's not much momentum behind this? Or maybe there is and I just haven't met the people working with it? Any thoughts are appreciated.
0

Share this post


Link to post
Share on other sites
I think it might be because many C# users probably just go down the XNA route, plenty of tutorials already there.

No reason why you can't use SDL.net if you want to though
0

Share this post


Link to post
Share on other sites
For Windows development, XNA is probably a much more viable alternative (very active community, well supported, etc.). For Linux development, I'm not sure, but I'll share my own experience:

Several years ago I was considering developing for Linux using C#, but it seemed like there was a strange resistance in the community to use of Mono, mostly centered around patent scares and anti-Microsoft propaganda. Perhaps it was just the communities I visited, and I'm not saying it was indicative of Linux users in general, but the experience left a somewhat sour taste in my mouth and I abandoned my ideas for the time being.

I also found the lack of activity around SDL.NET, OpenTK, GTK#, etc. disheartening. Of course, things may have changed, as I said this was years ago. Edited by laztrezort
0

Share this post


Link to post
Share on other sites
Well a linux option thats taking off with C# is monogame which literally seems to be a near identical clone of XNA using openGL as a backend instead of directx.
0

Share this post


Link to post
Share on other sites
[quote name='6677' timestamp='1343662608' post='4964518']
Well a linux option thats taking off with C# is monogame which literally seems to be a near identical clone of XNA using openGL as a backend instead of directx.
[/quote]

Good point, I had seen that recently, haven't used it but it does look promising. At the time I was looking into Linux development, either that project wasn't around or I wasn't aware of its existance.

Either way, perhaps the stigma of C#/Mono has worn off lately (which would be a good thing for Linux developers, IMO).
0

Share this post


Link to post
Share on other sites
Hmmm all good points. Thanks for your feedback. I guess when C# devs think game development they think XNA, and so that's what they go and do. For me personally, something like SDL.NET is far more exciting because nothing is done for you, you've basically got a blank canvas. It's just like writing a game in C++ but with all of the productivity and simplicity of C# and .NET.

Monogame looks interesting ... although I'm still not convinced using a framework like XNA is for me. Maybe it's just they way I like to do things, but personally I like to learn something from the ground up, understanding the inner workings of a system before moving on to the higher level concepts. Thats why I choose to write all my own code for my game projects, and I believe I'll be a better game developer as a result.

XNA seems fine if you're an experienced developer or team trying to make actual published games, but personally I think it is more beneficial at the early stages to understand how to implement your own systems (not by focussing on the systems themselves, but by making simple games from [b]scratch[/b] yourself), and surely this results in a more complete understanding of how game engines work.

I know, I know ... "make games not engines" ... but seriously, that advice is always taken out of context IMO, and often thrown around as an off-the-cuff answer to any new game developer asking how to do [insert_game_engine_feature_here]. Edited by archanian
0

Share this post


Link to post
Share on other sites
[quote name='archanian' timestamp='1343711462' post='4964716']
something like SDL.NET is far more exciting because nothing is done for you
[/quote]

It's been a long while since I've used SDL (and never the .net wrapper), but I don't remember it being particular "close to the metal" anyway. If you really want to dig into the inner workings of these systems, you will have to interface OpenGL or DirectX.

There are also some thin wrappers around DirectX and OpenGL you could use, some I've heard of (but never used) are SlimDX, SharpDX and OpenTK. I believe there is a book on using C# with OpenGL, but I do not know the name of it offhand.

Also, XNA is just a framework around DirectX, you don't have to use (for example) the provided Game class, or SpriteBatch, or BasicEffect. In fact, I'd wager many developers end up rolling their own versions of these classes specific to their needs anyway.
1

Share this post


Link to post
Share on other sites
Interesting ... is it true that SDL is using OpenGL under the hood by default? I know you can use it to get at OpenGL context ... but if you're just doing 2D surface blitting I'm not so sure OpenGL is involved ... I could be wrong.

Which brings me to another question:
Up until now my projects have all been 2D tile-based, using simple surface blitting - do you recommend that I change this and start using an OpenGL context for 2D rendering, just to become familiar with OpenGL? Also would this provide much better performance?
I'm experiencing some fairly serious slowdown caused (from what I can gather) by using transparent PNGs with per-pixel alpha for tile transitions and fades etc ... this wouldn't be an issue with OpenGL? And is it fairly simple to do equivalent tile-based rendering with OpenGL?
0

Share this post


Link to post
Share on other sites
I think what your looking to do would be fully possible under openGL, openGL you can take advantage of hardware acceleration (dunno if SDL does aswell though).
0

Share this post


Link to post
Share on other sites
SDL 1.3 will use hardware acceleration. SDL 1.2 (on whihch SDL.net I believe is based on) hasn't been using hardware renderer for quite some time. You can obtain an OpenGL context, but that basically allows you to use OpenGL for rendereing instead of SDL_BitSurface & friends.

Whether or not it is a good idea to move to OpenGL - I don't know. I *really* wanted to learn either OpenGL or DirectX, but I simply failed. For DirectX, the C++ API (and C++ itself) simly let me shoot myself in the foot way too often, and the complexity for even the simplest stuff is just amazing. It seems you have to write exponentially more code with every new version. I guess it's OK with people that have the time to learn it properly or you already know it and have an existing codebase. For the simplest drawings, you will have to write shaders (I don't know why they are called like that - they seem like scripts that get interpreted on the GPU) which you feed with data that you upload to the GPU memory. I'm quite the amateur, so this might not be entirely correct, but to blit an image and move it with the keyboard arrow keys you have to write a ton of code. OpenGL seems to have gone in the same direction.

Mentioning OpenGL, my problem with it is the total lack of sufficiently good books / online material. When you have a problem, you get the RTFM (e.g. reference pages on the OpenGL web site or a link to an age-old red book that is for 1.1 or something). From Amazon reviews, it seems that the latest reference book is full of deprectated stuff and doesn't focus on the new shader-based approach as much as it should. There is a beginner's book wirtten by some guys from GameDev, but a quick look at the contents reveals that it deals with graphics theory. I have mixed feeling about this, but at least it is short, and it is example-driven (I don't know how you'd read that on a Kindle since you don't get the examples CD, so I'd recommend you get the paper one).

I can understand why there is all this complexity with shaders and parallelism, but this is for proffessionals. For amateurs, SDL and XNA are basically what you need. If the performance is not good enough, I guess moving the XNA or Unity would be a better option. OpenGL's API is a bit cleaner in terms of ALL_CAPS_NONSENSE and line length, but it can fail silently unless you call glGetError real often, plus the state machine can be quite annoying at times.

In case you do want to move to OpenGL, don't consider online tutorials, specially NeHe. They use the immediate mode (understand: easy for the programmer, slow for the GPU as it doesn't execute whole chunks of code, but single instructions) or arcane libraries that haven't been around for decades. Just look for a book, or wait for LazyFoo to update his tutorials. I really liked his SDL tutorials, and I do hope his OpenGL ones will be as good.
0

Share this post


Link to post
Share on other sites
[quote name='dilyan_rusev' timestamp='1343908619' post='4965491']
shaders (I don't know why they are called like that
[/quote]
because some shaders can be used for things like bloom, sepia, motion blur etc etc
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Similar Content

    • By Tset_Tsyung
      Hey all,

      As the heading says I'm trying to get my head around Goal Objective Action Planning AI.  However I'm having some issues reverse engineering Brent Owens code line-by-line (mainly around the recursive graph building of the GOAPPlanner).  I'm assuming that reverse engineering this is the best way to get a comprehensive understanding... thoughts?

      Does anyone know if an indepth explanation on this article (found here: https://gamedevelopment.tutsplus.com/tutorials/goal-oriented-action-planning-for-a-smarter-ai--cms-20793), or another article on this subject?

      I'd gladly post my specific questions here (on this post, even), but not too sure how much I'm allowed to reference other sites...

      Any pointers, help or comments would be greatly appreciated.

      Sincerely,

      Mike
    • By E-gore
      Hi all,
      This is our (xDBAGames) first game
      Called Iron Dome Legacy.
      It is a Missile Command clone. In this game you control the Israeli "Iron Dome" anti missile defence system.
      Features: 
      The player has limited amount of missiles. The Iron dome system is upgradable. The money is determined by the outcome of a level. The game is free. There are only rewarded ads. We tried to create a game that has some context to the daily life, but we are sure not trying to be political here.
      I hope you could try this game, and we will appreciate any comments.
      xDBAGames is a company of two programmers. That have no experience in the video game industry, but have a lot of passion for games.

    • By UNNYHOG
      Hello, Colleagues!
       
      We have been working on our newest Fantasy style Gesture based MOBA game for a long time and it's releasing on Steam on July 26. Meanwhile you can already try it out by downloading our launcher from the website.
       
      Any feedback is welcome here. Thank you.
       
      If you don't want to play, I would love to share with you our teaser : 
       
       
       
    • By Scouting Ninja
      So I am working on a mobile game.
      It uses slides for a story, the slides are very large. Each slide is almost 2048*2048; the max texture loading size I am using for the game.
       
      My problem is that Unity keeps each slide in the memory after it's loaded, even when it will show only once per game. This leads to the game crashing on older mobiles.
      My idea was to destroy each object after it was shown using a coroutine, so it deletes the past slide and loads the next slide. This worked because instead of crashing on 23 slides it crashed on 48 slides.
      After some profiling I realized that destroy() isn't clearing all the memory that a slide used.
       
      What I want to do now is assign a limited amount of memory as a slide slot. Then I need some way to unload the slide from the slot, freeing the slot for the next slide; without Unity storing the slides in the memory.
      Any ideas on how I would do this? 
    • By LoverSoul
      Hello everyone.
      I had a problem with transferring my character from the creation editor to the game engine. I created the character in Adobe Fuse, then imported it to Mixamo to put rig and animation.
      However, the appearance of my character has deteriorated significantly, and after importing into Unity, the character even began to look like a meme from the Assassin's Creed. Can you please tell me how I can fix all this so that my character's hair does not look like bits of bacon sticking to her head, and her eyes and mouth have taken their stable position in the skull?
      Thank you for attention.



  • Popular Now