Jump to content

  • Log In with Google      Sign In   
  • Create Account

FREE SOFTWARE GIVEAWAY

We have 4 x Pro Licences (valued at $59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.


Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!


ssrun

Member Since 05 Dec 2006
Offline Last Active Jul 24 2013 09:11 AM

#5007309 mixed feelings at Uni

Posted by ssrun on 04 December 2012 - 11:38 PM

Let me put it this way as a game programmer who recently returned to University to get my degree. You DO NEED the degree to do anything remotely useful in game development.


Topics that you will need to know that only Univeristy can teach you are:
- Physics
- Animation
- 3D graphics (not how to use OpenGL or DX but the actual algorithms used)
- Multivariable calculus and differential equations (required for graphics and animation)
- Linear Algebra (required for graphics and animation)
- Data Structures (required in all programming)

I know the saying that you can learn anything on your own but in reality, it's not true unless you're Isaac Newton. The programming language the school uses to teach you is irrelevant as your concern should be the algorithms and how to implement them. So stay in school, study hard and apply what you learned a little at a time.


#4930827 Efficient Line of Sight Algorithm

Posted by ssrun on 12 April 2012 - 09:23 PM

Personally, I've found that the fastest line of sight algorithm is Bresenham's line plotting algorithm since it's completely based on integers.


#4911168 Flash networked web game

Posted by ssrun on 08 February 2012 - 09:14 PM

I'll take a different approach to this and say you should go with a regular IDE like FlashDevelop instead of Flash CS.


FlashDevelop is a part of the Creative Suite. I don't really know anyone who codes in the Flash IDE. :)


#4910407 Flash networked web game

Posted by ssrun on 06 February 2012 - 10:54 PM

I do Flash game programming professionally and I'm not really aware that Farmville uses CSS for its in game menus (but I'm not sure). However I think Actionscript and Flash are actually great tools for rapidly prototyping a game and is currently the de facto standard for games on the web. Whether that remains in the near future is a bit uncertain with the push towards HTML 5 however I still believe it is a valuable tool to use for fast prototyping and maybe even for a portfolio.

You should make use of the Creative Suite demo before deciding whether to purchase as the investment is fairly heavy. I know you can do open source Actionscript development but I think you'd be limiting your potential to create great things without the Flash IDE.


#4910140 A* speed issues (C++)

Posted by ssrun on 06 February 2012 - 08:06 AM

As stated use a heap based priority queue to store the open list. Do not use a closed list at all, just store a flag on each tile representing whether it's open, closed or neither. Only clear the cost and parent pointers on the tile when you visit it for the first time in a particular A* session so that would mean encapsulating the algorithm in a class with a static variable that always increments a search id. Use hierarchical pathfinding A*. Hope that helps.


#4910041 Efficiency of know algorithms?

Posted by ssrun on 05 February 2012 - 09:59 PM

You might want to look in to Hierarchical Pathfinding A* (HPA*). Secondly, it is quicker to store the open list in a heap based priority queue as opposed to a linked list. Your algorithm is extremely slow because you're potentially looping through thousands of entries to find the lowest cost node. As you insert nodes into the open and closed list, you should flag the nodes as being in the list so that you never have to search. Another point to think about is that the costs and parent pointers for the nodes need to be cleared when the next AI entity begins it's A* search. A quick way to handle this is to use a static variable to give each A* request a unique id and then tag each node with the current search id when it's visited for the first time in that search instance.


PARTNERS