Jump to content
  • Advertisement

Edgar Reynaldo

  • Content Count

  • Joined

  • Last visited

Community Reputation

117 Neutral

About Edgar Reynaldo

  • Rank

Personal Information


  • Github

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Edgar Reynaldo

    Hex based territory game

    Hello all, just looking for some ideas on what kinds of things to include in my new game. It's just a prototype of a hex based territory game with mechanics based on income and points. Currently 3 players (red, green, and blue) take turns placing a tile to claim part of a new territory. Each round consists of one turn, at the end of which score is calculated based on income. A tile that is owned gives you 4 points income. An owned tile next to another owned tile grants you 2 bonus points income. For each border territory you influence you gain 1 additional point. The idea is to place your tiles so that you get the most points and your enemies get the least. Hover and LMB tile placement are all you need to play this game. As an aside, I've looked at the freeware game Hex War and it's got combat. I was going to include something of the sort, based on your influence being the number of dice you can roll when attacking a neighboring territory. Top row is score, bottom row is income per round. Fully static win32 exe can be found here : https://github.com/EdgarReynaldo/EagleGUI/blob/master/distro/hex.7z What are some ideas for developing this game further? Source can be found under Hex.cpp and hexsrc\ here : https://github.com/EdgarReynaldo/EagleGUI/tree/master/EagleTest To build you need Eagle and Allegro5, CMake, and right now the Hex game builds with a CB project. Will change to cmake soon. I just found a couple minor scoring bugs, so keep tuned for an update. Happy programming trails! Edgar
  2. Edgar Reynaldo

    Fog of war (large texture overlay?)

    I'm surprised no one mentioned this, but something you could try is to keep a history of where the player has visited, and fully redraw the light over a regular screen sized texture. You could use a deque, and erase 'old' data. Instead of storing the result, you store the process which leads to the result. My 2c.
  3. Edgar Reynaldo

    Allegro Lives! Try it today!

    Has anyone tried the example programs? There are 127 different example programs that come with my binary distribution. Some need the command line, but many are stand alone. Just download the binaries and run the RunA524Examples.bat file to setup the runtime environment. You'll be placed in the examples directory by default. If I could get at least 3 different people to try allegro, that would be awesome.
  4. Edgar Reynaldo

    Recommendations on rolling your own tech

    If you want low level, try Vulkan. 900 lines for a triangle. Next up the chain is OpenGL, DirectX, etc... Both take lots of setup and learning to use by themselves. Next up is Allegro, SDL, SFML, etc.... They provide an easy interface to use OpenGL and DirectX as well as lots of different niceties. I wouldn't suggest going any lower level than this. Above that are Engines and Frameworks like you've been using. Ogre3D, Unity, UE, etc.... These are high level libraries with specific pros and cons I'm not familiar with. You've already gone this route, and you want to learn more, so I would suggest moving down a level. Libraries like SDL, Allegro, SFML, etc... let you use OpenGL and DirectX alongside your application, so you can learn it as slowly or as quickly as you like. Studying these libraries can also give you good ideas on how to implement lower level programming. This is what I would recommend. I recommend you try out binary example programs from each library you are considering. I provide binaries with examples, demos, and tests included for Allegro 4 and 5 and you can find them here : Allegro Lives! Try it today! EDIT Actually, I should also mention things like GLEW and GLUT, which give you quick and easy ways to get going with OpenGL, but I think ultimately they will limit what you can do.
  5. Edgar Reynaldo

    How to enable scripting in my engine

    There's lots of options. Check out this SO thread on the topic : https://stackoverflow.com/questions/145270/calling-c-c-from-python
  6. Edgar Reynaldo

    Allegro Lives! Try it today!

    Blink and you miss a decade or two anymore these days.... Here is Allegro 4 described on the allegro wiki : https://wiki.allegro.cc/index.php?title=Allegro_4 Here is the website for modern day Allegro 5 (and 4 as well) - https://liballeg.org/index.html Allegro 3.X as you knew it developed into Allegro 4. Allegro 4.2 was the last version to support DOS. After that all the assembly was removed (or at least difficult to re-enable) and Allegro 4.4.2 was the last stable version of Allegro 4 that was released. Allegro 4.4 saw the integration of the separate AllegroGL library into a supported addon along with logg, loadpng, and jpegalleg. After that Allegro development moved to the unstable 4.9 branch, which was the precursor to Allegro 5 proper. It completely integrated OpenGL and DirectX into its library. Modern day Allegro 5 supports DX and GL directly alongside allegro code. It provides hardware acclerated bitmap drawing, transformations, blenders, shaders, primitives, and support for vertex buffers and FBO. On the other side of allegro you get event driven input from keyboard, joystick, mouse, and touch API support. There is support for true type and bitmap font drawing, as well as multimedia support for bmp, jpg, png, tga, and support for more image formats. Supported video formats at this time are .ogv and audio supports .ogg and .wav. Allegro's build system is cmake, and cmake-gui makes it super easy to configure and build allegro these days if you don't want to use pre-made binaries. Welcome to 2018. Give allegro a try, it's fun! It's a cool breeze on a summer day... My binaries come with pre-built examples, demos, tests, and more. They're dynamically linked and the dlls are in a different directory, so run the script that comes with them to setup the proper environment to run the examples. Or just move the examples or dlls. I did this to save space in the archive. Unoffical Allegro 5 binaries for Windows
  7. Edgar Reynaldo

    Allegro Lives! Try it today!

    Allegro 5 has changed significantly from Allegro 4. They are totally different libraries. They both do the same thing, but go about it in seriously different ways. Allegro 4 is no longer under development, so you'd be on your own if you wanted to do the DOS / Rhide / DJGPP thing. But AllegroGL is one of the only ways to get hardware accelerated graphics under DOS.
  8. Edgar Reynaldo

    How to enable scripting in my engine

    While I love getting down and dirty with code, there's something to be said about higher level languages. I would much prefer Ruby or Python over LUA. Does anyone here have any experience binding them to C++?
  9. Edgar Reynaldo

    Recommendations on rolling your own tech

    Personally I've used Allegro for over a decade, and it lets me do everything I want to without getting in the way. If you're looking for a lower level API with good documentation and lots of freedom, Allegro 5 is a good choice. I can't speak for other libs I've never used. You can use OpenGL and DX right alongside allegro, and there is support for shaders. https://liballeg.org . You get hardware acceleration, multimedia support, and event driven input, along with filesystem and archive support. I would warn you though, that SDL, Allegro, etc... are all pretty low level. You're going to be missing a lot of functionality that comes from an engine or a framework. I've been developing my GUI library and extensions to allegro for a while now, and there's still plenty I would add.
  10. Edgar Reynaldo

    How to enable scripting in my engine

    I'm interested in this topic as well. I'd like to add Python or Ruby scripting to my GUI library. PyBind11 and SWIG seemed like natural choices to make the connection between C++ and the scripting language but I haven't really had time to explore these options much. Basically I just need something to make the bindings without generating a giant mess. I don't really like LUA much. Too much like assembler code with all the pushing and popping junk on the stack. LUA lacks the high level constructs I want in my scripting engine.
  11. Edgar Reynaldo

    Allegro Lives! Try it today!

    @Valach Sorry I didn't see your reply it was hidden underneath ads. Tomasu's spam assassin nuked some pages I had made and I haven't recreated them yet, I've had other problems with the wiki too, but I should be able to edit again. I re-made most of that page a while ago. But the links at the top lead to empty wiki pages. If your zlib is named differently, by all means pass a different name to the linker. Same goes for other libraries. You can see my full compile guide for Allegro 5 on my website here : http://members.allegro.cc/EdgarReynaldo/BuildA5.html Then follow the setup for CB with the appropriate libraries and directories specified.
  12. This should all be a simple matter of vector addition. if (player.WalkRight() || player.WalkLeft()) { double sign = player.WalkRight()?1.0:-1.0; player.acceleration = sign*camera.RightVector.Normalize()*(player.WalkForce()/player.Mass())*SecondsPerFrame(); } /// Repeat for up/down and forward/backward ///... Now change the players velocity player.velocity += player.acceleration; player.position += player.velocity;
  13. Edgar Reynaldo

    Allegro Lives! Try it today!

    The forum is maintained by Matthew Leverton. Suffice it to say, he's been quite busy with RL. You can reach him by PM on allegro.cc. Which manuals are you referring to? I have two up to date manuals for Allegro 4.4.3 and Allegro 5.2.4 in CHM format. https://bitbucket.org/bugsquasher/unofficial-allegro-5-binaries/downloads/Allegro443.chm https://bitbucket.org/bugsquasher/unofficial-allegro-5-binaries/downloads/Allegro524.chm You're very welcome. Stop by the forums and say hello!
  14. Edgar Reynaldo

    Allegro Lives! Try it today!

    Historically (I'm speaking of a few years ago) the Raspberry PI port worked. I don't know what happened, but newer models versions of the PI totally broke the graphics drivers. It was building on the PI since Trent G ported it to PI in 2013 ( https://www.allegro.cc/forums/thread/611802/975070#target ) . As of the beginning of the last year it was actually working, and working pretty well on the PI 2 and 3 for martinohanlon : ( https://www.allegro.cc/forums/thread/616673/1027519#target ) . He made a complete game called Mayhem 2 ( https://github.com/martinohanlon/mayhem-pi ) . @Chris Katko Weren't you involved in a thread about issues with the PI 2 and 3 being totally slow? Do you remember what the issue was or the thread where we discussed that? Here it is : https://www.allegro.cc/forums/thread/617378 and the issue on the rpi forums https://www.raspberrypi.org/forums/viewtopic.php?t=191791 Here's what he came up with for possible solutions : https://www.allegro.cc/forums/thread/617378/1037321#target
  15. Edgar Reynaldo

    Should timers in an engine be on separate threads?

    In my GUI library I have a separate thread for each timer, but there is rarely more than one. The timers emit events, which can be caught by anyone listening to the timer. Then you simply update or call back or whatever you want based on the seconds passed per tick. The allegro game programming library uses a single thread to manage all timers, but like I said you rarely need more than one to three timers, and you can always base it on the least common factor of the three to achieve the same thing.
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!