Giter Site home page Giter Site logo

verdant-octo-spork's People

Contributors

aodl avatar chinghp avatar redbearsam avatar shirakaba avatar syreniac avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

verdant-octo-spork's Issues

Folder re-org: regeneratable 'junk' files

Recommended to remove the various /bin/ folders from version control (do git ignore and git remove on them) and instead host each binary build as a 'release', as /bin/ is regeneratable so is effectively clutter that we don't need. @Syreniac

Also don't know what the .o files are for; do we need them under version control? @Syreniac

Collision Detection does not reflect the graphics accurately

The nature of SDL drawing images from the top left corner means that the simple collision detection used in game_objects.c and specifically the checkResourceNodeCollision() function is not reflective of the graphical positions of the ProgrammableWorkers.

Minimap conflicts with the AI panel if both are open at once

I have a plan as to how to deal with this, but it will take a fair bit of work in refactoring the UI backend,

I don't think it will effect how people use it particularly, it's just about how arguments are passed into the UIAction_() functions

Folder re-org: changing makefiles to accept 'assets' folder inside /prototype/

Recommend placing an 'assets' folder inside /prototype/, from which all images and programmableAI texts are taken (à la my CMakelists.txt – a Mac OS X makefile – which points to an 'assets' folder); I think they're currently being taken from codeAColony/src/images, but I'm not sure. How are the prototype makefiles locating the images to output to bin? I see no reference to a /images/ folder in the makefiles. If you'd be happy to merge my branch, you'd get my suggested structure, but you'd need to change your makefiles to point to the assets folder. @Syreniac

resourceNodes (flowers) should have constant height and width (20,20) but they keep getting set to zero

I have even explicitly set there rect.w and rect.h values to 20 when they are created (this shouldn't need to be done because they get these values from the image that is loaded). But somewhere they get set to zero. This might be a similar problem to the bee, which kept getting crazy values for height and width because they were getting clipped when they flew off the screen. This was solved by sending a copy of their rect to the rendering function and not their actual rect (so that clipping changes were not permanent). A similar thing might need to be done for flowers.

Draggable block: mouse-up unregistered.

If you're dragging the block when you move out of the expanded block it plays in, when you move back inside, the mouse is registered as still held down. This is minutia, but clearly we want it dropped either when

a) you move out of bounds.

or b) when you release the mouse button.

One of these. I'll play with it a bit tonight.

Add SDL_image and link to it in makefiles for all platforms, for PNG support

https://www.libsdl.org/projects/SDL_image/

Note: Linux doesn't seem to have an official SDL_image release corresponding to SDL2, but someone may have made one (perhaps SDL2_image-2.0.0.tar.gz on https://www.libsdl.org/projects/SDL_image/ ? or this..? https://www.archlinux.org/packages/extra/i686/sdl2_image/ ) ; we'll have to have a chat about that. All other platforms have an SDL2-compatible SDL_Image, at least.

The updates between SDL_image and SDL2_image are inconsequential to our uses, so as long as it's backwards compatible (it might not be), we could even investigate just using SDL_image for Linux.

Objects don't rotate to reflect their actual heading.

Now that we have a render based system rather than a surface/blit system, we can do some extra magic to make various transformations of our images happen.

The most obvious is to change SDL_RenderCopy() to SDL_RenderCopyEx() in the graphics function that draws all our game objects, and giving it an extra argument representing the desired rotation.

Documentation would be nice

Our code is currently almost completely undocumented. Having people go through and add comments to all the functions and keep a record of exactly what we have would be good.

Creating a basic menu screen would be good.

Making a basic menu screen is a little tricky, but goes a long way towards making our program seem more polished.

Start by writing a function in init.c (and add the topline to init.h) that will loop and check events until someone presses a key, and returns once they've pressed it. Then add that function call to the main() function in main.c, in between initialise() and gameStart().

There is no UI.

Currently there is not even any code to try and display a UI. Ideally we will fix this soon(™).

Windows makefile is broken

The windows makefile is missing several parts that are required to get it to compile.

E.g. adding -lSDL_image to the LFLAGS.

Out of bounds problem

The latest fix to the out of bounds function hasn't worked. I believe it was in fact correct to use a '-' as opposed to a '+'. The problem I think actually lies in the fact that the value representing the height and width of the programmableWorker actually changes throughout the game. This shouldn't be the case, but it is. I've used printf and every time the programmable worker gets near the borders of the world, his width and height values change weirdly and randomly, then they change back to normal again as he moves away from the border. I'll try to find out why this is and fix the issue

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.